如何出目錄中的文件和子目錄 ? Linux ls 指令 3 分鐘教學與範例介紹




在Linux系統中,ls指令是一個關鍵工具,用於列出目錄中的文件和子目錄。本文將深入介紹 ls 指令的不同用法,包括列表顯示、排序和篩選,以及其他選項,以幫助你更好地管理和查看文件系統。

基本用法

參數描述
ls列出當前目錄中的所有文件和子目錄。
ls /path/to/dir列出指定目錄的內容。

範例

基本的 ls 用法

$ ls 

文件1.txt 文件2.txt 目錄1 目錄2

列出特定目錄

$ ls /path/to/directory 

文件3.txt 文件4.txt 子目錄1 子目錄2

列表顯示

參數描述
ls -l以列表視圖顯示文件和目錄的詳細信息,包括權限、所有者等。
ls -a顯示所有文件,包括隱藏文件(以點開頭)。
ls -lh可讀的格式顯示文件大小(例如1K、2M)。

範例

列表

$ ls -l 

總計 16 
-rw-r--r-- 1 user user 1234 9月 12 10:00 文件1.txt 
-rw-r--r-- 1 user user 5678 9月 12 10:01 文件2.txt 
drwxr-xr-x 2 user user 4096 9月 12 10:02 目錄1 
drwxr-xr-x 2 user user 4096 9月 12 10:03 目錄2

顯示隱藏文件

$ ls -a

. .. .隱藏文件1 .隱藏文件2 文件1.txt 文件2.txt 目錄1 目錄2

可讀的格式顯示文件大小

$ ls -lh 

總計 16K 
-rw-r--r-- 1 user user 1.2K 9月 12 10:00 文件1.txt 
-rw-r--r-- 1 user user 5.6K 9月 12 10:01 文件2.txt 
drwxr-xr-x 2 user user 4.0K 9月 12 10:02 目錄1 
drwxr-xr-x 2 user user 4.0K 9月 12 10:03 目錄2

排序和篩選

參數描述
ls -t按照修改時間進行排序。
ls -r以反向順序列出文件。
ls -R遞歸列出子目錄中的內容。
ls -ltr按照修改時間反向排序並以列表視圖顯示。
ls -lS按照文件大小排序並以列表視圖顯示。

範例

按時間排序

$ ls -t 

文件2.txt 文件1.txt 目錄2 目錄1

反向排序

$ ls -r 

目錄2 目錄1 文件2.txt 文件1.txt

遞歸列出子目錄中的內容

$ ls -R 

.: 
文件1.txt 文件2.txt 目錄1 目錄2 

./目錄1: 
子文件1.txt 子文件2.txt 

./目錄2: 
子文件3.txt 子文件4.txt

按照修改時間反向排序並以列表視圖顯示

$ ls -ltr 

總計 16 
-rw-r--r-- 1 user user 5678 9月 12 10:01 文件2.txt 
-rw-r--r-- 1 user user 1234 9月 12 10:00 文件1.txt 
drwxr-xr-x 2 user user 4096 9月 12 10:03 目錄2 
drwxr-xr-x 2 user user 4096 9月 12 10:02 目錄1

檔案類型和權限

參數描述
ls -F在文件名後面添加文件類型標記,例如斜杠表示目錄。
ls -l查看文件的詳細權限信息。
ls -ld顯示目錄本身的詳細信息。
ls -n以數字形式顯示使用者和群組的ID。

範例

顯示檔案類型

$ ls -F 

文件1.txt 文件2.txt 目錄1/ 目錄2/

-F 依照檔案類型來標示的字元有以下幾種:

#檔案名稱以 "@" 結尾:這表示該檔案是一個連結檔(symbolic link)。
myfile@

#檔案名稱以 "*" 結尾:這表示該檔案是一個可執行檔(executable)。
program*

#檔案名稱以 "=" 結尾:這表示該檔案是一個 socket 檔。
mysocket=

#檔案名稱以 "|" 結尾:這表示該檔案是一個 pipe 檔。
mypipe|

#檔案名稱以 ">" 結尾:這表示該檔案是一個 door 檔。
mydoor>

#檔案名稱以 "/" 結尾:這表示該檔案是一個目錄。
mydirectory/

顯示詳細權限

$ ls -l 

總計 16 
-rw-r--r-- 1 user user 1234 9月 12 10:00 文件1.txt 
-rw-r--r-- 1 user user 5678 9月 12 10:01 文件2.txt 
drwxr-xr-x 2 user user 4096 9月 12 10:02 目錄1 
drwxr-xr-x 2 user user 4096 9月 12 10:03 目錄2

顯示目錄本身的詳細信息

$ ls -ld 

drwxr-xr-x 2 user user 4096 9月 12 10:02 .

以數字形式顯示使用者和群組的ID

$ ls -n

文件1.txt 文件2.txt 目錄1/ 目錄2/

其他選項

參數描述
ls -l --time-style時間格式顯示修改時間。
ls --format以符號分隔的格式顯示文件名。
ls --sort按照文件擴展名進行排序。
ls --width設置輸出的寬度。
ls -B不顯示多餘的空白。
ls --color使用顏色標記文件。

範例

時間格式顯示修改時間

  1. full-iso:以ISO 8601的完整日期和時間格式顯示修改時間。
$ ls -l --time-style=full-iso 
-rw-r--r-- 1 user user 2023-09-12 10:00:00.000000000 +0000 文件1.txt
  1. long-iso:以長格式的ISO 8601格式顯示修改時間(YYYY-MM-DD HH:MM)。
$ ls -l --time-style=long-iso 
-rw-r--r-- 1 user user 2023-09-12 10:00 文件1.txt
  1. iso:以簡化的ISO 8601格式顯示修改時間(YYYY-MM-DD)
$ ls -l --time-style=iso 
-rw-r--r-- 1 user user 2023-09-12 文件1.txt
  1. locale:以本地語言和格式顯示修改時間。
$ ls -l --time-style=locale 
-rw-r--r-- 1 user user 12 9月 12 10:00 文件1.txt

這些不同的時間顯示格式讓你可以根據自己的偏好和需求來選擇,以便更容易閱讀和理解文件的修改時間。

以符號分隔的格式顯示文件名

  1. long:長格式,類似於ls -l,顯示詳細信息,包括文件權限、所有者、大小等。
$ ls --format=long
-rw-r--r-- 1 user user 1234 9月 12 10:00 文件1.txt
  1. commas:以逗號分隔的格式顯示文件名。
$ ls --format=commas 
文件1.txt, 文件2.txt, 目錄1, 目錄2
  1. across:橫向顯示文件列表。
$ ls --format=across 
文件1.txt 文件2.txt 目錄1 目錄2
  1. verbose:詳細模式,以更多信息顯示文件列表,包括文件的inode號碼。
$ ls --format=verbose 

inode 文件1.txt 
inode 文件2.txt 
inode 目錄1 
inode 目錄2

這些不同的文件列表輸出格式可以根據你的需求來選擇,以便更好地查看文件的信息和組織。

按照文件擴展名進行排序

  1. extension:按照文件擴展名進行排序,對文件進行字母順序排序。
  2. size:按照文件大小進行排序,由小到大排列。
  3. time:按照修改時間進行排序,最新的文件顯示在前面。
  4. version:按照版本號進行排序,對文件進行字母順序排序。

這些不同的排序選項允許你根據不同的標準來排列文件,以滿足你的需要,並更輕鬆地找到所需的文件。

使用顏色標記文件

  1. always:加入顏色。
  2. never:不加入顏色。
  3. auto:自動判定是否加入顏色。

預設情況下,ls 命令會自動加入顏色,即使沒有指定顯示顏色的選項。若將其設置為auto,則ls命令只會在輸出到終端時加入顏色。

延伸閱讀:如何計算檔案中字數、行數?使用 Linux wc 教學與範例

延伸閱讀:如何讓 Linux 使用者免密碼安全執行 root 權限的指令?su 與 sudo 範例教學





主頁 » LINUX » 實用技巧 » 如何列出目錄中的文件和子目錄 ? Linux ls 指令 3 分鐘教學與範例介紹

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *