ls命令是linux下最常用的命令。ls命令就是list
的縮寫,預設情況下使用ls用來列印出當前目錄的列表,如果ls
指定其他目錄,那麼就會顯示指定目錄裡的檔案及檔案夾列表。 通過ls 命令不僅可以檢視linux檔案夾包含的檔案,而且可以檢視檔案許可權(包括目錄、檔案夾、檔案許可權),檢視目錄資訊等等。ls 命令在日常的linux操作中使用得比較多了。
ls
[選項] [目錄名]-a
, –all
列出目錄下的所有檔案,包括以 .
開頭的隱含檔案。-A
同-a
,但不列出「.
」(表示當前目錄)和「..
」(表示當前目錄的父目錄)。-c
配合 -lt
:根據 ctime
排序及顯示 ctime
(檔案狀態最後更改的時間)配合 -l
:顯示 ctime
但根據名稱排序否則:根據 ctime
排序-C
每欄由上至下列出專案–color[=WHEN]
控制是否使用色彩分辨檔案。WHEN 可以是’never’、’always’或’auto’其中之一-d
, –directory
將目錄象檔案一樣顯示,而不是顯示其下的檔案。-D
, –dired
產生適合 Emacs 的 dired 模式使用的結果-f
對輸出的檔案不進行排序,-aU
選項生效,-lst
選項失效-g
類似-l
,但不列出所有者-G
, –no-group
不列出任何有關組的資訊-h
, –human-readable
以容易理解的格式列出檔案大小 (例如 1K 234M 2G)–si
類似 -h,但檔案大小取 1000 的次方而不是 1024-H
, –dereference-command-line
使用命令列中的符號連結指示的真正目的地–indicator-style=
方式 指定在每個專案名稱後加上指示符號<方式>:none
(預設),classify (-F),file-type (-p)-i
, –inode
印出每個檔案的 inode
號-I
, –ignore=
樣式 不印出任何符合 shell 萬用字元<樣式>的專案-k
即 –block-size=1K
,以 k
位元組的形式表示檔案的大小。-l
除了檔案名之外,還將檔案的許可權、所有者、檔案大小等資訊詳細列出來。-L
, –dereference
當顯示符號連結的檔案資訊時,顯示符號連結所指示的物件而並非符號連結本身的資訊-m
所有專案以逗號分隔,並填滿整行行寬-o
類似 -l
,顯示檔案的除組資訊外的詳細資訊。-r
, –reverse
依相反次序排列-R
, –recursive
同時列出所有子目錄層-s
, –size
以塊大小為單位列出所有檔案的大小-S
根據檔案大小排序–sort=WORD
以下是可選用的 WORD 和它們代表的相應選項:-t
以檔案修改時間排序-u
配合 -lt
:顯示存取時間而且依存取時間排序
- 配合` -l`:顯示存取時間但根據名稱排序
- 否則:根據存取時間排序
-U
不進行排序;依檔案系統原有的次序列出專案-v
根據版本進行排序-w
, –width=COLS
自行指定螢幕寬度而不使用目前的數值-x
逐行列出專案而不是逐欄列出-X
根據擴充套件名排序-1
每行只列出一個檔案–help
顯示此幫助資訊並離開–version
顯示版本資訊並離開
列出/home/yiibai
檔案夾下的所有檔案和目錄的詳細資料,命令:
ls -l -R /home/yiibai
在使用 ls 命令時要注意命令的格式:在命令提示字元後,首先是命令的關鍵字,接下來是命令引數,在命令引數之前要有一短橫線「-
」,所有的命令引數都有特定的作用,自己可以根據需要選用一個或者多個引數,在命令引數的後面是命令的操作物件。在以上這條命令「ls -l -R /home/yiibai
」中,「ls
」 是命令關鍵字,「-l -R
」是引數,「/home/yiibai
」是命令的操作物件。在這條命令中,使用到了兩個引數,分別為「l
」和「R
」,當然,你也可以把他們放在一起使用,如下所示:
ls -lR /home/yiibai
這種形式和上面的命令形式執行的結果是完全一樣的。另外,如果命令的操作物件位於當前目錄中,可以直接對操作物件進行操作;如果不在當前目錄則需要給出操作物件的完整路徑,例如上面的例子中,當前檔案夾是yiibai
檔案夾,想對home
檔案夾下的yiibai
檔案進行操作,那麼可以直接輸入 ls -lR yiibai
,也可以用 ls -lR /home/yiibai
。
列出當前目錄中所有以「t」開頭的目錄的詳細內容,可以使用如下命令:
ls -l t*
可以檢視當前目錄下檔案名以「t
」開頭的所有檔案的資訊。其實,在命令格式中,方括號內的內容都是可以省略的,對於命令ls
而言,如果省略命令引數和操作物件,直接輸入「 ls
」,則將會列出當前工作目錄的內容列表。
只列出檔案下的子目錄
命令:
ls -F /usr/local/ |grep /$
列出 /usr/local/
檔案下面的子目錄
輸出:
[yiibai@ubuntu:~/Downloads]$ ls -F /usr/local/ |grep /$
bin/
etc/
games/
include/
jdk1.8.0_65/
lib/
sbin/
share/
solr/
src/
命令:
ls -l /usr/local/ | grep "^d"
列出 /usr/local/
檔案下面的子目錄詳細情況
輸出:
[yiibai@ubuntu:~/Downloads]$ ls -l /usr/local/ | grep "^d"
drwxr-xr-x 2 root root 4096 Aug 4 2015 bin
drwxr-xr-x 2 root root 4096 Aug 4 2015 etc
drwxr-xr-x 2 root root 4096 Aug 4 2015 games
drwxr-xr-x 2 root root 4096 Aug 4 2015 include
drwxr-xr-x 8 uucp 143 4096 Oct 6 2015 jdk1.8.0_65
drwxr-xr-x 4 root root 4096 Aug 4 2015 lib
drwxr-xr-x 2 root root 4096 Aug 4 2015 sbin
drwxr-xr-x 7 root root 4096 Aug 4 2015 share
drwxr-xr-x 9 yiibai yiibai 4096 Feb 3 18:11 solr
drwxr-xr-x 2 root root 4096 Aug 4 2015 src
列出目前工作目錄下所有名稱是以s
開頭的檔案,越新的排越後面,可以使用如下命令:
ls -ltr s*
輸出如下 -
yiibai@ubuntu:/usr/local$ ls -ltr s*
src:
total 0
sbin:
total 0
share:
total 20
drwxr-xr-x 2 root root 4096 Aug 4 2015 man
drwxrwsr-x 7 root staff 4096 Aug 4 2015 sgml
drwxrwsr-x 2 root staff 4096 Aug 4 2015 fonts
drwxrwsr-x 2 root staff 4096 Aug 4 2015 ca-certificates
drwxrwsr-x 6 root staff 4096 Aug 4 2015 xml
solr:
total 1396
drwxr-xr-x 14 yiibai yiibai 4096 Jan 17 16:02 contrib
drwxr-xr-x 4 yiibai yiibai 4096 Jan 17 16:03 dist
-rw-r--r-- 1 yiibai yiibai 7424 Jan 17 16:03 README.txt
-rw-r--r-- 1 yiibai yiibai 27161 Jan 17 16:03 NOTICE.txt
-rw-r--r-- 1 yiibai yiibai 643429 Jan 17 16:03 LUCENE_CHANGES.txt
-rw-r--r-- 1 yiibai yiibai 12872 Jan 17 16:03 LICENSE.txt
drwxr-xr-x 20 yiibai yiibai 4096 Jan 17 16:03 docs
-rw-r--r-- 1 yiibai yiibai 667085 Jan 17 16:03 CHANGES.txt
drwxr-xr-x 7 yiibai yiibai 4096 Jan 17 16:03 example
drwxr-xr-x 2 yiibai yiibai 36864 Jan 17 16:03 licenses
drwxr-xr-x 11 yiibai yiibai 4096 Feb 3 17:30 server
drwxr-xr-x 3 yiibai yiibai 4096 Feb 3 21:43 bin
列出目前工作目錄下所有檔案及目錄;目錄於名稱後加」/
「, 可執行檔於名稱後加」*
「
命令:
ls -AF
執行輸出結果如下 -
yiibai@ubuntu:/usr/local$ ls -AF
bin/ etc/ games/ include/ jdk1.8.0_65/ lib/ man@ sbin/ share/ solr/ src/
計算當前目錄下的檔案數和目錄數
ls -l * |grep "^-"|wc -l ---檔案個數
ls -l * |grep "^d"|wc -l ---目錄個數例六:計算當前目錄下的檔案數和目錄數
命令:
ls -l * |grep "^-"|wc -l ---檔案個數
ls -l * |grep "^d"|wc -l ---目錄個數
在ls中列出檔案的絕對路徑
ls | sed "s:^:`pwd`/:"
輸出結果如下:
yiibai@ubuntu:~$ ls | sed "s:^:`pwd`/:"
/home/yiibai/Desktop
/home/yiibai/Documents
/home/yiibai/Downloads
/home/yiibai/examples.desktop
/home/yiibai/Music
/home/yiibai/Pictures
/home/yiibai/Public
/home/yiibai/Templates
/home/yiibai/Videos
列出當前目錄下的所有檔案(包括隱藏檔案)的絕對路徑, 對目錄不做遞回
find $PWD -maxdepth 1 | xargs ls -ld
輸出:
yiibai@ubuntu:~$ find $PWD -maxdepth 1 | xargs ls -ld
drwxr-xr-x 17 yiibai yiibai 4096 Feb 9 23:11 /home/yiibai
-rw------- 1 yiibai yiibai 2827 Feb 7 23:51 /home/yiibai/.bash_history
-rw-r--r-- 1 yiibai yiibai 220 Nov 11 2015 /home/yiibai/.bash_logout
-rw-r--r-- 1 yiibai yiibai 3706 Feb 3 19:43 /home/yiibai/.bashrc
drwx------ 16 yiibai yiibai 4096 Feb 3 17:46 /home/yiibai/.cache
drwx------ 3 yiibai yiibai 4096 Nov 16 2015 /home/yiibai/.compiz
drwx------ 15 yiibai yiibai 4096 Nov 16 2015 /home/yiibai/.config
drwxr-xr-x 2 yiibai yiibai 4096 Nov 11 2015 /home/yiibai/Desktop
-rw-r--r-- 1 yiibai yiibai 25 Nov 11 2015 /home/yiibai/.dmrc
drwxr-xr-x 2 yiibai yiibai 4096 Nov 11 2015 /home/yiibai/Documents
drwxr-xr-x 2 yiibai yiibai 4096 Feb 4 01:05 /home/yiibai/Downloads
-rw-r--r-- 1 yiibai yiibai 8980 Nov 11 2015 /home/yiibai/examples.desktop
drwx------ 3 yiibai yiibai 4096 Feb 9 23:11 /home/yiibai/.gconf
-rw------- 1 yiibai yiibai 5724 Feb 9 23:11 /home/yiibai/.ICEauthority
drwx------ 3 yiibai yiibai 4096 Nov 11 2015 /home/yiibai/.local
drwx------ 4 yiibai yiibai 4096 Nov 16 2015 /home/yiibai/.mozilla
drwxr-xr-x 2 yiibai yiibai 4096 Nov 11 2015 /home/yiibai/Music
drwxrwxr-x 2 yiibai yiibai 4096 Nov 17 2015 /home/yiibai/.oracle_jre_usage
drwxr-xr-x 2 yiibai yiibai 4096 Nov 11 2015 /home/yiibai/Pictures
-rw-r--r-- 1 yiibai yiibai 675 Nov 11 2015 /home/yiibai/.profile
drwxr-xr-x 2 yiibai yiibai 4096 Nov 11 2015 /home/yiibai/Public
-rw-rw-r-- 1 yiibai yiibai 1910 Feb 9 01:39 /home/yiibai/.rediscli_history
drwxr-xr-x 2 yiibai yiibai 4096 Nov 11 2015 /home/yiibai/Templates
drwxr-xr-x 2 yiibai yiibai 4096 Nov 11 2015 /home/yiibai/Videos
-rw------- 1 yiibai yiibai 5282 Feb 3 21:43 /home/yiibai/.viminfo
-rw------- 1 yiibai yiibai 51 Feb 9 23:11 /home/yiibai/.Xauthority
-rw------- 1 yiibai yiibai 108 Feb 9 23:11 /home/yiibai/.xsession-errors
-rw------- 1 yiibai yiibai 108 Feb 8 16:57 /home/yiibai/.xsession-errors.old
遞迴列出當前目錄下的所有檔案(包括隱藏檔案)的絕對路徑
find $PWD | xargs ls -ld
指定檔案時間輸出格式
ls -tl --time-style=full-iso
輸出:
yiibai@ubuntu:~$ ls -tl --time-style=full-iso
total 44
drwxr-xr-x 2 yiibai yiibai 4096 2017-02-04 01:05:39.770512894 -0800 Downloads
drwxr-xr-x 2 yiibai yiibai 4096 2015-11-11 15:29:57.240741733 -0800 Music
drwxr-xr-x 2 yiibai yiibai 4096 2015-11-11 15:29:57.240741733 -0800 Pictures
drwxr-xr-x 2 yiibai yiibai 4096 2015-11-11 15:29:57.240741733 -0800 Videos
drwxr-xr-x 2 yiibai yiibai 4096 2015-11-11 15:29:57.216741733 -0800 Documents
drwxr-xr-x 2 yiibai yiibai 4096 2015-11-11 15:29:57.216741733 -0800 Public
drwxr-xr-x 2 yiibai yiibai 4096 2015-11-11 15:29:57.216741733 -0800 Templates
drwxr-xr-x 2 yiibai yiibai 4096 2015-11-11 15:29:57.212741733 -0800 Desktop
-rw-r--r-- 1 yiibai yiibai 8980 2015-11-11 15:21:00.375378312 -0800 examples.desktop
yiibai@ubuntu:~$ ls -ctl --time-style=long-iso
total 44
drwxr-xr-x 2 yiibai yiibai 4096 2017-02-04 01:05 Downloads
drwxr-xr-x 2 yiibai yiibai 4096 2015-11-11 15:29 Music
drwxr-xr-x 2 yiibai yiibai 4096 2015-11-11 15:29 Pictures
drwxr-xr-x 2 yiibai yiibai 4096 2015-11-11 15:29 Videos
drwxr-xr-x 2 yiibai yiibai 4096 2015-11-11 15:29 Documents
drwxr-xr-x 2 yiibai yiibai 4096 2015-11-11 15:29 Public
drwxr-xr-x 2 yiibai yiibai 4096 2015-11-11 15:29 Templates
drwxr-xr-x 2 yiibai yiibai 4096 2015-11-11 15:29 Desktop
-rw-r--r-- 1 yiibai yiibai 8980 2015-11-11 15:21 examples.desktop
關於顯示顏色目錄列表,開啟/etc/bashrc
, 加入如下一行:
alias ls="ls --color"
下次啟動bash時就可以像在Slackware裡那樣顯示彩色的目錄列表了, 其中顏色的含義如下: