Linux常用命令04 - ls

ls 命令是任何 Linux 用戶都應該知道的基本命令之一。 它用於列出有關文件系統中的文件和目錄的信息。 ls 實用程序是安裝在所有 Linux 發行版上的 Linux/Linux/Linux GNU核心工具組包的一部分。

在本教程中,我們將通過實際例子和最常見的 ls 選項的詳細說明,向您展示如何使用 ls 命令。

如何使用ls Command 命令

ls 命令的語法如下:

ls [OPTIONS] [FILES]

2b98f2
當沒有選項和參數時,ls 會顯示當前工作目錄中所有文件的名稱列表:

ls

這些文件被列在字母順序文檔中:

若要列出特定目錄中的文件,請將路徑作爲參數傳遞給 ls 命令。 例如,要列出/etc 目錄的內容,您可以鍵入:

ls /etc

您還可以將多個目錄和文件傳遞給以空格分隔的 ls 命令:

ls /etc/var /etc/passwd

如果你登錄的用戶沒有讀取該目錄的權限,你會得到一條消息說 ls 不能打開該目錄:

ls /root
ls: cannot open directory '/root': Permission denied

ls 命令有許多選項。在下面的部分中,我們將探討最常用的選項。

單純的list

ls 命令的默認輸出只顯示文件和目錄的名稱,這沒有提供很多信息。

-l (小寫l)選項使 ls 以長列表格式打印文件。

當使用長列表格式時,ls 命令將顯示以下文件信息:

文件類型

  • 文件權限
  • 指向文件的硬鏈接數
  • 文件所有者
  • 文件組
  • 文件大小
  • 日期及時間
  • 檔案名稱

考慮下面的例子:

ls -l /etc/hosts
-rw-r--r--  1 root  wheel  372  3  7 23:56 /etc/hosts

fKIfjQ
讓我們解釋一下輸出中最重要的列。

第一個字符顯示文件類型。 在我們的示例中,第一個字符是-,表示一個常規文件。 其他文件類型的值如下:

  • - 普通檔案
    b - 阻塞特殊文件
    c - 字符特殊文件
    d - 目錄
    l - 符號鏈接
    n - 網絡檔案

p - 先進先出法
s - 插座

接下來的九個字符顯示文件權限。 前三個字符用於用戶,後三個字符用於組,最後三個字符用於其他用戶。 您可以使用 chmod 命令更改文件權限。 權限字符可以具有以下值:

r - 讀取文件的權限
w - 寫入文件的權限
x - 執行文件的權限
s - setgid 位
t - 粘性鑽頭

在我們的示例中,rw-r -- r -- 意味着用戶可以讀寫文件,組和其他用戶只能讀取文件。 權限字符後面的數字1是指向該文件的硬鏈接的數量。

接下來的兩個字段 root 顯示文件所有者和組,後面是文件的大小(337) ,以字節爲單位顯示。 如果要以人類可讀的格式打印大小,請使用 -h 選項。 您可以使用 chown 命令更改文件所有者。

10月4日11:31是最後一次修改文件的日期和時間。

最後一列是文件的名稱。

顯示隱藏文件

默認情況下,ls 命令不會顯示隱藏文件。 在 Linux 中,隱藏文件是任何以點(.)開頭的文件 .

要顯示包括隱藏文件在內的所有文件,請使用-a 選項:

ls -la ~/
drwxr-x--- 10 linuxize  linuxize  4096 Feb 12 16:28 .
drwxr-xr-x 18 linuxize  linuxize  4096 Dec 26 09:21 ..
-rw-------  1 linuxize  linuxize  1630 Nov 18  2017 .bash_history
drwxr-xr-x  2 linuxize  linuxize  4096 Jul 20  2018  bin
drwxr-xr-x  2 linuxize  linuxize  4096 Jul 20  2018  Desktop
drwxr-xr-x  4 linuxize  linuxize  4096 Dec 12  2017 .npm
drwx------  2 linuxize  linuxize  4096 Mar  4  2018 .ssh

對輸出進行排序

如前所述,默認情況下 ls 命令列出了字母順序文件。

排序選項允許你根據擴展、大小、時間和版本對輸出進行排序:

--sort=extension(或-X ) 按擴展名的字母順序排序
--sort=size /(或-S) 按文件大小排序
--sort=time (或-t)按修改時間排序
--sort=version /(或-v) 版本號自然排序

如果希望以相反的排序順序獲得結果,請使用-r 選項。

例如,根據修改時間對/var 目錄中的文件按相反的排序順序進行排序:

ls -ltr /var

UCDB6B
值得一提的是,ls 命令沒有顯示目錄內容佔用的總空間。 使用 du 命令獲取目錄的大小。

遞歸列出子目錄

R 選項告訴 ls 命令遞歸地顯示子目錄的內容:

ls -R

lONFXk

小結

ls 命令列出有關文件和目錄的信息。
有關 ls 的詳細信息,請訪問 GNU Coreutils 頁面或在終端中鍵入 man ls。

https://www.gnu.org/software/coreutils/manual/html_node/ls-invocation.html#ls-invocation

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章