Linux遞歸統計當前目錄下普通文件的數量

Linux遞歸統計當前目錄下普通文件的數量:
ls -lR |grep "^-"|wc -l
或者:
ls -lR | grep -c "^-"
遞歸統計方式: ls -lR
Linux常見的文件類型有:普通文件、目錄文件、字符設備文件和塊設備文件、符號鏈接文件等,其中:
1 普通文件的文件權限第一個字符爲"-"
2 目錄文件的文件權限第一個字符爲"d"
3 字符設備文件的文件權限第一個字符爲"c";
4 塊設備文件的文件權限第一個字符爲"b"
5 符號鏈接文件的文件權限第一個字符爲"s"


另一種思路:
用find命令,效率比grep高很多:
find ./ -type f | wc -l
說明
./ 意思是查詢當前目錄下對應的文件
wc -l wc命令(word characters)統計文件字符數,參數 "-l" 是統計行數


man命令中對於"-type f"中的"f"參數的解釋如下:
File is of type c:
b      block (buffered) special
c      character (unbuffered) special
d      directory
p      named pipe (FIFO)
f      regular file
l      symbolic link; this is never true if the -L option or the -follow option is in effect,
unless  the symbolic link is broken.  If you want to search for symbolic links when -L
is in effect, use -xtype.
s      socket
D      door (Solaris)




查看當前目錄下的文件夾目錄個數(不包含子目錄中的目錄):
ls -l | grep "^d" | wc -l
查詢當前目錄下所有目錄及子目錄個數:
ls -lR | grep "^d" | wc -l


grep "^d"表示目錄,"^-"表示普通文件


舉個例子:
查詢當前路徑下的指定前綴名的目錄下的所有文件數量
# 例如:統計所有以“20161124”開頭的目錄下的全部文件數量
ls -lR 20161124*/ | grep "^-" | wc -l
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章