linux命令之----ls命令查詢檔案的所有者、許可權、時間、大小等資訊
1、ls命令作用
ls命令用於顯示指定工作目錄下之內容(列出目前工作目錄所含之檔案及子目錄)
2、ls命令結構
drwxr-xr-x 2 root root 4.0K 3月 23 2017 etc
“d” 表示檔案的型別為目錄
“rwx” 表示檔案所有者的許可權:r是讀,w是寫,x是執行
“r-x” 表示檔案所有者所在同一個組的使用者所具有的許可權
“r-x”
表示檔案其他使用者所具有的許可權
“2”是純數字
,表示 檔案連結個數
第一個“root” 表示檔案的所有者
第二個“root”
表示為檔案的所在群組
“4.0K”,表示為檔案長度(大小)
“3月
23 2017
“etc”
表示檔案的名稱
3、語法
ls [-alrtAFR][name...]
- -a 顯示所有檔案及目錄 (ls內定將檔名或目錄名稱開頭為"."的視為隱藏檔,不會列出)
- -l 除檔名稱外,亦將檔案型態、許可權、擁有者、檔案大小等資訊詳細列出
- -r 將檔案以相反次序顯示(原定依英文字母次序)
- -t 將檔案依建立時間之先後次序列出
- -A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)
- -F 在列出的檔名稱後加一符號;例如可執行檔則加 "*", 目錄則加 "/"
- -R 若目錄下有檔案,則以下之檔案亦皆依序列出
1. 不帶引數執行ls
不帶引數執行ls會只列出檔案或者目錄。看不到其他資訊輸出(譯註:有時候你發現無引數的ls命令和這裡描述的不同,那有可能是你的ls命令實際上帶引數的ls別名)。
$ ls
2. 使用長清單模式使用-l字元(小寫L字元),會顯示當前目錄內容的長列表。在接下來的例子中,我們會結合-l引數(這個引數經常使用)來得到更好的結果。
$ ls -l
這裡是如何讀取輸出 :
第1列
第一個字母 d 意味著內容是目錄或者檔案。在上面的截圖中,Desktop、 Documents、 Downloads 和 lynis-1.3.8是目錄。如果是'-'(減號 ),這意味著它的內容是檔案。當它是l( 小寫l字元第2列 這行告訴我們有多少連結指向這個檔案。
第3列 這行告訴我們誰是這個檔案/資料夾的所有者。
第4列 這行告訴我們誰是這個檔案/資料夾的所有組。
第5列 這行告訴我們這個檔案/資料夾的以位元組為單位的大小。 目錄的大小總是4096位元組。
第6列 這告訴我們檔案最後的修改時間。
第7列 這告訴我們檔名或者目錄名。
3. 顯示檔案大小以位元組為單位看大小可能會不方便。6.5M讀起來比6727680位元組更簡單。要這麼做,我們可以使用-h與-l 結合的引數。-h引數意味著便於人識別 。
$ ls -lh
另外一個可以這麼做的引數是 --si 。這個引數和-h引數類似,但是-si以1000為單位,而-h以1024為單位 。
$ ls -si
4. 排序檔案大小在我們可以顯示檔案大小之後,我們希望以檔案大小排序。我們可以使用-S引數來這麼做。這列表會從大到校排序。
$ ls -lhS
5. 測量大小ls可以通過使用 -block-size=SIZE 改單位大小。這裡的SIZE是:
K = KilobyteM = MegabyteG = GigabyteT = TerabyteP = PetabyteE = ExabyteZ = ZettabyteY = Yottabyte
比如,我們希望使用MB作為單位大小。所以語法就會像這樣:
$ ls -l --block-size=M
6. 顯示隱藏檔案
在Linux中,以"."( 點號 )開頭的檔案是隱藏檔案。為了在ls命令中顯示它,我們可以使用-a 選項。
$ ls -a
7. 只列出目錄條目
如果我們希望只列出目錄,我們可以使用 -d 選項。
$ ls -d */
8. 不列印所有者資訊
要這麼做,我們使用 -g 選項。
$ ls -g
9. 不列印組資訊
-g隱藏了擁有者資訊, —G 會隱藏組資訊。
$ ls -lG
10. 列印UID和GID
如果你想以數字方式列出項的所有者和所有組(即UID和GID),我們可以帶-n 選項使用ls命令。這裡是個例子。
$ ls -n
從上面的例子中,我們知道 使用者pungki的UID 是100,GID是1000 ,而 root組的GID是0 。
11. 不帶顏色列印一些Linux發行版已經對ls命令啟用彩色。這會使ls以各種顏色列印列表。如果你不想要這樣,你可以使用--color=never 引數。
$ ls --color=never
12. 列印每個檔案的索引號
為了列印索引或者大家俗稱的inode號,我們可以使用-i選項。索引號會顯示在第一列。
$ ls -li
13. 增加 / (斜線) 標記目錄
要這麼做,使用 -p選項 。
$ ls -p
14. 排序時反轉順序
你或許需要在列出條目時反轉順序。要這麼做,你可以使用 -r 選項。
$ ls -r
15. 遞迴列出子目錄
帶 -R 引數後,你可以列出包含它子目錄的目錄。
$ ls -R
16. 副檔名排序
你可以使用-X引數或者--sort=extension來通過副檔名來排序(譯註:這樣對於篩選不同型別的檔案很有用)。
$ ls -lX
或
17. 通過修改時間列出
使用-t選項會按修改時間排序,新的檔案在前。
$ ls -lt
18. 列出你的主目錄
要列出你的主目錄,你可以用"~"( 波浪號 )來代表它。這樣你就不必輸入完整的目錄名。讓我們假設家檔名為/home/pungki ,那麼 波浪號 就對/home/pungki有意義了。
$ ls ~
19. 列出父目錄
無論你在那個目錄,你可以列出父目錄而不必輸入完整路徑。這是個例子。
$ ls ../
這回列出 1 層之上的目錄內容。
$ ls ../../
這回列出 2 層之上的目錄內容(譯註:可不支援“...”來代表2層之上)。
20. 列印ls命令版本
使用--version引數列印它。
$ ls --version