歡迎光臨
每天分享高質量文章

ls 命令還能這麼玩?看一下這 20 個實用範例

作者:Linux中國

來源:見文末

Linux中一個基本命令是ls。沒有這個命令,我們會在瀏覽目錄條目時會遇到困難。這個命令必須被每個學習Linux的人知道。


ls是什麼


ls命令用於列出檔案和目錄。預設上,他會列出當前目錄的內容。帶上引數後,我們可以用ls做更多的事情。這裡是一些在日常操作中使用到的ls用法的示例。



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的手冊頁。


英文:Pungki Arianto,翻譯:Linux中國/geekpi

linux.cn/article-2535-1.html

《Linux雲端計算及運維架構師高薪實戰班》2018年07月16日即將開課中,120天衝擊Linux運維年薪30萬,改變速約~~~~

    *宣告:推送內容及圖片來源於網路,部分內容會有所改動,版權歸原作者所有,如來源資訊有誤或侵犯權益,請聯絡我們刪除或授權事宜。

    – END –


    更多Linux好文請點選【閱讀原文】

    ↓↓↓

    贊(0)

    分享創造快樂