ls 命令在linux系統中是使用頻率最頻繁的幾個命令之一,直接使用不帶目錄名,是默認顯示當前目錄的文件及子目錄名稱,ls加指定目錄名,則能夠查看指定目錄下的文件及子目錄名稱,ls不只能夠查看目錄下有哪些文件和子目錄,還能夠經過指定參數還能夠查看這些文件的大小、權限、以及修改日期等,在平常工做中使用得不少。node
ls - list directory contentslinux
命令格式bash
ls [option] [directory]less
經常使用參數ssh
-a或--all: 列出目錄下的全部文件,包括.和..以及的隱藏文件。ide
-A或--almost-all: 等效-a,但不列出.(.表示當前目錄)和..(..表示上級目錄)目錄。ui
-1: 每列僅顯示一個文件或者目錄。spa
-c: 配合-lt參數使用,ls -clt directory,根據ctime(最後修改時間)排序並顯示ctime排序
-d或--directory: 僅顯示名稱信息,而不是顯示目錄下的文件,一般配合-l使用,ls -ld directory。遞歸
-g: 等效-l,但不顯示文件所屬者。
-G或--no-group:等效-l,但不顯示文件所屬組。
-f: 對顯示的文件不進行排序,對參數"aU"生效,對參數"lst"失效。
-F或--classify 在執行文件,目錄,Socket,符號鏈接,管道名稱後面,各自加上"*","/","=","@","|"號。
-h: 用"K","M","G"來顯示文件大小。
--si: 此參數效果和"-h"相似,但計算單位是1000Bytes而非1024Bytes。
-H: 使用命令列中的符號連接指示的真正目的地。
-i或--inode: 顯示文件和目錄的inode編號。
-k或--kilobytes: 等效–block-size=1K,將k字節的單位大小顯示文件。
-l: 使用詳細的格式顯示文件或目錄信息,除了文件名,還將文件大小、權限、所屬、及ctime展現出來。
-m: 使用","分隔使用的文件和目錄。
-o: 等同於-G
-n或--numeric-uid-gid 以用戶識別碼和羣組識別碼替代其名稱。
-N或--literal 直接列出文件和目錄名稱,包括控制字符。
-r或--reverse 反向排序。
-R或--recursive 遞歸處理,將指定目錄下的全部文件及子目錄一併顯示。
-s或--size 顯示文件和目錄的大小,以區塊爲單位。
-S 用文件和目錄的大小排序。
-t 用文件和目錄的更改時間排序。
-u 以最後存取時間排序,顯示文件和目錄。
-U 列出文件和目錄名稱時不予排序。
--block-size=<區塊大小> 指定存放文件的區塊大小。
--full-time 列出完整的日期與時間。
--help 在線幫助。
--version 顯示版本信息。
命令實例:
實例1:列出/root目錄下全部文件及子目錄的詳細信息。
命令:
ls -la /root
命令輸出:
[root@oldboylinux ~]# ls -la /root total 116 dr-xr-x---. 7 root root 4096 Jun 29 02:38 . dr-xr-xr-x. 25 root root 4096 Jun 29 18:03 .. -rw-------. 1 root root 1234 Jun 23 22:02 anaconda-ks.cfg drwxr-xr-x. 2 root root 4096 Jun 29 02:33 backup -rw-------. 1 root root 2736 Jun 29 02:10 .bash_history -rw-r--r--. 1 root root 18 May 20 2009 .bash_logout -rw-r--r--. 1 root root 176 May 20 2009 .bash_profile -rw-r--r--. 1 root root 176 Sep 23 2004 .bashrc -rw-r--r--. 1 root root 100 Sep 23 2004 .cshrc drwxr-xr-x. 3 root root 4096 Jun 29 02:27 data drwxr-xr-x. 3 root root 4096 Jun 23 23:01 .emacs.d -rw-r--r--. 1 root root 14 Jun 29 00:29 ett.txt -rw-r--r--. 1 root root 34961 Jun 23 22:02 install.log -rw-r--r--. 1 root root 7346 Jun 23 21:59 install.log.syslog -rw-------. 1 root root 48 Jun 28 23:47 .lesshst drwxr-xr-x. 8 root root 4096 Jun 29 02:38 mkdirtest -rw-r--r--. 1 root root 18 Jun 28 08:16 oldboy.txt -rw-r--r--. 1 root root 129 Dec 4 2004 .tcshrc drwxrwxrwx. 2 root root 4096 Jun 29 02:30 test [root@oldboylinux ~]#
實例2:列出/root目錄全部的問題,並按最後修改時間排序
命令:
ls -lt /root
命令輸出:
[root@oldboylinux ~]# ls -lt /root total 76 drwxr-xr-x. 8 root root 4096 Jun 29 02:38 mkdirtest drwxr-xr-x. 2 root root 4096 Jun 29 02:33 backup drwxrwxrwx. 2 root root 4096 Jun 29 02:30 test drwxr-xr-x. 3 root root 4096 Jun 29 02:27 data -rw-r--r--. 1 root root 14 Jun 29 00:29 ett.txt -rw-r--r--. 1 root root 18 Jun 28 08:16 oldboy.txt -rw-------. 1 root root 1234 Jun 23 22:02 anaconda-ks.cfg -rw-r--r--. 1 root root 34961 Jun 23 22:02 install.log -rw-r--r--. 1 root root 7346 Jun 23 21:59 install.log.syslog [root@oldboylinux ~]#
實例3:只列子目錄
命令
ls -F /root | grep /$ ls -l /root | grep "^d" # /$ 表示以/結尾
命令輸出:
[root@oldboylinux ~]# ls -F /root | grep /$ backup/ data/ mkdirtest/ test/ [root@oldboylinux ~]#
實例4:將/root目錄下全部的文件詳細信息列出來
命令:
ls -lR /root
用ls -l查看一個目錄會獲得一個9個字段的列表
[root@oldboylinux home]# ls -l total 12 -rw-r--r--. 1 root root 15 Jun 30 07:36 1.txt -rw-r--r--. 1 root root 15 Jun 30 07:36 2.txt lrwxrwxrwx. 1 root root 5 Jun 30 07:36 3.txt -> 1.txt drwx------. 4 oldboy oldboy 4096 Jun 30 04:06 oldboy [root@oldboylinux home]#
第一行顯示信息:total(總的文件大小),這個數值是改目錄下全部文件和目錄大小(每行的第5個字段)的總和,也就是改目錄的大小
第一個字段:文件屬性字段
文件屬性字段由10個部分組成,第一個位若是是,'-'表示爲文件,‘-d’表示爲目錄,‘-l’表示爲連接文件,第2-4位表示所屬者對文件操做權限,第5-7位表示所屬組用戶對文件操做權限,第8-10位表示其餘用戶對文件的操做權限,r表示讀取,w寫入,x執行。
第二個字段:
文件硬連接數和目錄的子目錄數
第三個字段:
文件所屬者
第四個字段:
文件所屬組
第五個字段:
文件大小
第六個字段:
文件最後一次修改月份
第七個字段:
文件最後一次修改日期
第八個字段:
文件最後一次修改時間
第九個字段:
文件名,若是是一個連接文件,會有一個>指向他連接的源文件