UNIX - ls 指令

【功能】

列出目錄的內容

【語法】

ls [-RadLCxmlnogrtucpFbqisfl] [names]

【說明】

ls 指令可列出在工作目錄下所有的檔案名稱(依英文字母的順序印出)。若names是目錄名稱,則印出該目錄下的內容;若names是檔案名稱,則印出該檔案的相關資訊。在配合選項的使用時,可將檔案的相關資訊如檔案的存取權限、連接數、大小、建檔的時間等資料印出。

檔案模式說明:

在使用 -l 選項時,會印出相關的檔案資訊,如檔案形態、存取權限等,總共是 10 個字元來表示。例如:-rwxrwx---,第一個字元可能是下面所列的字元之一。

d 表示該項是目錄。
l 表示該項是符號連接檔。
b 表示該項是區塊特殊檔,每次處理的單位為區塊大小。
c 表示該項是字元特殊檔,每次處理的單位為字元大小。
p 表該項是 FIFO 特殊檔,負責處理程序間的通訊功能。
- 表示該項是一般檔案。

其餘 9 個字元(第 2 到第 10 個)可分為 3 個組別,每一組都有3個字元。3個組別各代表的是檔案所有者、群以及其他使用者對此檔案的存取權限,每個組別中有3個字元 rwx,分別說明讀(read)、寫(write)及執行(execute)此檔案的存取權限,對一個目錄而言,執行權代表是否允許被找尋檔案的存在

-rwx rwx rwx
  │    │    └ other(其他使用者的讀、寫及執行權)
  │    └── group(群的讀、寫及執行權)
  └──── owner(檔案所有者的讀、寫及執行權)

存取權限說明:

【選項】

選 項 說 明
-R(recursive) 遞迴式印出該目錄下的檔案及子目錄內容。
-a(all) 印出所有的檔案名稱,包含隱藏檔(以 '.' 為第一個字母的檔案,如 '.profile')。
-d(directory) 若name是目錄名稱,則只印出此目錄的相關資訊,而不是印出該目錄的內容。此一選項大多是與 -l 選項配合,用來檢查允許權。
-L(link) 若names是符號連接檔,則僅印出這連接檔的名稱而不會印出連接到那個檔案。
-C(Column) 以多欄位方式印出。檔案名稱依行為順序,先從上而下排列。
-x 以多欄位方式印出。檔案名稱依列為順序,先從左而右排列。
-m 連續印出檔案的名稱,其間以逗號 ',' 分隔。
-l(long)

印出詳細的檔案資訊,包含檔案形態、存取權限、連接的數目、擁有者名稱、群名稱、檔案大小(以 byte 為單位),以及上次的修改時間。

若檔案是個特殊檔(如設備檔),原來顯示檔案大小的位置由主要及次要的設備號碼取代。

若檔案是個符號連接檔,則在檔名之後會有 '->'符號以及被參考到的檔案的路徑名稱。

-n 與 -l 選項相似,不同處在於以使用者識別碼及群識別碼來取代檔案擁有者的使用者名稱及群名稱。
-o(owner) 與 -l 選項相似,但群的名稱不印出,只印出擁有者的名稱。
-g(group) 與 -l 選項相似,但擁有者的名稱不印出,只印出群的名稱。
-r(reverse) 以相反的順序印出,從字母 z 到 a。
-t(time) 依檔案修改時間的順序印出,從新到舊。而非依檔案名稱的順序。
-u 使用的時間是以上次存取而非修改的時間來進行排序(此選項須與 -t 選項共同使用)
-c 使用的時間是以上次修改i-node的時間(如檔案建立、存取權限的修改時間)來進行排序或印出(此選項須與-t選項共同使用)。
-p 在目錄名稱後加上 '/' 字元印出,檔案名稱則不用。
-F 在目錄名稱後加上 '/' 字元,可執行檔名稱後加上 '*' 字元,符號連接檔之後加上 '@' 字元。
-b 檔案名稱中無法印出的字元以 8 進位格式 '\ddd' 印出。
-q

(question mark)

檔案名稱中無法印出的字元以問號 '?' 印出。
-i(i-node) 在檔案名稱之前印出 i-node 號碼。
-s(size) 檔案的大小以區塊為單位(每個 block 為 512 bytes)。
-f 印出指定目錄下所有的檔案。這選項會關閉 -l、-t、-s、-r 以及打開-a 選項。
-1(one) 每行只印出一個名稱。

★註: 選項 -C、-F、-f 是在 SVR2 版本時才開始提供。

選項 -b 是在 SVR3 版本時才開始提供。

選項 -L、-q、-1 是在 SVR4 版本時才開始提供。

【範例】

1. 列出現在目錄下的內容:$ ls

$ ls

2. 列出指定的目錄中較詳細的檔案資料:

$ ls -l direc1

在 ls 指令之後加上指定的目錄名稱 direc1,則會列出該目錄下的內容。每個檔案以一行的格式印出,首先是檔案形態、存取權限、連接的數目、擁有者名稱、群名稱、檔案大小,以及上次的修改時間。若列出的檔案是個符號連接檔,則在檔案名稱之後會印出連接的檔案名稱,亦即實際的檔案位置,如檔案 season。

3. 只印出指定目錄的詳細資料:

$ ls -ld direc1

4. 要求隱藏檔案名稱也印出:

$ ls -a

隱藏檔案是以 '.' 字元開始的檔案名稱,如 '.news_time' 及 '.profile' 等檔案。

5. 列出時的順序先由上而下:

$ ls -c

6. 列出時的順序先由左而右:

$ ls -x

7. 要求印出 i-node 號碼及加上辨別檔案形態的符號:

$ ls -lFi

網路電視    旅遊景點    算命    象棋殘局    回首頁