ls 命令在linux系統中是使用頻率最頻繁的幾個命令之一,直接使用不帶目錄名,是默認顯示當前目錄的文件及子目錄名稱,ls加指定目錄名,則可以查看指定目錄下的文件及子目錄名稱,ls不僅可以查看目錄下有哪些文件和子目錄,還可以通過指定參數還可以查看這些文件的大小、權限、以及修改日期等,在日常工作中使用得很多。
ls - list directory contents
命令格式
ls [option] [directory]
常用參數
-a或--all: 列出目錄下的所有文件,包括.和..以及的隱藏文件。
-A或--almost-all: 等效-a,但不列出.(.表示當前目錄)和..(..表示上級目錄)目錄。
-1: 每列僅顯示一個文件或者目錄。
-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執行。
第二個字段:
文件硬鏈接數和目錄的子目錄數
第三個字段:
文件所屬者
第四個字段:
文件所屬組
第五個字段:
文件大小
第六個字段:
文件最后一次修改月份
第七個字段:
文件最后一次修改日期
第八個字段:
文件最后一次修改時間
第九個字段:
文件名,如果是一個鏈接文件,會有一個>指向他鏈接的源文件
????
轉載于:https://blog.51cto.com/277511467/1793951