ls
命令是任何 Linux 用戶都應該知道的基本命令之一
。 它用於列出有關文件系統中的文件和目錄的信息。 ls
實用程序是安裝在所有 Linux 發行版上的 Linux/Linux/Linux GNU核心工具組包的一部分。
在本教程中,我們將通過實際例子和最常見的 ls 選項的詳細說明,向您展示如何使用 ls 命令。
如何使用ls Command 命令
ls
命令的語法如下:
ls [OPTIONS] [FILES]
當沒有選項和參數時,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
讓我們解釋一下輸出中最重要的列。
第一個字符顯示文件類型。 在我們的示例中,第一個字符是-,表示一個常規文件。 其他文件類型的值如下:
-
普通檔案
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
值得一提的是,ls 命令沒有顯示目錄內容佔用的總空間。 使用 du 命令獲取目錄的大小。
遞歸列出子目錄
R 選項告訴 ls 命令遞歸地顯示子目錄的內容:
ls -R
小結
ls
命令列出有關文件和目錄的信息。
有關 ls 的詳細信息,請訪問 GNU Coreutils 頁面或在終端中鍵入 man ls。
https://www.gnu.org/software/coreutils/manual/html_node/ls-invocation.html#ls-invocation