Shell命令之ls
阿新 • • 發佈:2021-12-07
ls 命令,list 的縮寫,是最常見的目錄操作命令,其主要功能是顯示當前目錄下的內容。此命令的基本格式為:
注意,當 ls 命令不使用任何選項時,預設只會顯示非隱藏檔案的名稱,並以檔名進行排序,同時會根據檔案的具體型別給檔名配色(藍色顯示目錄,白色顯示一般檔案)。除此之外,如果想使用 ls 命令顯示更多內容,就需要使用表 1 相應的選項。
[root@localhost ~]# ls [選項] 目錄名稱
表 1 列出了 ls 命令常用的選項以及各自的功能。
選項 | 功能 |
-a | 顯示全部的檔案,包括隱藏檔案(開頭為 . 的檔案)也一起羅列出來,這是最常用的選項之一。 |
-A | 顯示全部的檔案,連同隱藏檔案,但不包括 . 與 .. 這兩個目錄。 |
-d | 僅列出目錄本身,而不是列出目錄內的檔案資料。 |
-f | ls 預設會以檔名排序,使用 -f 選項會直接列出結果,而不進行排序。 |
-F |
在檔案或目錄名後加上檔案型別的指示符號,例如,* 代表可執行檔案,/ 代表目錄,= 代表 |
-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),而不是內容變更時間。 |
[root@www ~]# ls不僅如此,這裡的 ls 命令還使用了 -l 選項,因此才顯示出了檔案的詳細資訊,此選項顯示的這 7 列的含義分別是:-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
- 第一列:規定了不同的使用者對檔案所擁有的許可權,具體許可權的含義將在後續章節中講解。
- 第二列:引用計數,檔案的引用計數代表該檔案的硬連結個數,而目錄的引用計數代表該目錄有多少個一級子目錄。
- 第三列:所有者,也就是這個檔案屬於哪個使用者。預設所有者是檔案的建立使用者。
- 第四列:所屬組,預設所屬組是檔案建立使用者的有效組,一般情況下就是建立使用者的所在組。
- 第五列:大小,預設單位是位元組。
- 第六列:檔案修改時間,檔案狀態修改時間或檔案資料修改時間都會更改這個時間,注意這個時間不是檔案的建立時間。
- 第七列:檔名或目錄名。
[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