1. 程式人生 > >Linux ls命令詳解

Linux ls命令詳解

-c 目錄 輸出 限制 普通 排序 當前 ls -l sna

ls 命令可以說是Linux下最常用的命令之一。


-a 列出目錄下的所有文件,包括以 . 開頭的隱含文件。(後有詳解)
-b 把文件名中不可輸出的字符用反斜杠加字符編號(就象在c語言裏一樣)的形式列出。
-c 輸出文件的 i 節點的修改時間,並以此排序。
-d 將目錄象文件一樣顯示,而不是顯示其下的文件。
-e 輸出時間的全部信息,而不是輸出簡略信息。
-f -U 對輸出的文件不排序。
-g 無用。
-i 輸出文件的 i 節點的索引信息。
-k 以 k 字節的形式表示文件的大小。
-l 列出文件的詳細信息。(後有詳解)
-m 橫向輸出文件名,並以“,”作分格符。
-n 用數字的 UID,GID 代替名稱。

-o 顯示文件的除組信息外的詳細信息。
-p -F 在每個文件名後附上一個字符以說明該文件的類型,“*”表示可執行的普通
文件;“/”表示目錄;“@”表示符號鏈接;“|”表示FIFOs;“=”表示套
接字(sockets)。
-q 用?代替不可輸出的字符。
-r 對目錄反向排序。
-s 在每個文件名後輸出該文件的大小。
-t 以時間排序。
-u 以文件上次被訪問的時間排序。
-x 按列輸出,橫向排序。
-A 顯示除 “.”和“..”外的所有文件。
-B 不輸出以 “~”結尾的備份文件。
-C 按列輸出,縱向排序。
-G 輸出文件的組的信息。
-L 列出鏈接文件名而不是鏈接到的文件。
-N 不限制文件長度。
-Q 把輸出的文件名用雙引號括起來。
-R 列出所有子目錄下的文件。
-S 以文件大小排序。
-X 以文件的擴展名(最後一個 . 後的字符)排序。
-1 一行只輸出一個文件。

--color=no 不顯示彩色文件名
--help 在標準輸出上顯示幫助信息。
--version 在標準輸出上輸出版本信息並退出。

只列出子目錄
1. ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)
2. ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)

計算當前目錄下的文件數和目錄數
下面命令可以分別計算當前目錄下的文件和目錄個數:
# ls -l * |grep "^-"|wc -l ---- to count files
# ls -l * |grep "^d"|wc -l ----- to count dir

顯示彩色目錄列表
打開/etc/bashrc, 加入如下一行:
alias ls="ls --color"
下次啟動bash時就可以像在Slackware裏那樣顯示彩色的目錄列表了, 其中顏色的含義如下:
1. 藍色-->目錄
2. 綠色-->可執行文件
3. 紅色-->壓縮文件
4. 淺藍色-->鏈接文件
5. 灰色-->其他文件

ls -tl --time-style=full-iso sshd
ls -ctl --time-style=long-iso

ls 命令的含義是list顯示當前目錄中的文件名字。註意不加參數它顯示除隱藏文件外的所有文件及目錄的名字。

1)ls –a 顯示當前目錄中的所有文件,包含隱藏文件

]# ls –a

. .gnome2 .nautilus

.. .gnome2_private oracle_rpm

.bash_profile .gtkrc-1.2-gnome2 tnsnames.ora

.bashrc .ICEauthority types.h

註意隱藏文件是在文件名字以“.”(英文句號)開頭的文件。

2)ls –l 顯示文件及其詳細信息。

]# ls –l

total 5

-rw-r--r-- 1 root root 1668 Oct 3 2007 anaconda-ks.cfg

drwxr-xr-x 2 root root 4096 Nov 6 00:04 aa

顯示的文件詳細信息分別代表什麽呢?以上面藍色部分為例。

total 5 代表當前目錄下文件大小的總和為5K(每個目錄的大小都按4K算)

drwxr-xr-x 第一個字符有3種情況:“-”表示普通文件,“d”代表目錄,“l”代表連接文件,“b”代表設備文件。

後面的9個字符每3個為一組,分別代表文件所有者、文件所有者所在用戶組、其它用戶對文件擁有的權限。每組中3個字符分別代表讀、寫、執行的權限,若沒有其中的任何一個權限則用“-”表示。執行的權限有兩個字符可選“x”代表可執行,“s”代表套接口文件。

緊接著的數字2代表 “aa”這個目錄下的目錄文件數目(這個數目=隱藏目錄數目+普通目錄數目)。我們進入“aa”目錄用命令 ls –al (為了看到隱藏文件我們加上-a這個參數)

]# ls -al

total 8

drwxr-xr-x 2 root root 4096 Nov 6 00:04 .

drwxr-x--- 14 root root 4096 Nov 6 00:04 ..

(上面的第3行中的2代表當前目錄中有子目錄2個,即.和..

上面的第4行中的14代表這個目錄的上一層目錄中有14個子目錄。)

再接下來的root代表這個文件(目錄)的屬主為 用戶root

再接下來的root代表這個文件(目錄)所屬的用戶組為 組root

4096 代表文件的大小(字節數),目錄的大小總是為4096字節。

Nov 6 00:04 代表文件(目錄)的修改時間。

aa代表文件(目錄)在名字。

3)文件名顏色的含義

默認色代表普通文件。 例:install.log

綠色代表可執行文件。 例:rc.news

紅色代表tar包文件。 例:vim-7.1.tar.bz2

藍色代表目錄文件。 例:aa

水紅代表圖象文件。 例:Sunset.jpg

青色代表鏈接文件。 例:rc4.d (此類文件相當於快捷方式)

黃色代表設備文件。 例:fd0

4)幾個比較常用的參數。

-t 按最後修改時間排序。

-S 按文件大小排序。(大寫的S)

-r 排序時按倒序。

-h 顯示文件大小時增加可讀性 (例:1K 234M 2G)

如果這個aa是個普通文件,2就代表這個文件有2個別名(這個文件被人創建了一個硬鏈接文件)

http://blog.csdn.net/zhangliangzi/article/details/50807142

Linux ls命令詳解