Linux 上 ls 命令的 20 個(gè)實(shí)用范例
來自:Linux中國
譯者:geekpi
校對:wxy
鏈接:https://linux.cn/article-2535-1.html
大家好,歡迎來到 Crossin的編程教室 !
Linux中一個(gè)基本命令是 ls。沒有這個(gè)命令,我們會在瀏覽目錄條目時(shí)會遇到困難。這個(gè)命令必須被每個(gè)學(xué)習(xí)Linux的人知道。
ls是什么
ls命令用于列出文件和目錄。默認(rèn)上,他會列出當(dāng)前目錄的內(nèi)容。帶上參數(shù)后,我們可以用ls做更多的事情。這里是一些在日常操作中使用到的ls用法的示例。

1. 不帶參數(shù)運(yùn)行l(wèi)s
不帶參數(shù)運(yùn)行l(wèi)s會只列出文件或者目錄。看不到其他信息輸出(譯注:有時(shí)候你發(fā)現(xiàn)無參數(shù)的ls命令和這里描述的不同,那有可能是你的ls命令實(shí)際上帶參數(shù)的ls別名)。
$ ls

2. 使用長清單模式
使用-l字符(小寫L字符),會顯示當(dāng)前目錄內(nèi)容的長列表。在接下來的例子中,我們會結(jié)合-l參數(shù)(這個(gè)參數(shù)經(jīng)常使用)來得到更好的結(jié)果。
$ ls -l

這里是如何讀取輸出 :
第1列
第一個(gè)字母d意味著內(nèi)容是目錄或者文件。在上面的截圖中,Desktop、 Documents、 Downloads 和 lynis-1.3.8是目錄。如果是’-‘(減號),這意味著它的內(nèi)容是文件。當(dāng)它是l(小寫l字符),意味這內(nèi)容是鏈接文件。
下面的9個(gè)字符是關(guān)于文件權(quán)限。前3個(gè)rwx字符是文件的擁有者的權(quán)限,第二組3rwx是文件的所有組的權(quán)限,最后的rwx是對其他人訪問文件的權(quán)限。
第2列?這行告訴我們有多少鏈接指向這個(gè)文件。
第3列?這行告訴我們誰是這個(gè)文件/文件夾的所有者。
第4列?這行告訴我們誰是這個(gè)文件/文件夾的所有組。
第5列?這行告訴我們這個(gè)文件/文件夾的以字節(jié)為單位的大小。目錄的大小總是4096字節(jié)。
第6列?這告訴我們文件最后的修改時(shí)間。
第7列?這告訴我們文件名或者目錄名。
3. 顯示文件大小
以字節(jié)為單位看大小可能會不方便。6.5M讀起來比6727680字節(jié)更簡單。要這么做,我們可以使用-h與-l結(jié)合的參數(shù)。-h參數(shù)意味著便于人識別。
$ ls -lh

另外一個(gè)可以這么做的參數(shù)是–si。這個(gè)參數(shù)和-h參數(shù)類似,但是-si以1000為單位,而-h以1024為單位。
$ ls -si

4. 排序文件大小
在我們可以顯示文件大小之后,我們希望以文件大小排序。我們可以使用-S參數(shù)來這么做。這列表會從大到校排序。
$ 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中,以”.”(點(diǎn)號)開頭的文件是隱藏文件。為了在ls命令中顯示它,我們可以使用-a選項(xiàng)。
$ ls -a

7. 只列出目錄條目
如果我們希望只列出目錄,我們可以使用-d選項(xiàng)。
$ ls -d */

8. 不打印所有者信息
要這么做,我們使用-g選項(xiàng)。
$ ls -g

9. 不打印組信息
-g隱藏了擁有者信息,—G會隱藏組信息。
$ ls -lG

10. 打印UID和GID
如果你想以數(shù)字方式列出項(xiàng)的所有者和所有組(即UID和GID),我們可以帶-n選項(xiàng)使用ls命令。這里是個(gè)例子。
$ ls -n

從上面的例子中,我們知道用戶pungki的UID是100,GID是1000,而root組的GID是0。
11. 不帶顏色打印
一些Linux發(fā)行版已經(jīng)對ls命令啟用彩色。這會使ls以各種顏色打印列表。如果你不想要這樣,你可以使用?–color=never 參數(shù)。
$ ls –color=never

12. 打印每個(gè)文件的索引號
為了打印索引或者大家俗稱的inode號,我們可以使用-i選項(xiàng)。索引號會顯示在第一列。
$ ls -li

13. 增加 / (斜線) 標(biāo)記目錄
要這么做,使用-p選項(xiàng)。
$ ls -p

14. 排序時(shí)反轉(zhuǎn)順序
你或許需要在列出條目時(shí)反轉(zhuǎn)順序。要這么做,你可以使用-r選項(xiàng)。
$ ls -r

15. 遞歸列出子目錄
帶-R參數(shù)后,你可以列出包含它子目錄的目錄。
$ ls -R

16. 擴(kuò)展名排序
你可以使用-X參數(shù)或者–sort=extension來通過擴(kuò)展名來排序(譯注:這樣對于篩選不同類型的文件很有用)。
$ ls -lX
或
$ ls –sort=extension

17. 通過修改時(shí)間列出
使用-t選項(xiàng)會按修改時(shí)間排序,新的文件在前。
$ ls -lt

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

19. 列出父目錄
無論你在那個(gè)目錄,你可以列出父目錄而不必輸入完整路徑。這是個(gè)例子。
$ ls ../
這回列出1層之上的目錄內(nèi)容。
$ ls ../../
這回列出2層之上的目錄內(nèi)容(譯注:可不支持“…”來代表2層之上)。

20. 打印ls命令版本
使用–version參數(shù)打印它。
$ ls –version

總結(jié)
這些是在日常操作中會使用到的參數(shù)。當(dāng)然,你也可以隨時(shí)輸入man ls 或者 ls –help 來查詢ls的手冊頁,了解更詳細(xì)的用法。
_往期文章推薦_
