Linux 中的 ls 命令使用教程
對我個人而言,ls
無疑是 最常被使用的 Linux 命令,因為我們總是借助它 列出目錄內(nèi)的內(nèi)容 來檢驗上一步操作的結(jié)果。
ls
命令是 “列表List” 的縮寫,其功能就是列出你指定目錄下的所有內(nèi)容。
我將在本教程中,通過一系列的實例,帶你一步步掌握 ls
命令的使用。
另外也會給出一些練習(xí)題,以檢驗?zāi)愕膶W(xué)習(xí)成果。
如何運用 ls 命令
要使用 ls
命令,你只需遵循以下簡單的命令格式:
ls [OPTIONS] Targeted_Directory
這里,
[OPTIONS]
:用來改變 ls 命令的默認行為。Targeted_Directory
:在這里輸入目錄名或目錄的絕對路徑。
你可能會想,如果沒有任何選項地使用 ls
命令會發(fā)生什么。為了回答這個問題,我在當(dāng)前工作目錄中使用了 ls
命令:
使用 ls 命令列出工作目錄的內(nèi)容
使用 ls 命令列出工作目錄的內(nèi)容
如你所見,它列出了當(dāng)前工作目錄中所有可用的目錄和文件。但你可以做的遠不止于在當(dāng)前工作目錄中獲取名稱和文件。
接下來讓我給你展示一下。
1、列出帶有所有權(quán)的文件和目錄
ls
命令的重要用途之一就是查出具體的文件或目錄的權(quán)限以及所有權(quán)信息。
這就需要你在使用 ls
命令時,帶上 -l
選項(這也被稱為長列表格式):
ls -l
執(zhí)行該命令后,你會看到類似的輸出:
$ ls -lh
-rwxrw-r-- 1 sagar sagar 666M Dec 10 18:16 Fedora.iso
注意到我是同時使用了 –h
選項嗎?我們稍后會詳細說明這個。
如果目前為止的輸出結(jié)果看起來太復(fù)雜,那就讓我來幫你簡化一下:
利用 ls 命令在 Linux 中解讀文件權(quán)限和所有權(quán)
如你所見,每個文本塊都有特定的含義,它們分別對應(yīng)文件擁有者、組和其他用戶的各項權(quán)限。
對于想對文件權(quán)限有更深入理解的朋友,我推薦你閱讀 我們關(guān)于 Linux 文件權(quán)限的詳盡指南。
2、獲取以人類可讀的方式顯示的信息
默認狀態(tài)下,文件大小以字節(jié)為單位顯示,顯然不是最佳的查閱方式。那如果想以更易讀的方式來得知相同的信息,我們怎么做呢?
其實很簡單。你只需使用 -h
選項與 ls
命令配合:
ls -l -h
接下來,我們比較下默認顯示狀態(tài)和可讀性更強的顯示方式的區(qū)別:
以人類可讀的方式通過 ls 命令列出文件
明顯更好了,對吧?
?? 盡管
ls
命令很好地展示了文件大小,但它并不能告訴你文件夾的大小,普遍情況都會顯示為 4K(LCTT 譯注:這其實是“目錄”這個文件所占用的大小,而不是該目錄下文件的總計大小。)。如果需要了解文件夾的大小,那么你可以嘗試使用du
命令。
3、列出隱藏文件
和其他所有文件管理器一樣,ls
命令在默認情況下并不會顯示隱藏文件(這正是隱藏文件的意義所在,對吧?)。
那么,如果你期望在常規(guī)文件之外,一并 列出隱藏文件 呢?只需在使用 ls
命令時帶上 -a
選項就行:
ls -a
你會注意到,以 .
開頭的文件名就是所謂的隱藏文件。
用 ls 命令在 Linux 終端列出隱藏文件
?? 你還可以使用
ls -A
,它的功能與ls -a
類似,但它不包括.
和..
這兩個目錄。
4、遞歸列出文件
事實上,有 多種方法可以遞歸列出文件,使用 ls
命令就是其中之一。
如果你還不清楚,遞歸列出文件就是指展示所有子目錄中的文件,直到每個子目錄的最深層次。
你可以通過使用 -R
參數(shù)來遞歸列出文件:
ls -R
在 Linux 中使用 ls 命令遞歸列出文件
這種方式實際上為你展示了當(dāng)前目錄的結(jié)構(gòu),我個人非常喜歡這種方式,但你需要先進行安裝。
?? 其實你并不需要進入某個目錄才能查看其內(nèi)容,你可以直接通過提供它的絕對路徑或相對路徑來列出目錄內(nèi)容,比如:
ls /var/log
。
5、在使用 ls 時對文件和目錄做區(qū)分
通常,不同的顏色就足以區(qū)分文件和目錄。但是如果你基于某種原因需要給文件和目錄添加符號標(biāo)識,這就有一個辦法。
在 ls
命令中,使用 -F
選項,它會在每個目錄名末尾添加一個正斜杠 /
:
ls -F
使用 ls 命令在文件和目錄間做區(qū)分
6、列出指定擴展名的文件
有些情況下,你可能只希望列出具有特定擴展名的文件,實際上,這是最簡單的操作之一。
做到這一點,你無需使用任何選項。只需在星號 *
后附上文件擴展名,如 *.png
,*.txt
等:
ls *.extension
例如,如果我只想列出 ISO 文件,那么我將使用以下命令:
ls *.iso
列出特定擴展名的文件
7、基于大小對輸出內(nèi)容排序
若希望基于文件大小來對輸出內(nèi)容排序,你需要使用 -S
選項,它會以從大到小的方式(降序)列出文件:
ls -lhS
使用 ls 命令基于文件大小排序
相反,如果你想顛倒這個順序,使得最小的文件首先被列出,你可以利用 -r
選項來實現(xiàn)反向排序:
ls -lhSr
使用 ls 命令從小到大排序文件
8、根據(jù)日期和時間排序文件
ls
命令在列出的內(nèi)容中包括文件的修改時間。
如果你希望最新的文件最先被列出,可以使用 -t
選項,如下所示:
ls -lht
使用 ls 命令最先列出最新文件
你也可以像我前面提到的那樣,在這里使用 -r
選項進行反轉(zhuǎn)排序。
ls -lrt
這會使得最近修改的文件在列表的底部顯示,當(dāng)目錄中存在大量文件,而你希望查看最近被修改過的文件時,這一命令會特別有用。我在解決我的軟件項目問題時就經(jīng)常用到它。
使用 ls -lrt 命令
讓我們來總結(jié)一下至此你已經(jīng)學(xué)習(xí)到的!
下面,我會共享一個表列出本教程中介紹過的一些與 ls
命令一起使用的選項:
命令 | 描述 |
| 長格式列出文件和目錄 |
| 以人類可讀的方式顯示信息 |
| 在列出的內(nèi)容中包括隱藏文件 |
| 遞歸列出文件 |
| 在目錄名后添加正斜杠 |
| 列出具有特定擴展名的文件 |
| 根據(jù)文件大小排序 |
| 根據(jù)修改時間排序 |
| 反轉(zhuǎn)排序順序(與 |
??? 并練習(xí)你所學(xué)
實踐你所學(xué)總是一個好主意,這就是我們在每一份終端指南中都試圖添加實踐部分的原因。
所以,這里有一些關(guān)于 ls
命令的簡單練習(xí):
- 列出
/var/log
的內(nèi)容 - 將命令的輸出 保存到名為
output.txt
的文件中 - 找出最近的 3 個文件(使用基于時間的排序)
- 基于大小顯示文件,但排序方式要反轉(zhuǎn)
- 檢查是否存在任何隱藏文件
這些練習(xí)對你來說會很有幫助。期待之后更多關(guān)于 Linux 命令的學(xué)習(xí)。
如果你是初次接觸終端,別忘了關(guān)注我們的終端基礎(chǔ)系列。
祝你日有進益 ??