Linux中國

ls命令的20個實用範例

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 = Kilobyte
M = Megabyte
G = Gigabyte
T = Terabyte
P = Petabyte
E = Exabyte
Z = Zettabyte
Y = 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

$ ls --sort=extension

17. 通過修改時間列出

使用-t選項會按修改時間排序,新的文件在前。

$ ls -lt

18. 列出你的主目錄

要列出你的主目錄,你可以用"~"(波浪號)來代表它。這樣你就不必輸入完整的目錄名。讓我們假設家文件名為/home/pungki,那麼波浪號就對/home/pungki有意義了。

$ ls ~

19. 列出父目錄

無論你在那個目錄,你可以列出父目錄而不必輸入完整路徑。這是個例子。

$ ls ../

這回列出1層之上的目錄內容。

$ ls ../../

這回列出2層之上的目錄內容(譯註:可不支持「...」來代表2層之上)。

20. 列印ls命令版本

使用--version參數列印它。

$ ls --version

總結

這些是在日常操作中會使用到的參數。當然你總可以輸入man ls 或者 ls --help 來查詢ls的手冊頁

via: http://linoxide.com/linux-command/linux-ls-command/

譯者:geekpi 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國

    Linux中國

    DevOps 將去向何方?

    微軟、谷歌、亞馬遜、IBM 和甲骨文如今都在關注云上的 DevOps。這些大公司正在給企業提供 IT 自動化的服務。然而,DevOps 仍然在持續的演進中。DevSecOps、AIOps 和 NoOps 正在成為下一個流行詞。