ls 命令,list 的縮寫,是最常見的目錄操作命令,其主要功能是顯示當前目錄下的內容。此命令的基本格式為:
[root@localhost ~]# ls [選項] 目錄名稱
表 1 列出了 ls 命令常用的選項以及各自的功能。
選項
|
功能
|
-a
|
顯示全部的文件,包括隱藏文件(開頭為 . 的文件)也一起羅列出來,這是最常用的選項之一。
|
-A
|
顯示全部的文件,連同隱藏文件,但不包括 . 與 .. 這兩個目錄。
|
-d
|
僅列出目錄本身,而不是列出目錄內的文件數據。
|
-f
|
ls 默認會以文件名排序,使用 -f 選項會直接列出結果,而不進行排序。
|
-F
|
在文件或目錄名后加上文件類型的指示符號,例如,* 代表可運行文件,/ 代表目錄,= 代表
socket 文件,| 代表 FIFO 文件。
|
-h
|
以人們易讀的方式顯示文件或目錄大小,如 1KB、234MB、2GB 等。
|
-i
|
顯示 inode 節點信息。
|
-l
|
使用長格式列出文件和目錄信息。
|
-n
|
以 UID 和 GID 分別代替文件用戶名和群組名顯示出來。
|
-r
|
將排序結果反向輸出,比如,若原本文件名由小到大,反向則為由大到小。
|
-R
|
連同子目錄內容一起列出來,等於將該目錄下的所有文件都顯示出來。
|
-S
|
以文件容量大小排序,而不是以文件名排序。
|
-t
|
以時間排序,而不是以文件名排序。
|
--color=never
--color=always
--color=auto
|
never 表示不依據文件特性給予顏色顯示。
always 表示顯示顏色,ls 默認采用這種方式。
auto 表示讓系統自行依據配置來判斷是否給予顏色。
|
--full-time
|
以完整時間模式 (包含年、月、日、時、分)輸出
|
--time={atime,ctime}
|
輸出 access 時間或改變權限屬性時間(ctime),而不是內容變更時間。
|
注意,當 ls 命令不使用任何選項時,默認只會顯示非隱藏文件的名稱,並以文件名進行排序,同時會根據文件的具體類型給文件名配色(藍色顯示目錄,白色顯示一般文件)。除此之外,如果想使用 ls 命令顯示更多內容,就需要使用表 1 相應的選項。
[root@www ~]# ls -al ~ total 156 drwxr-x--- 4 root root 4096 Sep 24 00:07 . drwxr-xr-x 23 root root 4096 Sep 22 12:09 .. -rw------- 1 root root 1474 Sep 4 18:27 anaconda-ks.cfg -rw------- 1 root root 955 Sep 24 00:08 .bash_history -rw-r--r-- 1 root root 24 Jan 6 2007 .bash_logout -rw-r--r-- 1 root root 191 Jan 6 2007 .bash_profile -rw-r--r-- 1 root root 176 Jan 6 2007 .bashrc drwx------ 3 root root 4096 Sep 5 10:37 .gconf -rw-r--r-- 1 root root 42304 Sep 4 18:26 install.log -rw-r--r-- 1 root root 5661 Sep 4 18:25 install.log.syslog
不僅如此,這里的 ls 命令還使用了 -l 選項,因此才顯示出了文件的詳細信息,此選項顯示的這 7 列的含義分別是:
- 第一列:規定了不同的用戶對文件所擁有的權限,具體權限的含義將在后續章節中講解。
- 第二列:引用計數,文件的引用計數代表該文件的硬鏈接個數,而目錄的引用計數代表該目錄有多少個一級子目錄。
- 第三列:所有者,也就是這個文件屬於哪個用戶。默認所有者是文件的建立用戶。
- 第四列:所屬組,默認所屬組是文件建立用戶的有效組,一般情況下就是建立用戶的所在組。
- 第五列:大小,默認單位是字節。
- 第六列:文件修改時間,文件狀態修改時間或文件數據修改時間都會更改這個時間,注意這個時間不是文件的創建時間。
- 第七列:文件名或目錄名。
如果想查看某個目錄的詳細信息,例如:
[root@localhost ~]# ls -l /root/ 總用量44 -rw-------.1 root root 1207 1 月 14 18:18 anaconda-ks.cfg -rw-r-r--.1 root root 24772 1 月 14 18:17 install.log -rw-r-r--.1 root root 7690 1 月 14 18:17 install.log.syslog
這個命令會顯示目錄下的內容,而不會顯示這個目錄本身的詳細信息。如果想顯示目錄本身的信息,就必須加入 "-d" 選項。
[root@localhost ~]# ls -ld /root/ dr-xr-x---.2 root root 4096 1 月 20 12:30 /root/
"ls-l" 顯示的文件大小是字節,但是我們更加習慣的是千字節用 KB 顯示,兆字節用 MB 顯示,而 "-h" 選項就是按照人們習慣的單位顯示文件大小的,例如:
[root@localhost ~]# ls -lh 總用量44K -rw-------.1 root root 1.2K 1 月 14 18:18 anaconda-ks.cfg -rw-r-r--.1 root root 25K 1 月 14 18:17 install.log -rw-r-r--.1 root root 7.6K 1 月 14 18:17 install.log.syslog