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