Linux 命令之 ls -- 列出指定目录下的内容
文章目錄
- 一、命令介紹
- 二、語法格式
- 三、常用選項
- 四、參考示例
- (一)顯示工作目錄下(當前目錄)所有的文件和目錄
- (二)顯示工作目錄下所有的文件和目錄
- (三)顯示文件的詳細信息,且顯示文件的修改時間,按文件名排序
- (四)顯示文件的詳細信息,且顯示文件的修改時間,且根據修改時間來排序
- (五)顯示工作目錄下(當前目錄)所有的文件和目錄,但是不排序
- (六)根據文件類型顯示顏色
- (七)顯示工作目錄下的文件及目錄的詳細信息,且完整顯示文件的修改時間
- (八)顯示當前目錄下的文件及子目錄的詳細信息,且按文件創建時間倒序排列(即最早創建的文件排在前面)
- (九)顯示當前目錄的文件和子目錄,并顯示文件的塊大小
- (十)顯示當前目錄的文件和子目錄,并按文件大小排序
- (十一)顯示當前目錄的文件和子目錄,并按文件大小排序,且橫向羅列展示
- (十二)分別使用-p和-F選項顯示當前目錄下的文件和子目錄,這兩個選項會根據文件類型,給文件名末尾添加一個標識符
- (十三)遞歸顯示指定目錄下的內容
- (十四)-b和--show-control-chars選項演示
- (十五)顯示指定目錄本身的信息
一、命令介紹
命令 ls 的英文名為 List,即列表的意思。該命令用于列出目錄和文件信息,和 Windows 系統下 DOS 命令 dir 類似。當執行 ls 命令時,默認顯示的是非隱藏文件的文件名,且默認以文件名進行排序,且不同類型的文件名會按不同顏色顯示。
二、語法格式
ls [選項] [參數]
參數:指定要顯示內容的目錄,也可以是具體的文件。
三、常用選項
| -a | --all的縮寫,顯示所有的文件和目錄,包括隱藏文件(以.開頭的文件) |
| -A | --almost-all的縮寫,同-a,但不包括表示當前目錄.和上級目錄..這兩個文件 |
| -c | 顯示文件 ctime,必須和 -l 結合起來使用,與 -lt 選項連用時,按照文件狀態時間(ctime)排序輸出目錄內容,排序的依據是文件的索引節點中的 ctime 字段 |
| -C | 多列顯示輸出結果。這是默認選項 |
| -f | 直接列出結果,而不進行排序(ls默認會以文件名排序)。此選項的效果和同時指定 -aU 選項相同,并關閉 -lst 選項的效果 |
| -F | --classify的縮寫,在每個輸出項后追加文件的類型標識符,具體含義:*表示可執行文件,/表示目錄,@表示符號鏈接(symbolic link)文件,|表示命令管道文件(FIFO文件),=表示套接字文件(socket文件)。當文件為普通文件時,不輸出任何標識符 |
| -p | --file-type的縮寫,和-F一樣,但是經測試,僅目錄會在后面追加類型標識符,其它文件類型則不會 |
| --color[=WHEN] | 是否根據文件類型顯示顏色,WHEN可以為never、always或者auto,此選項在Mac終端無效 |
| --full-time | 顯示文件的詳細信息,且會完整顯示文件的修改時間,類似于 ls -l --time-style=full-iso,此選項在 Mac 終端無效 |
| -l | 以長格式顯示目錄下的內容列表。輸出的信息從左到右依次包括文件名,文件類型、權限模式、硬連接數、所有者、組、文件大小和文件的最后修改時間等 |
| -n | 和-l類似,只是顯示的所屬用戶和組不是名稱而是對應的ID。以用戶識別碼和群組識別碼替代其名稱 |
| -r | --reverse 的縮寫,將排序結果以倒序方式顯示。以文件名反序排列并輸出目錄內容列表 |
| -s | --size的縮寫,以塊大小為單位列出所有文件和目錄的大小 |
| -S | 以文件大小排序 |
| -m | 用逗號區隔每個文件和目錄的名稱,即所有項目以逗號分隔,并填滿整行行寬 |
| -t | 按文件和目錄的修改時間(mtime)排序 |
| -R | --recursive的縮寫,遞歸列出指定目錄和子目錄的內容 |
| -b | 把文件名中不可輸出的字符用反斜杠加字符編碼的形式輸出 |
| -d | 顯示目錄,不是目錄中的內容,僅顯示目錄名,而不顯示目錄下的內容列表。顯示符號鏈接文件本身,而不顯示其所指向的目錄列表 |
| -i | 顯示文件索引節點號(inode)。一個索引節點代表一個文件 |
| -k | 以KB(千字節)為單位顯示文件大小 |
| -L | 如果遇到性質為符號鏈接的文件或目錄,直接列出該鏈接所指向的原始文件或目錄 |
| -h | 以人類可讀的形式顯示文件大小 |
四、參考示例
(一)顯示工作目錄下(當前目錄)所有的文件和目錄
[root@htlwk0001host liaowenxiong]# ls -a . cptt hoshiicloud jewellerymall qcterp qpw thoughts yqd .. fjrd hsb pronav qctos smzdc yb [root@htlwk0001host liaowenxiong]#(二)顯示工作目錄下所有的文件和目錄
[root@htlwk0001host liaowenxiong]# ls -A cptt hoshiicloud jewellerymall qcterp qpw thoughts yqd fjrd hsb pronav qctos smzdc yb [root@htlwk0001host liaowenxiong]#(三)顯示文件的詳細信息,且顯示文件的修改時間,按文件名排序
[root@htlwk0001host liaowenxiong]# ls -cl 總用量 52 drwxr-xr-x 7 root root 177 8月 25 11:20 cptt drwxr-xr-x 6 root root 92 8月 26 10:47 fjrd drwxr-xr-x 14 root root 233 8月 25 13:03 hoshiicloud drwxr-xr-x 7 root root 4096 8月 25 13:47 hsb drwxr-xr-x 6 root root 118 8月 25 13:58 jewellerymall drwxr-xr-x 7 root root 170 8月 25 14:42 pronav drwxr-xr-x 7 root root 20480 8月 25 16:09 qcterp drwxr-xr-x 7 root root 4096 8月 25 16:51 qctos drwxr-xr-x 4 root root 52 1月 9 23:13 qpw drwxr-xr-x 7 root root 95 8月 26 11:17 smzdc drwxr-xr-x 7 root root 112 8月 26 16:00 thoughts drwxr-xr-x 7 root root 8192 8月 26 11:25 yb drwxr-xr-x 7 root root 4096 8月 26 11:30 yqd [root@htlwk0001host liaowenxiong]# ls -c -l // 選項可以分開寫 總用量 52 drwxr-xr-x 7 root root 177 8月 25 11:20 cptt drwxr-xr-x 6 root root 92 8月 26 10:47 fjrd drwxr-xr-x 14 root root 233 8月 25 13:03 hoshiicloud drwxr-xr-x 7 root root 4096 8月 25 13:47 hsb drwxr-xr-x 6 root root 118 8月 25 13:58 jewellerymall drwxr-xr-x 7 root root 170 8月 25 14:42 pronav drwxr-xr-x 7 root root 20480 8月 25 16:09 qcterp drwxr-xr-x 7 root root 4096 8月 25 16:51 qctos drwxr-xr-x 4 root root 52 1月 9 23:13 qpw drwxr-xr-x 7 root root 95 8月 26 11:17 smzdc drwxr-xr-x 7 root root 112 8月 26 16:00 thoughts drwxr-xr-x 7 root root 8192 8月 26 11:25 yb drwxr-xr-x 7 root root 4096 8月 26 11:30 yqd [root@htlwk0001host liaowenxiong]#(四)顯示文件的詳細信息,且顯示文件的修改時間,且根據修改時間來排序
[root@htlwk0001host liaowenxiong]# ls -clt 總用量 52 drwxr-xr-x 4 root root 52 1月 9 23:13 qpw drwxr-xr-x 7 root root 112 8月 26 16:00 thoughts drwxr-xr-x 7 root root 4096 8月 26 11:30 yqd drwxr-xr-x 7 root root 8192 8月 26 11:25 yb drwxr-xr-x 7 root root 95 8月 26 11:17 smzdc drwxr-xr-x 6 root root 92 8月 26 10:47 fjrd drwxr-xr-x 7 root root 4096 8月 25 16:51 qctos drwxr-xr-x 7 root root 20480 8月 25 16:09 qcterp drwxr-xr-x 7 root root 170 8月 25 14:42 pronav drwxr-xr-x 6 root root 118 8月 25 13:58 jewellerymall drwxr-xr-x 7 root root 4096 8月 25 13:47 hsb drwxr-xr-x 14 root root 233 8月 25 13:03 hoshiicloud drwxr-xr-x 7 root root 177 8月 25 11:20 cptt [root@htlwk0001host liaowenxiong]#叨叨:命令就是這么奇葩,-cl僅僅顯示文件修改時間但是不會按修改時間排序,-clt才會按修改時間排序
(五)顯示工作目錄下(當前目錄)所有的文件和目錄,但是不排序
叨叨:不指定--color,默認是不會根據文件類型來顯示顏色的
(六)根據文件類型顯示顏色
[root@htlwk0001host home]# ls --color=never dev wwwroot [root@htlwk0001host home]# ls --color=always dev wwwroot [root@htlwk0001host home]#(七)顯示工作目錄下的文件及目錄的詳細信息,且完整顯示文件的修改時間
[root@htlwk0001host liaowenxiong]# ls --full-time 總用量 52 drwxr-xr-x 7 root root 177 2020-08-25 11:20:08.357839752 +0800 cptt drwxr-xr-x 6 root root 92 2020-08-26 10:47:58.857910245 +0800 fjrd drwxr-xr-x 14 root root 233 2020-08-25 13:03:29.260491980 +0800 hoshiicloud[root@htlwk0001host liaowenxiong]# ls -l --time-style=full-iso 總用量 52 drwxr-xr-x 7 root root 177 2020-08-25 11:20:08.357839752 +0800 cptt drwxr-xr-x 6 root root 92 2020-08-26 10:47:58.857910245 +0800 fjrd drwxr-xr-x 14 root root 233 2020-08-25 13:03:29.260491980 +0800 hoshiicloud[root@htlwk0001host liaowenxiong]#(八)顯示當前目錄下的文件及子目錄的詳細信息,且按文件創建時間倒序排列(即最早創建的文件排在前面)
[root@htlwk0001host liaowenxiong]# ls -tlr 總用量 52 drwxr-xr-x 7 root root 177 8月 25 11:20 cptt drwxr-xr-x 7 root root 4096 8月 25 13:47 hsb drwxr-xr-x 6 root root 118 8月 25 13:58 jewellerymall drwxr-xr-x 7 root root 170 8月 25 14:42 pronav drwxr-xr-x 7 root root 112 8月 26 15:51 thoughts drwxr-xr-x 2 root root 6 2月 6 13:29 test11 drwxr-xr-x 2 root root 6 2月 6 13:30 test2[root@htlwk0001host liaowenxiong]# ls -tl --reverse 總用量 52 drwxr-xr-x 7 root root 177 8月 25 11:20 cptt drwxr-xr-x 7 root root 4096 8月 25 13:47 hsb drwxr-xr-x 6 root root 118 8月 25 13:58 jewellerymall drwxr-xr-x 7 root root 4096 8月 26 11:30 yqd drwxr-xr-x 7 root root 112 8月 26 15:51 thoughts drwxr-xr-x 2 root root 6 2月 6 13:29 test11 drwxr-xr-x 2 root root 6 2月 6 13:30 test2[root@htlwk0001host cptt]# ls -ltr i* // 列出工作目錄下所有名稱以i開頭的文件和目錄,注意找到目錄,還會把目錄內的內容展示出來 -rw-r--r-- 1 root root 51897 9月 19 2019 index.htmlimages: 總用量 0 drwxr-xr-x 2 root root 111 8月 25 11:19 首頁 drwxr-xr-x 2 root root 118 8月 25 11:19 文章詳情 drwxr-xr-x 2 root root 269 8月 25 11:19 發布文章 drwxr-xr-x 2 root root 6 8月 25 11:19 文章詳情_原創 [root@htlwk0001host cptt]#(九)顯示當前目錄的文件和子目錄,并顯示文件的塊大小
[root@htlwk0001host liaowenxiong]# ls -s 總用量 520 cptt 8 hsb 24 qcterp 0 smzdc 0 thoughts0 fjrd 0 jewellerymall 4 qctos 0 test11 12 yb0 hoshiicloud 0 pronav 0 qpw 0 test2 4 yqd [root@htlwk0001host liaowenxiong]#知識點:
假設每一個block僅能容納一個文件, 如果塊大小為4K, 而文件只有1K,則會有3K的空間被浪費,而total(總用量)記錄的是4K的容量,所以total里面計算的是第一列
(十)顯示當前目錄的文件和子目錄,并按文件大小排序
[root@htlwk0001host liaowenxiong]# ls -S qcterp hsb yqd cptt jewellerymall smzdc qpw test2 yb qctos hoshiicloud pronav thoughts fjrd test11 [root@htlwk0001host liaowenxiong]#(十一)顯示當前目錄的文件和子目錄,并按文件大小排序,且橫向羅列展示
[root@htlwk0001host liaowenxiong]# ls -S -m qcterp, yb, hsb, qctos, yqd, hoshiicloud, cptt, pronav, jewellerymall, thoughts, smzdc, fjrd, qpw, test11, test2 [root@htlwk0001host liaowenxiong]#叨叨:示例10你知道最大的文件是qcterp,那其次呢?你不會知道吧!在示例11中,你只要從左至右看就知道了,最大的是qcterp,其次yb,再次hsb…
(十二)分別使用-p和-F選項顯示當前目錄下的文件和子目錄,這兩個選項會根據文件類型,給文件名末尾添加一個標識符
(十三)遞歸顯示指定目錄下的內容
liaowenxiong@liaowenxiongdeMacBook-Air Demo % ls -R Demo02DataType.class DemoFor.class Demo02DataType.java DemoFor.java Demo03DataTypeChar.class file1 Demo03DataTypeChar.java./file1: file2./file1/file2: liaowenxiong@liaowenxiongdeMacBook-Air Demo %叨叨:如上面的執行結果可知,Demo下子目錄file1,file1的子目錄file2的內容也都顯示出來了
(十四)-b和–show-control-chars選項演示
下面通過創建兩個含不可顯示字符\001和\n的文件名,來展示-b和–show-control-chars選項的區別。
[root@aiezu.com mm]# touch "`echo -e "aiezu.com\001.txt"`"[root@aiezu.com mm]# touch "`echo -e "aiezu\n.com.txt"`"[root@aiezu.com mm]# ls aiezu.com?.txt aiezu?.com.txt[root@aiezu mm]# ls -b aiezu.com\001.txt aiezu\n.com.txt[root@aiezu.com mm]# ls --show-control-chars aiezu.com.txt aiezu .com.txt(十五)顯示指定目錄本身的信息
注意:命令 ls 帶不帶選項 -a 或 -l ,指定的目錄或者文件路徑是不是以 / 結尾,命令執行結果是有區別。
[root@htlwk0001host home]# ls -d /Users // 就僅顯示目錄名稱 /Users [root@htlwk0001host home]# ls -d // 顯示當前目錄 . [root@htlwk0001host home]# ls -ld // 顯示當前目錄的詳細信息 drwxr-xr-x+ 56 liaowenxiong staff 1792 2 6 19:31 .加上選項 -l,得到的結果:
[root@htlwk0001host home]# ls -al /bin lrwxrwxrwx. 1 root root 7 5月 11 2019 /bin -> usr/bin不加選項 -l,得到的結果:
[root@htlwk0001host home]# ls -a /bin. du jconsole nl-addr-delete rpm2archive sync.. dumpkeys jcontrol nl-addr-list rpm2cpio systemctl沒有以 / 結尾,得到的結果:
[root@htlwk0001host home]# ls -l /bin lrwxrwxrwx. 1 root root 7 5月 11 2019 /bin -> usr/bin以 / 結尾,得到的結果:
[root@htlwk0001host home]# ls -l /bin/ 總用量 345548 -rwxr-xr-x 1 root root 55048 6月 10 2020 '[' lrwxrwxrwx 1 root root 8 4月 16 2020 2to3 -> 2to3-3.6 -rwxr-xr-x 1 root root 106 4月 16 2020 2to3-3.6 -rwxr-xr-x 1 root root 58456 6月 9 2020 ab -rwxr-xr-x. 1 root root 33864 5月 11 2019 ac總結
以上是生活随笔為你收集整理的Linux 命令之 ls -- 列出指定目录下的内容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 法拉第未来启动“交付共创日”,并公布 F
- 下一篇: Linux 命令之 mv -- 移动文件