在 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   可以通過這個命令檢視具體某個時間段做過修改的檔案或目錄 (個人常用)