盡管不是很經(jīng)常需要知道,但有時您需要找出指定目錄中有多少個文件。例如,Linux系統(tǒng)inodes用完,則需要查找哪個目錄包含成千上萬個文件。
在本教程中,我們將向您展示如何在Linux使用wc命令統(tǒng)計目錄文件。
統(tǒng)計目錄中文件的最簡單方法是使用ls
命令,每行列出一個文件,然后將標準輸出通過管道傳遞到wc
命令以統(tǒng)計行數(shù)。
例如命令ls -1U DIR_NAME | wc -l
將為您提供所有文件的總和,包括目錄和符號鏈接。
-1
選項表示每行列出一個文件,-U
指示ls
不要對輸出進行排序,這會使命令的執(zhí)行更快。ls -1U
命令不計算隱藏文件。
ls -1U DIR_NAME | wc -l
如果您只想計算文件而不包括目錄,請運行命令ls -1Up DIR_NAME | grep -v / | wc -l
。
ls -1Up DIR_NAME | grep -v / | wc -l
-p
選項強制ls
將斜杠/
指示符附加到目錄。輸出通過管道傳遞到grep -v
命令,該命令不包含目錄。
除了使用ls命令之外,還可以使用find
命令,對目錄與文件進行統(tǒng)計。例如命令find DIR_NAME -maxdepth 1 -type f | wc -l
將會統(tǒng)計目錄DIR_NAME
包含的文件數(shù)量。
-type f
選項指示find
命令僅搜索文件,包括隱藏文件。并且-maxdepth 1
將搜索限制到第一級目錄。
然后將find命令的標準輸出通過管道|
,傳遞給wc -l
命令進行統(tǒng)計,從而達到統(tǒng)計文件數(shù)量的目的。
find DIR_NAME -maxdepth 1 -type f | wc -l
tree find 命令遞歸統(tǒng)計目錄文件
要遞歸統(tǒng)計目錄中的文件,請運行命令find DIR_NAME -type f | wc -l
,find
命令將遞歸命令搜索DIR_NAME目錄文件并進行統(tǒng)計。
另一個可用于計數(shù)文件的命令是tree
,它以樹狀格式列出目錄的內容。tree
命令輸出的最后一行將顯示列出的文件和目錄總數(shù)。
find DIR_NAME -type f | wc -l
tree DIR_NAME
15144 directories, 91311 files
結論
我們向您展示了如何使用ls
,find
和tree
命令對目錄中的文件進行統(tǒng)計計數(shù)。
-
Linux
+關注
關注
87文章
11292瀏覽量
209322 -
文件
+關注
關注
1文章
565瀏覽量
24727 -
命令
+關注
關注
5文章
683瀏覽量
22011
發(fā)布評論請先 登錄
相關推薦
評論