1. 程式人生 > >linux命令之----ls命令查詢檔案的所有者、許可權、時間、大小等資訊

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 若目錄下有檔案,則以下之檔案亦皆依序列出
4、例項

1. 不帶引數執行ls

不帶引數執行ls會只列出檔案或者目錄。看不到其他資訊輸出(譯註:有時候你發現無引數的ls命令和這裡描述的不同,那有可能是你的ls命令實際上帶引數的ls別名)。

$ ls

2. 使用長清單模式

使用-l字元(小寫L字元),會顯示當前目錄內容的長列表。在接下來的例子中,我們會結合-l引數(這個引數經常使用)來得到更好的結果。

$ ls -l

這裡是如何讀取輸出 :

第1列

第一個字母 d 意味著內容是目錄或者檔案。在上面的截圖中,Desktop、 Documents、 Downloads 和 lynis-1.3.8是目錄。如果是'-'(減號 ),這意味著它的內容是檔案。當它是l( 小寫l字元
),意味這內容是連結檔案。 下面的9個字元是關於檔案許可權。前3個rwx 字元是檔案的擁有者的許可權, 第二組3rwx 是檔案的所有組的許可權, 最後的rwx 是對其他人訪問檔案的許可權。

第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