Linux 指令: 用ls 列出目錄及檔案數量
用ls搭配grep 看權限開頭是- 再用awk去處理如下:
1) 顯示檔案數目:
ls -laR |grep "^-" |awk 'END{print "Number of files:"NR}'
2) 顯示目錄數目:
ls -laR |grep "^d" |awk 'END{print "Number of directories:"NR}'
-----------------------------------------------------------------
1) 包含子目錄及內?不是指子目錄也算檔案數目?
2) 隱藏檔是否算?
3) 特殊檔 (s, c, b) 是否算?
4) 符號連結是否算?
如果單純 "只" 針對普通檔:
ls -lR /path/to/dir | grep '^-' | wc -l
含隱藏檔:
ls -laR /path/to/dir | grep '^-' | wc -l
含隱藏檔、符號連結、Charactor、Block :
ls -laR /path/to/dir | grep '^[-lcb]' | wc -l
--------------------------------------------------------------
Linux 指令 ─ ls《List》
ls 指令是用來顯示檔案和目錄,和 MS-DOS 的 dir 指令類似,在新版的顯示上預設就會顯示色彩【如果你的沒有顯示的話,可以加上 --color 的參數】,色彩說明如下:
顏色 說明
藍色 目錄
綠色 執行檔
紅色 壓縮檔
黃色 裝置檔
淺藍色 連結檔
暗紅色 管線
白色 文字檔
參數 說明
-a, --all 顯示所以檔案和目錄,包含 . 開頭的檔案
-F, --classify 顯示類型符號
-h, --human-readable 以 k, m, g 顯示容量,需搭配 -l 或 -o
-H, --si 和 -h 功能相同,只是計量單位為 1K = 1000 Bytes
-l 列出詳細資料
-R 一併顯示子目錄