Linux、Mac統計文件夾下的文件數目


注:本文出自博主 Chloneda個人博客 | 博客園 | Github | Gitee | 知乎

本文源鏈接https://www.cnblogs.com/chloneda/p/linux-count-file.html

最近需要統計 Linux 系統中某個文件夾下的文件數目,而Linux 系統下有三個命令:ls、grep、wc。通過這三個命令的組合,可以實現上述要求!

統計當前目錄下文件的個數(不包括目錄)

$ ls -l | grep "^-" | wc -l

遞歸統計當前目錄下文件的個數(包括子目錄)

$ ls -lR| grep "^-" | wc -l

查看某目錄下文件夾的個數(不包括子目錄)

$ ls -l | grep "^d" | wc -l

遞歸查看某目錄下文件夾的個數(包括子目錄)

$ ls -lR | grep "^d" | wc -l

查看某目錄下文件夾和文件的個數(不包括子目錄)

$ ls -l | grep "^[-|d]" | wc -l

遞歸查看某目錄下文件夾和文件的個數(包括子目錄)

$ ls -lR | grep "^[-|d]" | wc -l

參數說明

  • ls -l:長列表輸出該目錄下文件信息,每一行對應一個文件或目錄,ls -lR 是遞歸列出所有文件,包括子目錄。
  • grep "^-":過濾ls的輸出信息,一般文件是"-"開頭的,目錄是"d"開頭的。
  • wc -l:統計輸出信息的行數,統計結果就是輸出信息的行數,一行信息對應一個文件,所以就是文件的個數。

值得注意的是:Linux文件是有類型的,我們統計的時候,通過正確的命令才能獲得我們想要的結果。在Linux中可以使用以下命令查看文件類型。

ls -l path

在顯示文件的屬性通常會以如下形式進行顯示:

drwxr-xr-x
  • 第1個字母:代表文件類型
  • 第2~4字母:代表用戶的權限
  • 第5~7字母:代表用戶組的權限
  • 第8~10字母:代表其他的用戶的權限

在Linux常見的文件類型有7種,分別如下所示:

文件屬性 文件類型
- 常規文件,即file
d 目錄文件
b block device 即塊設備文件,如硬盤;支持以block為單位進行隨機訪問
c character device 即字符設備文件,如鍵盤支持以character為單位進行線性訪問
l symbolic link 即符號鏈接文件,又稱軟鏈接文件
p pipe 即命名管道文件
s socket 即套接字文件,用於實現兩個進程進行通信

以上信息靈活運用,可以正確幫助大家獲得自己想要的統計結果!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM