複製鏈接
請複製以下鏈接發送給好友

LS

(Linux與Unix共用的命令)

鎖定
ls 指令是Linux下最常用的命令之一,也是一條非常古老的命令,它最早可追述到Unix系統,甚至更古老的Multics下相同的命令。
外文名
ls
類    屬
指令
所屬領域
計算機
應用範圍
linux
用    法
ls [選項]... [文件]...
輸出形式
通過指定-m標誌可以以逗號分隔系列列出項

LS指令釋義

ls命令將每個由Directory參數指定的目錄或者每個由File參數指定的名稱寫到標準輸出,以及您所要求的和標誌一起的其它信息。
如果不指定File或Directory參數,ls命令顯示當前目錄的內容。
GNU/LinuxBSD下都有此命令,但使用參數和語法略有不同。
ls指令可以説是Linux下最常用的指令之一。它有許多的選項,下面列出了ls指令的絕大多數選項。
List information about the FILEs (the current directory by default).Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
用法:ls [選項]... [文件]... [1] 
運用舉例:
1.列出具體文件 #ls -al //這個最常用,可是往往又不徹底符合要求,
2.列出一切子目錄的文件:#ls -R //上個指令僅僅列出了本目錄下的一切目錄和文件,可是目錄下的文件不會循環的列出。
3.若是文件過多一屏看不完,怎麼辦?並且,關於想找到許多文件中的某個文件的姓名。
3.1分屏顯現:#ls -l|more //能在當時屏退出,很有用,但不能一頁一頁翻屏
#ls -l|less //能用pgup,pgdw 翻頁,但不能在當時方位退出
3.2橫向輸出儘可能多的顯現文件姓名:
#ls -m
-a 列出目錄下的一切文件,包含以 . 最初的隱含文件。//常用
-m 橫向輸出文件名,並以“,”作分格符。
-c 輸出文件的 i 節點的修正時刻,並以此排序。
-R 列出一切子目錄下的文件。
-l 列出文件的具體信息。
-s 在每個文件名後輸出該文件的鉅細。
-k 以 k 字節的方式表明文件的鉅細。
-i 輸出文件的 i 節點的索引信息。
2.只顯現目錄:#ls -l |grep ^d 3.只顯現非目錄文件:#ls -l |grep ^[^d]
3.對輸出文件進行各種排序;
3.1 依照字符序(default): #ls -l
3.2 依照修正時刻排序: #ls -t //近來修正在最上面
3.3 逆排序 : #ls -r
3.4 按文件鉅細排序 :#ls -S //大文件的在上
3.5 依照文件擴展名(最終一個.後的字符)排序: #ls -X
3.6 按數字排序 :#ls -lv
-t 以時刻排序。
-r 對目錄反向排序
-f -U 對輸出的文件不排序。
-X 以文件的擴展名(最終一個 . 後的字符)排序。
-S 以文件鉅細排序。
-u 以文件前次被拜訪的時刻排序。
-n 用數字的 UID,GID 替代稱號。
-o 顯現文件的除組信息外的具體信息。
-p -F 在每個文件名後附上一個字符以闡明該文件的類型,“*”表明可執行的一般
文件;“/”表明目錄;“@”表明符號連接;“|”表明FIFOs;“=”表明套接字(sockets)。
-q 用?替代不行輸出的字符。
-x 按列輸出,橫向排序。
暫時無用選項:
-b 把文件名中不可輸出的字符用反斜槓加字符編號(就象在C言語裏相同)的方式列出。//不常用
-d 將目錄象文件相同顯現,而不是顯現其下的文件。
-e 輸出時刻的悉數信息,而不是輸出簡略信息。 //沒用
-g 無用。
-A 顯現除 “.”和“..”外的一切文件。
-B 不輸出以 “~”結束的備份文件
-C 按列輸出,縱向排序。
-G 輸出文件的組的信息。
-L 列出連接文件名而不是連接到的文件。
-N 不約束文件長度。
-Q 把輸出的文件名用雙引號括起來。
-1 一行只輸出一個文件。
--color=no 不顯現五顏六色文件名
--help 在規範輸出上顯現協助信息。
--version 在規範輸出上輸出版別信息並退出

LS描述

ls 命令將每個由 Directory 參數指定的目錄或者每個由 File 參數指定的名稱寫到標準輸出,以及您所要求的和標誌一起的其它信息。如果不指定 File 或 Directory 參數, ls 命令顯示當前目錄的內容。
在互斥對中指定多個選項不看成錯誤。每對中最後一個指定的選項確定輸出格式
缺省情況下,ls 命令按照文件名的字母順序顯示所有信息。整理順序由環境變量 LANG 或 LC_COLLATE 環境變量確定。在 AIX 5L Version 5.2 General Programming Concepts: Writing and Debugging Programs 中的 "National Language Support Overview for Programming" 包含更多細節。
當 ls 命令顯示目錄內容時,它不顯示名稱以 .(點)開頭的文件項,除非使用了 -a 或者 -A 標誌。如果命令由 root 用户執行,它缺省使用 -A 標誌。
格式化輸出有三種主要方式:
* 每行列出一項。
* 通過指定 -C 或 -x 標誌以多列列出各項。當向 tty 輸出時,-C 標誌是缺省格式。如果文件或目錄名太長,ls 命令顯示單列輸出。
* 通過指定 -m 標誌可以以逗號分隔系列列出項。
要確定輸出行中字符位置的數目,ls 命令使用環境變量 COLUMNS。如果沒有設置此變量,命令獲取顯示的當前列值。如果使用這些方法,ls 命令還不能確定字符位置的數量,它就使用缺省值 80。
使用 -e 和 -l 標誌所顯示的方式解釋如下:
如果第一個字符是:
d 此項為目錄。
b 此項為塊特殊文件。
c 此項為字符特殊文件。
l 此項為符號鏈接,或者指定 -N 標誌,或者符號鏈接不指向現有文件。
p 此項為一個先進先出(FIFO)特殊文件。
s 此項為本地套接字。
- 此項為普通文件。
接下來的 9 個字符被分成 3 個集合,每個集合 3 個字符。第一組 3 字符集合顯示所有者許可權。下一組 3 字符集合顯示了組中其它用户的許可權。最後 3 字符集合顯示了訪問此文件的其它任何人的許可權。每個集合中的三個字符各自表示了文件的讀、寫和執行權限。目錄的執行權限讓您可以搜索目錄中的指定文件。

LS許可權表示

如下:
r 讀
w 寫(編輯)
x 執行(搜索)
- 沒有授予相應的許可權
如果文件有 set-group-ID 方式,那麼組執行許可權字符是 s。如果文件有 set-user-ID 方式,則用户執行許可權字符是 s。如果方式位被設置為 01000(八進制)(請參閲 chmod 命令以獲得此方式的含義),最後一個方式字符(通常 x 或者 -)是 T。如果沒有設置相應的執行許可權,set-ID 的指示和方式位 01000 以大寫字母開頭(分別為 S 和 T)。方式 t 表示粘滯位是為文件或目錄而設置的。
當使用 -e 標誌時,其顯示方式與使用 -l 標誌一樣,除了多出了第 11 個字符,其解釋如下:
+ 表示文件有擴展安全性信息。例如,文件可能在方式中有擴展的 ACL、TCB 或者 TP 屬性。
通過使用 aclget 命令,可以顯示文件的訪問控制信息(ACL)。通過使用 chtcb 命令,可以顯示 TCB 和 TP 屬性的值。
- 表示文件沒有擴展安全性信息。
當列出目錄中文件大小時,ls 命令顯示塊總數,包括間接塊。

LS標誌

-A 列出所有條目,除了 .(點)和 ..(點-點)。
-a 列出目錄中所有項,包括以 .(點)開始的項。
-b 以八進制 ( \nnn) 表示法顯示非打印字符。
-c 使用索引節點最近一次修改的時間,用以排序(當帶 -t 標誌使用時)或者用以顯示(當帶 -l 標誌使用時)。該標誌必須和 -t 或 -l 標誌或者兩者一起使用。
-C 以多列縱向排序輸出。當往終端輸出時,此為缺省方法。
-d 僅僅顯示指定目錄信息。目錄和文件一樣處理,這在當使用 -l 標誌獲取目錄狀態時非常有用。
-e 顯示方式(包括安全信息)、鏈接數目、所有者、組、大小(按字節)、最近修改時間和每個文件名稱。如果文件是特殊文件,大小字段包含主要和次要設備數目。如果文件是符號鏈接,會打印所鏈接到的文件的路徑名,其前有 ->(減號大於號)符號。顯示符號鏈接的屬性。
-E 列出文件的保留空間、固定範圍大小和範圍分配標誌信息。使用該標誌時,必須指定 -l 標誌。
-f 在每個存儲槽中列出 Directory 參數指定的每個目錄的名稱。該標誌關閉 -l、-t、 -s 和 -r 標誌並且開啓 -a 標誌。列表的順序就是項出現在目錄中的順序。
-F 如果文件是目錄,在文件名後面放置一個 /(斜槓),如果文件可執行,則放置一個 *(星號),如果文件為套接字,則放置一個 =(等號),如果為 FIFO,則放置一個 |(管道)符號,如果是符號鏈接,則放置一個 @。
注:只有在使用 -N 標誌或者鏈接指向一個不存在的文件時,符號鏈接顯示時才後跟 ->。否則,顯示目標文件的有關信息。通過輸入 ls -f 命令,也可以調用此選項。
-g 與使用 -l 標誌時顯示同樣的信息,除了 -g 標誌禁止顯示所有者和符號鏈接信息。
-H 如果在命令行上指定了引用類型目錄文件的符號鏈接,ls 命令將文件信息和文件類型估計為由鏈接引用的文件的信息和類型,而非鏈接本身;然而,ls 命令將寫鏈接本身的名稱,而非由鏈接引用的文件。
-i 顯示每個文件報告第一列中的索引節點數目。
-L 列出鏈接引用的文件或目錄內容。此為缺省操作。後跟符號鏈接。如果使用 -l 選項,-N 選項就成為缺省值,不後跟符號鏈接。當使用 -l 選項時,僅有 -L 選項能夠覆蓋 -N 缺省值。
-l (L 的小寫)顯示方式、鏈接數目、所有者、組、大小(按字節)和每個文件最近一次修改時間。如果文件是特殊文件,大小字段包含主要和次要設備數目。如果最近一次修改時間大於六個月之前,時間字段以 月份 日期 年份 的格式顯示,然而六個月內修改的文件以 月份 日期 時間 的格式顯示。
如果文件是符號鏈接,打印所鏈接到的文件的路徑名,其前跟 ->。顯示符號鏈接的屬性。-n、-g、和 -o 標誌覆蓋 -l 標誌。

LS注意事項

1. 符號鏈接文件後跟一個箭頭,然後是符號鏈接的內容。
2. 當使用 -l 選項時,通過執行 mkpasswd 命令,可以提高 ls 命令的執行性能。當目錄包含不同用户擁有的文件時,這非常有用,比如 /tmp 目錄。
-m 使用流輸出格式(逗號分隔系列)。
-n -n 標誌除顯示用户和組 ID 而不是用户和組名稱以外,它顯示和 -l 標誌同樣的信息。
-N 當確定文件狀態時,不跟在符號鏈接之後。
注:如果使用 -L 和 -N 兩個標誌,最後一個標誌起作用。同樣的,任何時候給定一個包含以 /(斜槓)作為最後字符的符號鏈接,不管使用何種選項,後面都會跟有鏈接。
-o -o 標誌除禁止顯示組和符號鏈接信息之外,它顯示和 -l 標誌同樣的信息。
-p 如果文件是目錄,在每個文件名後面放置一個斜槓。當將 ls 命令的輸出通過管道傳遞到 pr 命令時,這很有用,如下所示:
ls -p | pr -5 -t -w80
-q 將文件名中的非打印字符顯示成 ?(問號)。
-r 反轉排序順序,適當的按字母逆向排序或者首先排序最舊的文件。
-R 遞歸列出所有子目錄
-s 按照千字節(包括間接塊)給出每一項的大小。
-t 按照最近一次修改時間(最近的最先)而不是名稱排序。
-u 使用最近訪問時間,而不是最近修改時間用以排序(當使用 -t 標誌)或者顯示(當使用 -l 標誌)。如果不和 -t 或 -l 標誌或兩者一起使用,則該標誌無效。
-x 以多列格式橫向排序輸出。
-1 強制輸出為每行一項格式。當輸出沒有定向到終端時,此為缺省值
退出狀態
此命令返回以下退出值
0 寫所有文件成功。
>0 產生錯誤。
示例
1. 要列出當前目錄中的所有文件,請輸入:
ls -a
列出所有文件,包括 .(點)、..(點點)和其他以點開頭的文件。
2. 要顯示詳細信息,請輸入:
ls -l chap1 .profile
顯示一個長列表,包括關於 chap1 和 .profile 的詳細信息。
3. 要顯示有關目錄的詳細信息,請輸入:
ls -d -l . manual manual/chap1
顯示目錄 . 和 manual 以及文件 manual/chap1 的長列表。不使用 -d 標誌時,會列出 . 和 manual 目錄中的所有文件,而不是關於目錄本身的詳細信息。
4. 要按照修改時間列出文件,請輸入:
ls -l -t
顯示最近被修改文件的長列表,較舊的文件跟在後面。
文件
/usr/bin/ls 包含 ls 命令。
/etc/passwd 包含用户 ID。
/etc/group 包含組 ID。
/usr/share/lib/terminfo/* 包含終端信息。
參考資料
  • 1.    ls  .51yip[引用日期2018-03-24]