如何在Linux中對目錄中的文件進行計數

儘管不是很經常,但是有時您需要找出給定目錄中有多少個文件。 例如,如果您的Linux系統上的inode用盡了,則需要查找哪個目錄包含數千或數百萬個文件。

在本文中,我們將向您展示在Linux中查找目錄中文件數量的幾種不同方法。

計算目錄號中的文件

計算目錄中文件的最簡單方法是每行列出一個文件 ls 並將輸出通過管道傳輸到 wc 計算行數:

ls -1U DIR_NAME | wc -l

上面的命令將為您提供所有文件的總和,包括目錄和符號鏈接。 的 -1 選項表示每行列出一個文件,並且 -U 告訴 ls 不要對輸出進行排序,這會使命令的執行更快。

ls -1U 該命令不計算隱藏文件(點文件)。

如果只想計算文件而不包括目錄,請使用以下命令:

ls -1Up DIR_NAME | grep -v / | wc -l

-p 選擇權 ls 附加斜線(/)指示符。 輸出通過管道傳輸到 grep -v 排除目錄的命令。

要更好地控制列出的文件,請使用 find 命令代替 ls

find DIR_NAME -maxdepth 1 -type f | wc -l

-type f 選項告訴 find 僅列出文件(包括點文件),並且 -maxdepth 1 將搜索限制到第一級目錄。

遞歸計算目錄號中的文件

要遞歸計數目錄中的文件,請運行 find 命令如下:

find DIR_NAME -type f | wc -l

可以用來計數文件的另一個命令是 tree 以樹狀格式列出目錄的內容:

tree DIR_NAME

輸出的最後一行將顯示列出的文件和目錄的總數:

15144 directories, 91311 files

結論#

我們已經向您展示了如何使用 lsfindtree 命令。

如果您有任何疑問或反饋,請隨時發表評論。

查找wc ls樹終端

Sidebar