作者 | Magesh Maruthamuthu
譯者 | suncle
嗨,夥計們,今天我們再次帶來一系列可以多方面幫助到你的複雜的命令。 透過操作命令,可以幫助您計數當前目錄中的檔案和目錄、遞迴計數,統計特定使用者建立的檔案串列等。
在本教程中,我們將向您展示如何使用多個命令,並使用 ls
、egrep
、wc
和 find
命令執行一些高階操作。 下麵的命令將可用在多個方面。
為了實驗,我打算總共建立 7 個檔案和 2 個檔案夾(5 個常規檔案和 2 個隱藏檔案)。 下麵的 tree
命令的輸出清楚的展示了檔案和檔案夾串列。
# tree -a /opt
/opt
├── magi
│ └── 2g
│ ├── test5.txt
│ └── .test6.txt
├── test1.txt
├── test2.txt
├── test3.txt
├── .test4.txt
└── test.txt
2 directories, 7 files
示例-1
統計當前目錄的檔案(不包括隱藏檔案)。 執行以下命令以確定當前目錄中有多少個檔案,並且不計算點檔案(LCTT 譯註:點檔案即以“.” 開頭的檔案,它們在 Linux 預設是隱藏的)。
# ls -l . | egrep -c '^-'
4
細節:
ls
: 列出目錄內容-l
: 使用長串列格式.
: 列出有關檔案的資訊(預設為當前目錄)|
: 將一個程式的輸出傳送到另一個程式進行進一步處理的控制運運算元egrep
: 列印符合樣式的行-c
: 通用輸出控制'^-'
: 以“-”開頭的行(ls -l
列出長串列時,行首的 “-” 代表普通檔案)示例-2
統計當前目錄包含隱藏檔案在內的檔案。 包括當前目錄中的點檔案。
# ls -la . | egrep -c '^-'
5
示例-3
執行以下命令來計數當前目錄的檔案和檔案夾。 它會計算所有的檔案和目錄。
# ls -l | wc -l
5
細節:
ls
: 列出目錄內容-l
: 使用長串列格式|
: 將一個程式的輸出傳送到另一個程式進行進一步處理的控制運運算元wc
: 這是一個統計每個檔案的換行符、單詞和位元組數的命令-l
: 輸出換行符的數量示例-4
統計當前目錄包含隱藏檔案和目錄在內的檔案和檔案夾。
# ls -la | wc -l
8
示例-5
遞迴計算當前目錄的檔案,包括隱藏檔案。
# find . -type f | wc -l
7
細節 :
find
: 搜尋目錄結構中的檔案-type
: 檔案型別f
: 常規檔案wc
: 這是一個統計每個檔案的換行符、單詞和位元組數的命令-l
: 輸出換行符的數量示例-6
使用 tree
命令輸出目錄和檔案數(不包括隱藏檔案)。
# tree | tail -1
2 directories, 5 files
示例-7
使用包含隱藏檔案的 tree
命令輸出目錄和檔案計數。
# tree -a | tail -1
2 directories, 7 files
示例-8
執行下麵的命令遞迴計算包含隱藏目錄在內的目錄數。
# find . -type d | wc -l
3
示例-9
根據檔案副檔名計數檔案數量。 這裡我們要計算 .txt
檔案。
# find . -name "*.txt" | wc -l
7
示例-10
組合使用 echo
命令和 wc
命令統計當前目錄中的所有檔案。 4
表示當前目錄中的檔案數量。
# echo *.* | wc
1 4 39
示例-11
組合使用 echo
命令和 wc
命令來統計當前目錄中的所有目錄。 第二個 1
表示當前目錄中的目錄數量。
# echo */ | wc
1 1 6
示例-12
組合使用 echo
命令和 wc
命令來統計當前目錄中的所有檔案和目錄。 5
表示當前目錄中的目錄和檔案的數量。
# echo * | wc
1 5 44
示例-13
統計系統(整個系統)中的檔案數。
# find / -type f | wc -l
69769
示例-14
統計系統(整個系統)中的檔案夾數。
# find / -type d | wc -l
8819
示例-15
執行以下命令來計算系統(整個系統)中的檔案、檔案夾、硬連結和符號連結數。
# find / -type d -exec echo dirs \; -o -type l -exec echo symlinks \; -o -type f -links +1 -exec echo hardlinks \; -o -type f -exec echo files \; | sort | uniq -c
8779 dirs
69343 files
20 hardlinks
11646 symlinks
via: https://www.2daygeek.com/how-to-count-the-number-of-files-and-folders-directories-in-linux/
作者:Magesh Maruthamuthu[2] 譯者:Flowsnow 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出