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 = 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
總結
這些是在日常操作中會使用到的參數。當然你總可以輸入 man ls 或者 ls --help 來查詢ls的手冊頁
via: http://linoxide.com/linux-command/linux-ls-command/
譯者: geekpi 校對: wxy
本文由 LCTT 原創翻譯,Linux中國榮譽推出