這篇文章將為大家詳細講解有關Linux中ls命令主要用來做什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
ls命令 命令。ls命令的輸出信息可以進行彩色加亮顯示,以分區不同類型的文件。
顯示目錄內容列表
ls [選項] [文件名...] [-1abcdfgiklmnopqrstuxABCDFGLNQRSUX] [-w cols] [-T cols] [-I pattern] [--full-time] [--format={long,verbose,commas,across,vertical,single-col‐umn}] [--sort={none,time,size,extension}] [--time={atime,access,use,ctime,status}] [--color[={none,auto,always}]] [--help] [--version] [--]
-C # 多列輸出,縱向排序。 -F # 每個目錄名加 "/" 后綴,每個 FIFO 名加 "|" 后綴, 每個可運行名加“ * ”后綴。 -R # 遞歸列出遇到的子目錄。 -a # 列出所有文件,包括以 "." 開頭的隱含文件。 -c # 使用“狀態改變時間”代替“文件修改時間”為依據來排序(使用“-t”選項時)或列出(使用“-l”選項時)。 -d # 將目錄名像其它文件一樣列出,而不是列出它們的內容。 -i # 輸出文件前先輸出文件系列號(即 i 節點號: i-node number)。 -l 列出(以單列格式)文件模式 # (file mode),文件的鏈接數,所有者名,組名,文件大?。ㄒ宰止潪閱挝唬?,時間信息,及文件名。 # 缺省時,時間信息顯示最近修改時間;可以以選項“-c”和“-u”選擇顯示其它兩種時間信息。對于設備文件, # 原先顯示文件大小的區域通常顯示的是主要和次要的信號(majorand minor device numbers)。 -q # 將文件名中的非打印字符輸出為問號。(對于到終端的輸出這是缺省的。) -r # 逆序排列。 -t # 按時間信息排序。 -u # 使用最近訪問時間代替最近修改時間為依據來排序(使用“-t”選項時)或列出(使用“-l”選項時)。 -1 # 單列輸出。 -1, --format=single-column # 一行輸出一個文件(單列輸出)。如標準輸出不是到終端,此選項就是缺省選項。 -a, --all # 列出目錄中所有文件,包括以“.”開頭的文件。 -b, --escape # 把文件名中不可輸出的字符用反斜杠加字符編號(就像在 C 語言里一樣)的形式列出。 -c, --time=ctime, --time=status # 按文件狀態改變時間(i節點中的ctime)排序并輸出目錄內 # 容。如采用長格式輸出(選項“-l”),使用文件的狀態改 # 變時間取代文件修改時間?!咀g注:所謂文件狀態改變(i節 # 點中以ctime標志),既包括文件被修改,又包括文件屬性( 如所有者、組、鏈接數等等)的變化】 -d, --directory # 將目錄名像其它文件一樣列出,而不是列出它們的內容。 -f # 不排序目錄內容;按它們在磁盤上存儲的順序列出。同時啟 動“ -a ”選項,如果在“ -f ”之前存在“ -l”、 # “ - -color ”或“ -s ”,則禁止它們。 -g # 忽略,為兼容UNIX用。 -i, --inode # 在每個文件左邊打印 i 節點號(也叫文件序列號和索引號: file serial number and index num‐ # ber)。i節點號在每個特定的文件系統中是唯一的。 -k, --kilobytes # 如列出文件大小,則以千字節KB為單位。 -l, --format=long, --format=verbose # 除每個文件名外,增加顯示文件類型、權限、硬鏈接數、所 有者名、組名、大?。?nbsp; byte # )、及時間信息(如未指明是 其它時間即指修改時間)。對于6個月以上的文件或超出未來 1 # 小時的文件,時間信息中的時分將被年代取代。 # 每個目錄列出前,有一行“總塊數”顯示目錄下全部文件所 占的磁盤空間。塊默認是 1024 # 字節;如果設置了 POSIXLY_CORRECT 的環境變量,除非用“ -k ”選項,則默認塊大小是 512 字 # 節。每一個硬鏈接都計入總塊數(因此可能重復計數),這無 疑是個缺點。 # 列出的權限類似于以符號表示(文件)模式的規范。但是 ls # 在每套權限的第三個字符中結合了多位( multiple bits ) 的信息,如下: s 如果設置了 setuid # 位或 setgid 位,而且也設置了相應的可執行位。 S 如果設置了 setuid 位或 setgid # 位,但是沒有設置相應的可執行位。 t 如果設置了 sticky 位,而且也設置了相應的可執行位。 T # 如果設置了 sticky 位,但是沒有設置相應的可執行位。 x # 如果僅僅設置了可執行位而非以上四種情況。 - 其它情況(即可執行位未設置)。 -m, --format=commas # 水平列出文件,每行盡可能多,相互用逗號和一個空格分隔。 -n, --numeric-uid-gid # 列出數字化的 UID 和 GID 而不是用戶名和組名。 -o # 以長格式列出目錄內容,但是不顯示組信息。等于使用“ --format=long --no-group # ”選項。提供此選項是為了與其它版本的 ls 兼容。 -p # 在每個文件名后附上一個字符以說明該文件的類型。類似“ -F ”選項但是不 標示可執行文件。 -q, --hide-control-chars # 用問號代替文件名中非打印的字符。這是缺省選項。 -r, --reverse # 逆序排列目錄內容。 -s, --size # 在每個文件名左側輸出該文件的大小,以 1024 字節的塊為單位。如果設置了 POSIXLY_CORRECT # 的環境變量,除非用“ -k ”選項,塊大小是 512 字節。 -t, --sort=time # 按文件最近修改時間( i 節點中的 mtime )而不是按文件名字典序排序,新文件 靠前。 -u, --time=atime, --time=access, --time=use # 類似選項“ -t ”,但是用文件最近訪問時間( i 節點中的 atime )取代文件修 # 改時間。如果使用長格式列出,打印的時間是最近訪問時間。 -w, --width cols # 假定屏幕寬度是 cols ( cols 以實際數字取代)列。如未用此選項,缺省值是這 # 樣獲得的:如可能先嘗試取自終端驅動,否則嘗試取自環境變量 COLUMNS (如果設 # 置了的話),都不行則取 80 。 -x, --format=across, --format=horizontal # 多列輸出,橫向排序。 -A, --almost-all # 顯示除 "." 和 ".." 外的所有文件。 -B, --ignore-backups # 不輸出以“ ~ ”結尾的備份文件,除非已經在命令行中給出。 -C, --format=vertical # 多列輸出,縱向排序。當標準輸出是終端時這是缺省項。使用命令名 dir 和 d 時, 則總是缺省的。 -D, --dired # 當采用長格式(“-l”選項)輸出時,在主要輸出后,額外打印一行: //DIRED// BEG1 END1 BEG2 # END2 ... # BEGn 和 ENDn 是無符號整數,記錄每個文件名的起始、結束位置在輸出中的位置( # 字節偏移量)。這使得 Emacs 易于找到文件名,即使文件名包含空格或換行等非正 # 常字符也無需特異的搜索。 # # 如果目錄是遞歸列出的(“ -R ”選項),每個子目錄后列出類似一行: # //SUBDIRED// BEG1 END1 ... 【譯注:我測試了 TurboLinux4.0 和 RedHat6.1 ,發現它們都是在 “ # //DIRED// BEG1... ”之后列出“ //SUBDIRED// BEG1 ... ”,也即只有一個 # 而不是在每個子目錄后都有。而且“ //SUBDIRED// BEG1 ... ”列出的是各個子目 錄名的偏移?!? -F, --classify, --file-type # 在每個文件名后附上一個字符以說明該文件的類型?!?nbsp; * ”表示普通的可執行文件; “ / ”表示目錄;“ # @ ”表示符號鏈接;“ | ”表示FIFOs;“ = ”表示套接字 (sockets) ;什么也沒有則表示普通文件。 -G, --no-group # 以長格式列目錄時不顯示組信息。 -I, --ignorepattern # 除非在命令行中給定,不要列出匹配shell文件名匹配式(pattern ,不是指一般 # 表達式)的文件。在shell中,文件名以"."起始的不與在文件名匹配式(pattern) # 開頭的通配符匹配。 -L, --dereference # 列出符號鏈接指向的文件的信息,而不是符號鏈接本身。 -N, --literal # 不要用引號引起文件名。 -Q, --quote-name # 用雙引號引起文件名,非打印字符以 C 語言的方法表示。 -R, --recursive # 遞歸列出全部目錄的內容。 -S, --sort=size # 按文件大小而不是字典序排序目錄內容,大文件靠前。 -T, --tabsize cols # 假定每個制表符寬度是 cols 。缺省為 8。為求效率, ls 可能在輸出中使用制表符。 若 cols 為 0,則不使用制表符。 -U, --sort=none # 不排序目錄內容;按它們在磁盤上存儲的順序列出。(選項“-U”和“-f”的不 # 同是前者不啟動或禁止相關的選項。)這在列很大的目錄時特別有用,因為不加排序 # 能顯著地加快速度。 -X, --sort=extension # 按文件擴展名(由最后的 "." 之后的字符組成)的字典序排序。沒有擴展名的先列 出。 --color[=when] # 指定是否使用顏色區別文件類別。環境變量 LS_COLORS 指定使用的顏色。如何設置 這個變量見 dir‐ # colors(1) 。 when 可以被省略,或是以下幾項之一: none # 不使用顏色,這是缺省項。 # auto 僅當標準輸出是終端時使用。 always 總是使用顏色。指定 --color 而且省略 when 時就等同于 # --color=always 。 --full-time # 列出完整的時間,而不是使用標準的縮寫。格式如同 date(1) 的缺省格式;此格式 # 是不能改變的,但是你可以用 cut(1) 取出其中的日期字串并將結果送至命令 “ date -d ”。 # 輸出的時間包括秒是非常有用的。( Unix 文件系統儲存文件的時間信息精確到秒, # 因此這個選項已經給出了系統所知的全部信息。)例如,當你有一個 Makefile 文件 # 不能恰當地生成文件時,這個選項會提供幫助。
目錄:指定要顯示列表的目錄,也可以是具體的文件。
$ ls # 僅列出當前目錄可見文件 $ ls -l # 列出當前目錄可見文件詳細信息 $ ls -hl # 列出詳細信息并以可讀大小顯示文件大小 $ ls -al # 列出所有文件(包括隱藏)的詳細信息 $ ls --human-readable --size -1 -S --classify # 按文件大小排序 $ du -sh * | sort -h # 按文件大小排序(同上)
顯示當前目錄下包括影藏文件在內的所有文件列表
[root@localhost ~]# ls -a . anaconda-ks.cfg .bash_logout .bashrc install.log .mysql_history satools .tcshrc .vimrc .. .bash_history .bash_profile .cshrc install.log.syslog .rnd .ssh .viminfo
輸出長格式列表
[root@localhost ~]# ls -1 anaconda-ks.cfg install.log install.log.syslog satools
顯示文件的inode信息
索引節點(index inode簡稱為“inode”)是Linux中一個特殊的概念,具有相同的索引節點號的兩個文本本質上是同一個文件(除文件名不同外)。
[root@localhost ~]# ls -i -l anaconda-ks.cfg install.log 2345481 -rw------- 1 root root 859 Jun 11 22:49 anaconda-ks.cfg 2345474 -rw-r--r-- 1 root root 13837 Jun 11 22:49 install.log
水平輸出文件列表
[root@localhost /]# ls -m bin, boot, data, dev, etc, home, lib, lost+found, media, misc, mnt, opt, proc, root, sbin, selinux, srv, sys, tmp, usr, var
修改最后一次編輯的文件
最近修改的文件顯示在最上面。
[root@localhost /]# ls -t tmp root etc dev lib boot sys proc data home bin sbin usr var lost+found media mnt opt selinux srv misc
顯示遞歸文件
[root@localhost ~]# ls -R .: anaconda-ks.cfg install.log install.log.syslog satools ./satools: black.txt freemem.sh iptables.sh lnmp.sh mysql php502_check.sh ssh_safe.sh
打印文件的UID和GID
[root@localhost /]# ls -n total 254 drwxr-xr-x 2 0 0 4096 Jun 12 04:03 bin drwxr-xr-x 4 0 0 1024 Jun 15 14:45 boot drwxr-xr-x 6 0 0 4096 Jun 12 10:26 data drwxr-xr-x 10 0 0 3520 Sep 26 15:38 dev drwxr-xr-x 75 0 0 4096 Oct 16 04:02 etc drwxr-xr-x 4 0 0 4096 Jun 12 10:26 home drwxr-xr-x 14 0 0 12288 Jun 16 04:02 lib drwx------ 2 0 0 16384 Jun 11 22:46 lost+found drwxr-xr-x 2 0 0 4096 May 11 2011 media drwxr-xr-x 2 0 0 4096 Nov 8 2010 misc drwxr-xr-x 2 0 0 4096 May 11 2011 mnt drwxr-xr-x 2 0 0 4096 May 11 2011 opt dr-xr-xr-x 232 0 0 0 Jun 15 11:04 proc drwxr-x--- 4 0 0 4096 Oct 15 14:43 root drwxr-xr-x 2 0 0 12288 Jun 12 04:03 sbin drwxr-xr-x 2 0 0 4096 May 11 2011 selinux drwxr-xr-x 2 0 0 4096 May 11 2011 srv drwxr-xr-x 11 0 0 0 Jun 15 11:04 sys drwxrwxrwt 3 0 0 98304 Oct 16 08:45 tmp drwxr-xr-x 13 0 0 4096 Jun 11 23:38 usr drwxr-xr-x 19 0 0 4096 Jun 11 23:38 var
列出文件和文件夾的詳細信息
[root@localhost /]# ls -l total 254 drwxr-xr-x 2 root root 4096 Jun 12 04:03 bin drwxr-xr-x 4 root root 1024 Jun 15 14:45 boot drwxr-xr-x 6 root root 4096 Jun 12 10:26 data drwxr-xr-x 10 root root 3520 Sep 26 15:38 dev drwxr-xr-x 75 root root 4096 Oct 16 04:02 etc drwxr-xr-x 4 root root 4096 Jun 12 10:26 home drwxr-xr-x 14 root root 12288 Jun 16 04:02 lib drwx------ 2 root root 16384 Jun 11 22:46 lost+found drwxr-xr-x 2 root root 4096 May 11 2011 media drwxr-xr-x 2 root root 4096 Nov 8 2010 misc drwxr-xr-x 2 root root 4096 May 11 2011 mnt drwxr-xr-x 2 root root 4096 May 11 2011 opt dr-xr-xr-x 232 root root 0 Jun 15 11:04 proc drwxr-x--- 4 root root 4096 Oct 15 14:43 root drwxr-xr-x 2 root root 12288 Jun 12 04:03 sbin drwxr-xr-x 2 root root 4096 May 11 2011 selinux drwxr-xr-x 2 root root 4096 May 11 2011 srv drwxr-xr-x 11 root root 0 Jun 15 11:04 sys drwxrwxrwt 3 root root 98304 Oct 16 08:48 tmp drwxr-xr-x 13 root root 4096 Jun 11 23:38 usr drwxr-xr-x 19 root root 4096 Jun 11 23:38 var
列出可讀文件和文件夾詳細信息
[root@localhost /]# ls -lh total 254K drwxr-xr-x 2 root root 4.0K Jun 12 04:03 bin drwxr-xr-x 4 root root 1.0K Jun 15 14:45 boot drwxr-xr-x 6 root root 4.0K Jun 12 10:26 data drwxr-xr-x 10 root root 3.5K Sep 26 15:38 dev drwxr-xr-x 75 root root 4.0K Oct 16 04:02 etc drwxr-xr-x 4 root root 4.0K Jun 12 10:26 home drwxr-xr-x 14 root root 12K Jun 16 04:02 lib drwx------ 2 root root 16K Jun 11 22:46 lost+found drwxr-xr-x 2 root root 4.0K May 11 2011 media drwxr-xr-x 2 root root 4.0K Nov 8 2010 misc drwxr-xr-x 2 root root 4.0K May 11 2011 mnt drwxr-xr-x 2 root root 4.0K May 11 2011 opt dr-xr-xr-x 235 root root 0 Jun 15 11:04 proc drwxr-x--- 4 root root 4.0K Oct 15 14:43 root drwxr-xr-x 2 root root 12K Jun 12 04:03 sbin drwxr-xr-x 2 root root 4.0K May 11 2011 selinux drwxr-xr-x 2 root root 4.0K May 11 2011 srv drwxr-xr-x 11 root root 0 Jun 15 11:04 sys drwxrwxrwt 3 root root 96K Oct 16 08:49 tmp drwxr-xr-x 13 root root 4.0K Jun 11 23:38 usr drwxr-xr-x 19 root root 4.0K Jun 11 23:38 var
顯示文件夾信息
[root@localhost /]# ls -ld /etc/ drwxr-xr-x 75 root root 4096 Oct 16 04:02 /etc/
按時間列出文件和文件夾詳細信息
[root@localhost /]# ls -lt total 254 drwxrwxrwt 3 root root 98304 Oct 16 08:53 tmp drwxr-xr-x 75 root root 4096 Oct 16 04:02 etc drwxr-x--- 4 root root 4096 Oct 15 14:43 root drwxr-xr-x 10 root root 3520 Sep 26 15:38 dev drwxr-xr-x 14 root root 12288 Jun 16 04:02 lib drwxr-xr-x 4 root root 1024 Jun 15 14:45 boot drwxr-xr-x 11 root root 0 Jun 15 11:04 sys dr-xr-xr-x 232 root root 0 Jun 15 11:04 proc drwxr-xr-x 6 root root 4096 Jun 12 10:26 data drwxr-xr-x 4 root root 4096 Jun 12 10:26 home drwxr-xr-x 2 root root 4096 Jun 12 04:03 bin drwxr-xr-x 2 root root 12288 Jun 12 04:03 sbin drwxr-xr-x 13 root root 4096 Jun 11 23:38 usr drwxr-xr-x 19 root root 4096 Jun 11 23:38 var drwx------ 2 root root 16384 Jun 11 22:46 lost+found drwxr-xr-x 2 root root 4096 May 11 2011 media drwxr-xr-x 2 root root 4096 May 11 2011 mnt drwxr-xr-x 2 root root 4096 May 11 2011 opt drwxr-xr-x 2 root root 4096 May 11 2011 selinux drwxr-xr-x 2 root root 4096 May 11 2011 srv drwxr-xr-x 2 root root 4096 Nov 8 2010 misc
按修改時間列出文件和文件夾詳細信息
[root@localhost /]# ls -ltr total 254 drwxr-xr-x 2 root root 4096 Nov 8 2010 misc drwxr-xr-x 2 root root 4096 May 11 2011 srv drwxr-xr-x 2 root root 4096 May 11 2011 selinux drwxr-xr-x 2 root root 4096 May 11 2011 opt drwxr-xr-x 2 root root 4096 May 11 2011 mnt drwxr-xr-x 2 root root 4096 May 11 2011 media drwx------ 2 root root 16384 Jun 11 22:46 lost+found drwxr-xr-x 19 root root 4096 Jun 11 23:38 var drwxr-xr-x 13 root root 4096 Jun 11 23:38 usr drwxr-xr-x 2 root root 12288 Jun 12 04:03 sbin drwxr-xr-x 2 root root 4096 Jun 12 04:03 bin drwxr-xr-x 4 root root 4096 Jun 12 10:26 home drwxr-xr-x 6 root root 4096 Jun 12 10:26 data dr-xr-xr-x 232 root root 0 Jun 15 11:04 proc drwxr-xr-x 11 root root 0 Jun 15 11:04 sys drwxr-xr-x 4 root root 1024 Jun 15 14:45 boot drwxr-xr-x 14 root root 12288 Jun 16 04:02 lib drwxr-xr-x 10 root root 3520 Sep 26 15:38 dev drwxr-x--- 4 root root 4096 Oct 15 14:43 root drwxr-xr-x 75 root root 4096 Oct 16 04:02 etc drwxrwxrwt 3 root root 98304 Oct 16 08:54 tmp
按照特殊字符對文件進行分類
[root@localhost nginx-1.2.1]# ls -F auto/ CHANGES CHANGES.ru conf/ configure* contrib/ html/ LICENSE Makefile man/ objs/ README src/
列出文件并標記顏色分類
[root@localhost nginx-1.2.1]# ls --color=auto auto CHANGES CHANGES.ru conf configure contrib html LICENSE Makefile man objs README src
關于“Linux中ls命令主要用來做什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。