顯示一個或多個文件的相關信息。
ls [options] [file-list]
參數
默認情況下,ls按照文件名的字母順序列出文件的信息,file-list可以是任意文件或目錄
當file-list包含多個目錄時,ls將顯示目錄的名稱,不顯示子目錄和子文件
當file-list為普通文件時,ls則顯示該文件的相關信息
選項
-a 顯示所有文件名列表,包括隱藏文件(文件名以句點開始)
-A 與-a類似,但不列出 . 和 ..目錄項
-l 列出每個文件的更多信息
-m 顯示用逗號分割的文件名,文件列表的寬度與屏幕的寬度相同
-h 從K(千字節)、M(兆字節)、和G(千兆字節)中選擇合適的單位顯示文件的大小
-r 以相反的順序列出目錄層次結構
-R 遞歸列出子目錄的內容
-t 按最后一次修改時間的順序顯示文件
-u 按最后一次訪問時間的順序顯示文件
-x 按行顯示文件列表(默認情況下,按列顯示)
-X 按文件擴展名的順序顯示文件,沒有擴展名的文件首先被列出
-1 一行顯示一個文件
-d 只顯示目錄名稱
-F 該選項在每個目錄后顯示斜杠(/);在每個可執行文件后顯示星號(*);在每個符號鏈接后顯示符號@
示例
ls
$ ls a.out Demo1.java hello.c pink.cpp test.txt work bin Demo.java install.sh su.sh txt
按照字母順序列出文件名,垂直排列
ls -x
$ ls -x a.out bin Demo1.java Demo.java hello.c install.sh pink.cpp su.sh test.txt txt work
按照字母順序列出文件名,水平排列
ls -F
$ ls -F a.out* Demo1.java hello.c pink.cpp test.txt work/ bin/ Demo.java install.sh* su.sh* txt@
目錄后顯示斜杠(/),可執行文件后顯示星號(*),符號鏈接后顯示@
ls -l
$ ls -l 總用量 8 drwxrwxr-x 2 siu siu 4096 1月 7 20:00 bin -rwxrwxr-x 1 siu siu 0 1月 7 20:00 install.sh -rw-rw-r-- 1 siu siu 0 1月 7 20:06 pink.cpp -rw-rw-r-- 1 siu siu 0 1月 7 20:01 test.txt lrwxrwxrwx 1 siu siu 8 1月 7 20:01 txt -> test.txt drwxrwxr-x 2 siu siu 4096 1月 7 20:02 work
使用長列表方式列出文件名,也就是詳細信息
ls -lh
$ ls -lh 總用量 57M -rw------- 1 siu siu 326K 12月 25 16:50 iArtWork.zip -rw------- 1 siu siu 54M 12月 31 22:41 jtregex3_jb51.7z -rw------- 1 siu siu 2.9M 1月 4 21:10 MBoo.zip
使用合適單位顯示文件大小,此處我特意捉了幾個大文件,看總用量 57M
ls -a
$ ls -a . .. .AwtDemo.java.swp bin install.sh pink.cpp test.txt txt work
列出所有文件,包括隱藏文件,其中.代表當前目錄 ..代表上級目錄(Linux中就這樣的,可以不理)
ls -al
$ ls -al 總用量 28 drwxr-xr-x 4 siu siu 4096 1月 7 20:16 . drwxr-xr-x 51 siu siu 4096 1月 7 14:09 .. -rw------- 1 siu siu 12288 12月 12 14:22 .AwtDemo.java.swp drwxrwxr-x 2 siu siu 4096 1月 7 20:00 bin -rwxrwxr-x 1 siu siu 0 1月 7 20:00 install.sh -rw-rw-r-- 1 siu siu 0 1月 7 20:06 pink.cpp -rw-rw-r-- 1 siu siu 0 1月 7 20:01 test.txt lrwxrwxrwx 1 siu siu 8 1月 7 20:01 txt -> test.txt drwxrwxr-x 2 siu siu 4096 1月 7 20:02 work
使用長列表的方式列出所有文件
ls -ral
$ ls -ral 總用量 28 drwxrwxr-x 2 siu siu 4096 1月 7 20:02 work lrwxrwxrwx 1 siu siu 8 1月 7 20:01 txt -> test.txt -rw-rw-r-- 1 siu siu 0 1月 7 20:01 test.txt -rw-rw-r-- 1 siu siu 0 1月 7 20:06 pink.cpp -rwxrwxr-x 1 siu siu 0 1月 7 20:00 install.sh drwxrwxr-x 2 siu siu 4096 1月 7 20:00 bin -rw------- 1 siu siu 12288 12月 12 14:22 .AwtDemo.java.swp drwxr-xr-x 51 siu siu 4096 1月 7 14:09 .. drwxr-xr-x 4 siu siu 4096 1月 7 20:16 .
使用長列表的方式列出所有文件,但字母逆序
ls -tl
$ ls -tl 總用量 12 -rw-rw-r-- 1 siu siu 5 1月 7 20:27 demo.c drwxrwxr-x 2 siu siu 4096 1月 7 20:02 work lrwxrwxrwx 1 siu siu 8 1月 7 20:01 txt -> test.txt -rw-rw-r-- 1 siu siu 0 1月 7 20:01 test.txt -rwxrwxr-x 1 siu siu 0 1月 7 20:00 install.sh drwxrwxr-x 2 siu siu 4096 1月 7 20:00 bin
按照文件修改時間排序,最近修改的文件信息在列表最頂部
ls -rtl
$ ls -rtl 總用量 12 drwxrwxr-x 2 siu siu 4096 1月 7 20:00 bin -rwxrwxr-x 1 siu siu 0 1月 7 20:00 install.sh -rw-rw-r-- 1 siu siu 0 1月 7 20:01 test.txt lrwxrwxrwx 1 siu siu 8 1月 7 20:01 txt -> test.txt drwxrwxr-x 2 siu siu 4096 1月 7 20:02 work -rw-rw-r-- 1 siu siu 5 1月 7 20:27 demo.c
按照文件修改時間排序,最近修改的文件信息在列表最底部
ls 目錄
$ ls bin a.txt b.txt c.txt
列出目錄中內容,此處bin是一個目錄
ls -dl 目錄
$ ls -dl bin drwxrwxr-x 2 siu siu 4096 1月 7 20:41 bin
用長列表的方式列出bin目錄的詳細信息
ls -R 目錄
$ ls -R bin bin: a.txt b.txt c.txt dir bin/dir: d.txt e.txt
遞歸列出bin目錄下的所有文件
ls -l t*
$ ls -l t* -rw-rw-r-- 1 siu siu 0 1月 7 20:01 test.txt lrwxrwxrwx 1 siu siu 8 1月 7 20:01 txt -> test.txt
列出所有t開頭的文件
Tips
1.參數可以分開使用,也可以連在一起使用。ls -al 和 ls -a -l效果是一樣的
2.ls后面可接各種通配符,各種目錄,各種普通文件,各種設備文件……靠,各種凌亂……