Linux ls命令詳解

請關注本頭條號,每天堅持更新原創乾貨技術文章。
如需學習視頻,請在微信搜索公眾號“智傳網優”直接開始自助視頻學習

1. 前言

本文主要詳細講解Linux ls命令的日常使用方法。

每當需要在Linux的命令行上查看目錄的內容時,都會使用ls命令。它列出了按字母順序排列的內容。

雖然這是該工具的基本用法,但它提供了大量特性(以命令行選項的形式),可以在幾種情況下幫助您。在本教程中,我們將通過一些易於理解的示例來討論這些命令行選項的用法。

2. 如何查看隱藏的文件或目錄

ls命令默認情況下不顯示隱藏的文件/目錄。但是,您可以使用-a選項強制工具這樣做。因此,要列出當前目錄中的所有文件/目錄(包括隱藏的文件/目錄即名稱以點'.'開頭的文件/目錄),請運行以下命令:

ls
Linux ls命令詳解

如何查看隱藏的文件或目錄

3. ls命令查看文件輸出結果忽略當前目錄(.)和上一層的目錄(..)

當使用-a命令行選項時,當前目錄(.)和上一層目錄(..)也會出現。如果希望ls在輸出中不顯示這些,可以使用-A選項。

Linux ls命令詳解

ls命令查看文件輸出結果忽略當前目錄(.)和上一層的目錄(..)

以上輸出中,沒有顯示當前目錄(.)及上一層目錄(..)

4. 如何以相反的順序顯示文件名或目錄名

默認情況下,ls命令按字母順序顯示輸出中的文件。但是如果您有需要,您還可以使該工具以相反的順序顯示文件。為此,您必須使用該工具的-r命令行選項。

ls -r
Linux ls命令詳解

如何以相反的順序顯示文件或或目錄名

通過上圖,你可以看到zcwyou.rar這個文件顯示在前面。

5. 如何根據文件擴展名對ls命令輸出進行排序

要根據文件擴展名按字母順序排列ls命令輸出,請使用-X命令行選項。

Linux ls命令詳解

如何根據文件擴展名對ls命令輸出進行排序

上圖中可以看到,排序是按文件後綴名首字母的反順序顯示的。

6. 如何根據修改時間對文件進行排序

如果您想快速知道最近修改了哪些文件或目錄,那麼可以使用ls命令的-t選項。

ls -t

-t選項首先顯示最新最新修改的目錄或目錄。

按時間排列文件並顯示詳細信息

ls -lt
Linux ls命令詳解

按時間排列文件並顯示詳細信息

上圖中,第一個文件是最新的。

7. 如何遞歸列出當前目錄子目錄所有的文件

如果需要,還可以讓ls命令顯示子目錄的內容。這可以使用-R命令行選項來完成。

ls -R 
Linux ls命令詳解

如何遞歸列出當前目錄子目錄所有的文件

上圖使用ls -R命令顯示/etc/httpd及其子目錄裡所有的文件。

8.如何列出文件名及其inode編號

ls命令還允許列出文件/目錄名稱及其各自的inode編號。該工具提供-i命令行選項來訪問該特性。

ls -i
Linux ls命令詳解

如何列出文件名及其inode編號

通過上圖可以看出,文件名前面帶數字,是Linux文件的inode編號

9. 如何顯示文件和目錄的詳細信息

ls命令還可以打印關於文件和目錄的詳細信息。要啟用這種輸出格式(也稱為長清單格式),需要使用-l命令行選項。

Linux ls命令詳解

如何顯示文件和目錄的詳細信息

正如您在上面的屏幕截圖中所看到的,輸出分為8列。以下是這些欄目傳達的信息:


第一列顯示文件權限
第二列顯示硬鏈接的數量
第三個和第四個是所有者名和組名
第五是文件大小
第六和第七是最後修改的日期和時間
最後一個是文件的名稱。

10. 如何顯示作者信息

在生成長格式目錄清單時,還可以要求ls命令列出每個文件的作者。為此,必須將—author選項與-l組合。

ls -l --author
Linux ls命令詳解

如何顯示作者信息

正如您在上面的屏幕截圖中所看到的,新添加的第五列是針對作者的。

注意:GNU官方網站說:“在GNU/Hurd中,文件作者可以與他們的所有者不同,但是在其他操作系統中,兩者是相同的。”

11. 如何打印非圖形字符的c樣式轉義(如換行和空格)

假設當前目錄包含一個名稱具有換行字符的文件。如果嘗試列出該目錄的內容,則會顯示包含問號(?)的特定文件名,該問號(?)表示不可打印字符。

但是,ls命令提供了一個選項,當使用該選項時,可以為不可打印的字符打印c樣式的轉義字符。問題中的選項是-b。

因此,您可以在上面的屏幕截圖中看到,-b選項導致ls為換行字符打印“\\n”。類似地,在這種模式下,空格由'[space]'表示。

Linux ls命令詳解

如何打印非圖形字符的c樣式轉義(如換行和空格)

留意上圖new file.txt這個文件,表明名字名中有空隔。

12. 如何以字節以外的單位打印文件大小

如果您想知道文件的大小,就必須使用前面第3點中討論的-l選項(它支持長清單格式)。默認情況下,大小以字節顯示。然而,在某些情況下,您可能想要以千字節或兆字節為單位的大小。

ls命令有一個選項,允許您指定要顯示文件大小的單元。例如,如果希望以千字節為單位顯示大小,可以運行以下命令:

ls -l --block-size=k [file-name]

請記住,使用-l命令行選項生成的大小是實際的文件大小,或者數據的大小。如果您想知道文件系統上文件的大小或分配的大小(它可以是不同的),那麼您必須使用-s命令。

ls -s --block-size=k [file-name]

13. 如何使`ls`在輸出結果中只顯示文件名和文件大小

如果希望ls命令輸出只包含文件/目錄名及其各自的大小,那麼可以使用-h選項和-l或-s命令行選項組合使用。

例如:

ls -l -h

14. 如何使`ls`命令不在輸出結果中列出備份文件

在Linux中,備份文件用以波浪號(~)結尾的名稱表示。ls命令提供了一個選項(-B),如果你有需要,您可以使用該選項要求工具不要在輸出中列出備份文件。

Linux ls命令詳解

如何使ls命令不在輸出結果中列出備份文件

15. 使用`ls`命令顯示文件分類

使用-F顯示文件分類:

Linux ls命令詳解

使用ls命令顯示文件分類

上圖輸出結果中,文件名後面帶一些符號,以下是它們所表明的信息:

@表示符號鏈接


*表示可執行文件
=表示套接字文件
|表示一個命名管道
>表示一扇門
/表示一個目錄

16. 如何更改`ls`命令輸出格式

如果需要,還可以更改ls命令的輸出格式。該工具的--format選項允許您這樣做。此選項要求您傳遞一個值,該值指示您想要的輸出格式類型。可用的值有:“verbose”或“long”、“逗號”、“horizontal”或“across”、“vertical”和“single-column”。

例如,當需要逗號分隔的輸出時,使用--format=commas:

Linux ls命令詳解

文件以逗號分隔的形式顯示

通過上面的命令可以看到,文件以逗號分隔的形式顯示。

類似地,當您希望輸出顯示在單個列中時,使用--format=single-column

Linux ls命令詳解

文件以分行的形式顯示

通過上圖可以看到,文件以分行的形式顯示。

17. 如何使用`ls`使用隱藏特定類型的文件

如果有需要,還可以強制ls命令在輸出中隱藏特定類型的文件。--hide選項(需要傳遞一個shell模式)允許您這樣做。例如,如果不希望工具在輸出中不顯示.txt文件,應該運行以下命令:

ls --hide=*.txt

下面的屏幕截圖顯示了沒有和帶有--hide選項的輸出。

Linux ls命令詳解

如何使ls命令隱藏特定類型的文件

通過上圖可以看到,執行第二條命令顯示出來的結果並沒有帶.txt文件。

18. 結論

雖然ls是一個非常基本的命令,但是如何有效地使用它取決於用戶對該工具提供的命令行選項的瞭解程度。請嘗試我們在本教程中討論的選項,如果有任何疑問或查詢,請訪問手冊頁面。

本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下鏈接:
https://www.linuxrumen.com/rmxx/1310.html

點擊瞭解更多,快速查看更多的技術文章列表。


分享到:


相關文章: