歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

Linux中ls命令的參數與返回結果完全解析

ls命令主要就是用來陳列出目錄的詳細信息.
在默認情況下是列出當前目錄下的文件信息(不包含以.開頭的文件, 文件夾),同時按字母順序來排列條目.

語法如下

復制代碼代碼如下:
ls [OPTION]... [FILE]...

參數介紹 (不包含過於生僻的)
-a, --all 同時顯示出以.開頭的內容,包括.目錄(當前目錄)和..目錄(父目錄).
-A, --almost-all 同時顯示出以.開頭的內容,不包括.目錄和..目錄.
--author 在使用-l參數時同時顯示出文件創建者.
-B, --ignore-backups 不顯示以~結尾的文件(備份文件).
-c (默認)按最近修改時間來排列顯示條目,新的在前面.-lt按最近修改時間排列條目,並顯示修改時間.-l顯示修改時間,但按字母順序排列.
-C 一列列的列出條目.
--color[=WHEN] 設置是否用顏色區分條目類別,WHEN可以為never,always和auto.never和always都很明了,auto是指標准輸出和terminal綁定時才顯示顏色.顏色由環境變量LS_COLORS決定.
-d, --directory 之列出目錄條目,且不列出快捷方式.
-f 不排序列出,啟用-aU,同時禁用-ls和--color.
-g 類似-l,但不顯示除所有者.
-G, --no-group 在-l中不列出組名.
-h, --human-readable 在-l中以更易理解的方式列出文件大小. (e.g., 1K 20M)
--si 同上,但倍數是1000而不是1024
-i, --inode 顯示出每個條目的index number.
-I, --ignore=PATTERN 不列出符合shell樣式的條目.
--hide=PATTERN 但是會被-a或-A覆蓋.
-l 以詳細列表的模式展示信息.
-m 所有項目用逗號分隔顯示.
-n, --numeric-uid-gid 類似-l,同時列出用戶和分組信息.
-o 類似-l,但不列出組信息.
-p, --indicator-style=slash 在目錄後面加上/
-r, --reverse 反向排序顯示.
-R, --recursive 列出所有子目錄.
-s, --size 顯示出每個文件被分配的空間.
-S 按大小來排序文件.
--sort=WORD 根據WORD來排序,可以為none,extension,size,time和version.
--time=WORD 在-l裡,根據WORD來替代修改時間,可以為atime,access,use,ctime,status.
-t 根據修改時間排序,新的在前面.
-U 不排序,根據系統原有順序排列.
-v 根據版本號排列.
-x 按行的順序排列.
-X 根據擴展名排序.
-1 一行只顯示一個項目.
--help 幫助信息.
--version 版本信息.

返回值
0 正常.
1 小問題(e.g., 不能進入子目錄).
2 嚴重問題(e.g., 不能進入命令行參數顯示的目錄).

ls -l的結果說明
使用-l選項,可以以長格式的方式顯示目錄內容,如:
201655104539080.jpg (580×183)

在此輸出結果中,總共顯示出七列內容:
第一列為文件種類及權限。此列共有10個字符,其中第一個字符表示文件的種類。即,-表示是普通文件,d表示為目錄,c表示為字符設備,b表示為塊設備。而緊跟其後的10個字符,可以分為3塊,每3個字符為一塊,表示了此文件(目錄)的屬主、屬組及others的權限。其中,r表示read,w表示write,x表示execute,-表示無權限。
如,上圖中的第一行,-rw-------,表示這是一個普通文件,文件的屬主有讀取和寫入的權限,文件的屬組無權限,others無權限。
第二列表示硬鏈接個數(文件每增加一個硬鏈接,數字會增加1,默認從1開始,1表示無硬鏈接文件,如果是一個目錄,它的默認值應該是2。目錄是不能做硬鏈接的)。
第三列為文件(目錄)的屬主。
第四列為文件(目錄)的屬組。
第五列為文件(目錄)的大小,單為為字節。
第六列為文件(目錄)創建時間或最後一次訪問時間,順序為月、日、時間,如果該時間離現在過久,則直接顯示年份。
第七列為文件名。
由於ls –l命令比較常用,在某些發行版中,已經將ll命令定義為ls –l的別名了。

ls常用選項
ls 顯示目錄的內容時,會將文件按a到z的字母順序顯示,優先級如下:
數字
a-z
A-Z
也就是說如果不加任何排序的選項,文件名第一個字母是數字的,將優先顯示;其次才是A-Z,然後才是a-z。我們可以加不同的選項以排序顯示:
按文件的大小排序,-S選項;
201655104625791.jpg (558×200)

如果是逆序排序時,我們要用到-r選項;
201655104652592.jpg (558×212)

按最後訪問的時候排序,要用到-t選項;
根據擴展名進行排序,要用到選項 -X ;
201655104713942.jpg (557×207)

遞歸顯示目錄的文件,要用到-R選項;
遞歸顯示目錄下的所有文件,如果該目錄下有子目錄,也會把子目錄的文件一並顯示出來。
ls輸出內容在終端顯示顏色的選項 --color;
在一般的情況下,ls輸出內容是有顏色的,比如目錄是藍色,壓縮文件是紅字的顯示。如果沒有顏色,可以加上選項。當然也可以去掉顏色。
--color=never  表示輸出結果時沒有彩色
--color=auto  表示自動
--color=always 表示輸出內容有彩色

通配符在ls命令中的應用
* 代表0個或多個字符,而[]內部包括任何字符,而?代表任何單個字符。
比如我們顯示在/目錄下的所有以m開頭的文件:
201655104742790.jpg (558×92)

我們顯示當前目錄下以數字開頭的所有文件:
201655104758168.png (585×166)

再如:
201655104829168.jpg (558×93)

Copyright © Linux教程網 All Rights Reserved