Linux遞歸統(tǒng)計(jì)當(dāng)前目錄下普通文件的數(shù)量:
ls -lR |grep "^-"|wc -l
或者:
ls -lR | grep -c "^-"
遞歸統(tǒng)計(jì)方式: ls -lR
Linux常見的文件類型有:普通文件、目錄文件、字符設(shè)備文件和塊設(shè)備文件、符號(hào)鏈接文件等,其中:
1 普通文件的文件權(quán)限第一個(gè)字符為"-"
2 目錄文件的文件權(quán)限第一個(gè)字符為"d"
3 字符設(shè)備文件的文件權(quán)限第一個(gè)字符為"c";
4 塊設(shè)備文件的文件權(quán)限第一個(gè)字符為"b"
5 符號(hào)鏈接文件的文件權(quán)限第一個(gè)字符為"s"
另一種思路:
用find命令,效率比grep高很多:
find ./ -type f | wc -l
說(shuō)明
./ 意思是查詢當(dāng)前目錄下對(duì)應(yīng)的文件
wc -l wc命令(word characters)統(tǒng)計(jì)文件字符數(shù),參數(shù) "-l" 是統(tǒng)計(jì)行數(shù)
man命令中對(duì)于"-type f"中的"f"參數(shù)的解釋如下:
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)
查看當(dāng)前目錄下的文件夾目錄個(gè)數(shù)(不包含子目錄中的目錄):
ls -l | grep "^d" | wc -l
查詢當(dāng)前目錄下所有目錄及子目錄個(gè)數(shù):
ls -lR | grep "^d" | wc -l
grep "^d"表示目錄,"^-"表示普通文件
舉個(gè)例子:
查詢當(dāng)前路徑下的指定前綴名的目錄下的所有文件數(shù)量
# 例如:統(tǒng)計(jì)所有以“20161124”開頭的目錄下的全部文件數(shù)量
ls -lR 20161124*/ | grep "^-" | wc -l
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。