如果一個目錄中文件數(shù)不是很多,那就可以一眼看出其中有多少個文件。但是如果計算子目錄在內的文件數(shù)呢?或者如果文件數(shù)量很多,比如幾百上千個,那么怎么確切地知道該目錄下的文件數(shù)呢?
今天我們總結一下查看 linux 中目錄下文件數(shù)量的方法。
方法1:使用 ls 和 wc 命令
最簡單的方法是使用 wc 命令來計算文件數(shù)。如下所示:
ls | wc -l
上述命令將會計算所有文件和目錄,但不包括隱藏的文件和目錄。如果想要將隱藏的文件和目錄也包括在內,可以在 ls 命令后添加 -A 選項,不過這不會將目錄 . 以及 .. 計算在內。
ls -A | wc -l
如果只想計算當前目錄中的文件數(shù)(包括隱藏文件),可以使用如下組合命令:
ls -Ap | grep -v /$ | wc -l
上述命令中:
- ls 命令的 -p 選項在目錄名稱的末尾添加 /;
- ls 命令的 -A 選項會列出所有文件和目錄,包括隱藏的文件,但是不包括 . 和 .. ;
- grep -v /$ 只顯示文件末尾不帶 / 的條目(即只顯示文件);
- wc -l 計算數(shù)量。
也就是說,使用 ls 命令列出所有文件和目錄(在目錄名的末尾添加 / 以將其與文件做個區(qū)分),然后使用管道重定向將其輸出使用?? grep 解析???,??grep 命令??只顯示末尾沒有 / 的條目,最后使用 wc 命令計算條目數(shù)量。
方法2:使用 tree 命令計算目錄中的文件數(shù)
除了使用 ls 和 wc 命令以外,還可以使用 tree 命令顯示當前目錄及其所有子目錄中的文件數(shù)。如下所示:
tree -a
如上圖所示,在最后一行顯示了文件和目錄的數(shù)量,這是包括了隱藏的文件和目錄的(因為 -a 選項)。
如果只想獲取當前目錄中的文件數(shù),而不需要計算子目錄,可以設置級別 1,如下所示:
tree -a -L 1
方法3:使用 find 命令計算目錄中的文件數(shù)
??find 命令??在處理文件相關的問題時,總是很有用的。
要計算目錄中的文件數(shù),首先使用 find 命令獲取所有文件,然后使用 wc 命令計算數(shù)量。如下所示:
find directory_path -type f | wc -l
上述命令中 -type -f 選項表示只查找文件。
如果不希望從子目錄中獲取文件,請將find命令的范圍限制在級別1,即當前目錄。如下所示:
find . -maxdepth 1 -type f | wc -l
以上就是本次分享全部內容,歡迎討論。