在 Linux 系統當中,這個 ls 命令可能是最常見被執行的。因為我們都要知道檔案或者目錄的相關資訊。不過,我們 Linux 的檔案所記錄的資訊實在太多了,ls 沒有需要全部都列出來。所以,當你執行 ls 時,預設顯示的只有 “非隱藏檔名、以檔名進行排序及檔名代表的顏色顯示” 。
命令格式:
ls [OPTION]… [FILE]…
引數:
-a/–all 列出目錄下所有檔案, 包括開頭為”.” 的隱藏檔案;
-A/–almost-all 同-a, 但不列出當前目錄 (.) 與當前目錄的父目錄 (..);
-c 配合 -lt, 根據 ctime(檔案最後修改額時間) 排序;
-d/–directory 僅列出目錄本身,而不是目錄內的檔案資料 (常用);
-D/–dired 產生適合 Emacs 的 dired 模式使用的結果;
-f 直接列出結果,而不進行排序 (預設以檔名排序);
-F 根據檔案、目錄等資訊給予附加資料結構,例如:
* 代表可執行檔案 / 代表目錄 @ 代表連結
= 代表 socket 檔案 | 代表 FIFO 檔案
-g 類似-l, 但不列出所有者;
-G/–no-group 不列出任何有關組的資訊;
-h/–human-readable 將檔案容量以易讀的方式 (GB 、 KB 、 M) 列出來,預設位元組;
–si 類似於-h, 但檔案大小取 1000 的次方而不是 1024;
-i/–inode 列出 inode 號碼;
-I/–ignore=PATTERN(樣式) 不印出任何符合 shell 萬用字元<樣式>的專案;
-k 以 k 位元組的形式表示檔案的大小;
-l 以長格式列出檔案屬性與許可權等資訊;
-L/–dereference 但顯示符號連結檔案資訊時, 顯示符號連結所指的物件而非符號連結本身的資訊;
-m 所有檔案/目錄以逗號”,” 分隔
-n/–numeric-uid-gid 列出 UID 與 GID;
-N/–literal
-o 類似與-l, 顯示檔案的除組資訊外的詳細資訊;
-r/–reverse 將排序結果反向輸出;
-R/–recursive 遞迴顯示目錄內容,等於該目錄下所有檔案都顯示出來;
-s/–size 以塊大小為單位列出所有檔案的大小;
-S 以檔案容量大小排序,而非檔名排序;
-t 依時間排序,而非檔名;
-u 以訪問時間排序, 配合-lt 顯示訪問時間且依訪問時間排序
-U 不進行排序, 依檔案系統原有的次序列出專案;
-v 根據版本進行排序;
-w/–width=COLS 自行指定螢幕寬度而不使用目前的數值-w N(數字, 規定寬度);
-x 逐行列出專案而不是逐欄列出;
-X 根據副檔名排序;
-1(數字) 每行只列出一個檔案;
–help 顯示幫助資訊離開;
–version 顯示版本資訊並離開
–color=never 不要依據檔案特效給予顏色顯示;
–color=always 顯示顏色;
–color=auto 讓系統自行依據設定判斷是否給予顏色;
–full-time 以完整時間顯示 (包括年月日);
–time=(atime,ctime) 輸出訪問時間或改變許可權屬性時間
常見組合:
ls -a/-A : 顯示隱藏檔案;
ls –full-time : 顯示完整時間;
ls -R : 遞迴顯示相目錄內容;
ls -ld : 顯示目錄本身屬性;
ls -lh : 以易讀的容量單位 (K 、 M 、 G) 列出所有專案;
ls -lrt: 以時間反向排序, 對於站羣服務器管理員, 每日檢視近期修改的檔案或目錄, 該命令就很實用了;
ls -F /etc | grep /$ : 只列出檔案下的子目錄;
ll –full-time -crt | grep 2016-07-12 可以通過這個命令檢視具體某個時間段做過修改的檔案或目錄 (個人常用)