Shell命令之ls


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 列的含義分別是:
  1. 第一列:規定了不同的用戶對文件所擁有的權限,具體權限的含義將在后續章節中講解。
  2. 第二列:引用計數,文件的引用計數代表該文件的硬鏈接個數,而目錄的引用計數代表該目錄有多少個一級子目錄。
  3. 第三列:所有者,也就是這個文件屬於哪個用戶。默認所有者是文件的建立用戶。
  4. 第四列:所屬組,默認所屬組是文件建立用戶的有效組,一般情況下就是建立用戶的所在組。
  5. 第五列:大小,默認單位是字節。
  6. 第六列:文件修改時間,文件狀態修改時間或文件數據修改時間都會更改這個時間,注意這個時間不是文件的創建時間。
  7. 第七列:文件名或目錄名。 
如果想查看某個目錄的詳細信息,例如:
[root@localhost ~]# ls -l /root/
總用量44
-rw-------.1 root root 1207 114 18:18 anaconda-ks.cfg
-rw-r-r--.1 root root 24772 114 18:17 install.log
-rw-r-r--.1 root root 7690 114 18:17 install.log.syslog
這個命令會顯示目錄下的內容,而不會顯示這個目錄本身的詳細信息。如果想顯示目錄本身的信息,就必須加入 "-d" 選項。
[root@localhost ~]# ls -ld /root/
dr-xr-x---.2 root root 4096 120 12:30 /root/ 
"ls-l" 顯示的文件大小是字節,但是我們更加習慣的是千字節用 KB 顯示,兆字節用 MB 顯示,而 "-h" 選項就是按照人們習慣的單位顯示文件大小的,例如:
[root@localhost ~]# ls -lh
總用量44K
-rw-------.1 root root 1.2K 114 18:18 anaconda-ks.cfg
-rw-r-r--.1 root root 25K 114 18:17 install.log
-rw-r-r--.1 root root 7.6K 114 18:17 install.log.syslog


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM