?ls命令是linux下最常用的命令。
ls命令就是list的縮寫缺省下ls用來(lái)打印出當(dāng)前目錄的清單。
如果ls指定其他目錄,那么就會(huì)顯示指定目錄里的文件及文件夾清單。
通過(guò)ls 命令不僅可以查看linux文件夾包含的文件只锻,而且可以查看文件權(quán)限(包括目錄、文件夾紫谷、文件權(quán)限)等查看目錄信息等等齐饮。
ls 命令在日常的linux操作中用的很多!
1.命令格式:
ls?[選項(xiàng)]?[目錄名]
2.命令功能:
列出目標(biāo)目錄中所有的子目錄和文件。
3.常用參數(shù):
-a,?–all?列出目錄下的所有文件笤昨,包括以?.?開頭的隱含文件
-A?同-a祖驱,但不列出“.”(表示當(dāng)前目錄)和“..”(表示當(dāng)前目錄的父目錄)。
-c??配合?-lt:根據(jù)?ctime?排序及顯示?ctime?(文件狀態(tài)最后更改的時(shí)間)配合?-l:顯示?ctime?但根據(jù)名稱排序否則:根據(jù)?ctime?排序
-C?每欄由上至下列出項(xiàng)目
–color[=WHEN]?控制是否使用色彩分辨文件咬腋。WHEN?可以是'never'羹膳、'always'或'auto'其中之一
-d,?–directory?將目錄象文件一樣顯示,而不是顯示其下的文件根竿。
-D,?–dired?產(chǎn)生適合?Emacs?的?dired?模式使用的結(jié)果
-f?對(duì)輸出的文件不進(jìn)行排序陵像,-aU?選項(xiàng)生效,-lst?選項(xiàng)失效
-g?類似?-l,但不列出所有者
-G,?–no-group?不列出任何有關(guān)組的信息
-h,?–human-readable?以容易理解的格式列出文件大小?(例如?1K?234M?2G)
–si?類似?-h,但文件大小取?1000?的次方而不是?1024
-H,?–dereference-command-line?使用命令列中的符號(hào)鏈接指示的真正目的地
–indicator-style=方式?指定在每個(gè)項(xiàng)目名稱后加上指示符號(hào)<方式>:none?(默認(rèn))寇壳,classify?(-F)醒颖,file-type?(-p)
-i,?–inode?印出每個(gè)文件的?inode?號(hào)
-I,?–ignore=樣式?不印出任何符合?shell?萬(wàn)用字符<樣式>的項(xiàng)目
-k?即?–block-size=1K,以?k?字節(jié)的形式表示文件的大小。
-l?除了文件名之外壳炎,還將文件的權(quán)限泞歉、所有者、文件大小等信息詳細(xì)列出來(lái)匿辩。
-L,?–dereference?當(dāng)顯示符號(hào)鏈接的文件信息時(shí)腰耙,顯示符號(hào)鏈接所指示的對(duì)象而并非符號(hào)鏈接本身的信息
-m?所有項(xiàng)目以逗號(hào)分隔,并填滿整行行寬
-o?類似?-l,顯示文件的除組信息外的詳細(xì)信息铲球。
-r,?–reverse?依相反次序排列
-R,?–recursive?同時(shí)列出所有子目錄層
-s,?–size?以塊大小為單位列出所有文件的大小
-S?根據(jù)文件大小排序
–sort=WORD?以下是可選用的?WORD?和它們代表的相應(yīng)選項(xiàng):
extension?-X?status?-c
none?-U?time?-t
size?-S?atime?-u
time?-t?access?-u
version?-v?use?-u
-t?以文件修改時(shí)間排序
-u?配合?-lt:顯示訪問(wèn)時(shí)間而且依訪問(wèn)時(shí)間排序
配合?-l:顯示訪問(wèn)時(shí)間但根據(jù)名稱排序
否則:根據(jù)訪問(wèn)時(shí)間排序
-U?不進(jìn)行排序;依文件系統(tǒng)原有的次序列出項(xiàng)目
-v?根據(jù)版本進(jìn)行排序
-w,?–width=COLS?自行指定屏幕寬度而不使用目前的數(shù)值
-x?逐行列出項(xiàng)目而不是逐欄列出
-X?根據(jù)擴(kuò)展名排序
-1?每行只列出一個(gè)文件
–help?顯示此幫助信息并離開
–version?顯示版本信息并離開
4.常用范例:
例一:列出/home/peidachang文件夾下的所有文件和目錄的詳細(xì)資料
命令:ls?-l?-R?/home/peidachang?? == ll -R /home/peidachang
在使用?ls?命令時(shí)要注意命令的格式:在命令提示符后挺庞,首先是命令的關(guān)鍵字,接下來(lái)是命令參數(shù)稼病,在命令參數(shù)之前要有一短橫線“-”选侨,所有的命令參數(shù)都有特定的作用掖鱼,自己可以根據(jù)需要選用一個(gè)或者多個(gè)參數(shù),在命令參數(shù)的后面是命令的操作對(duì)象援制。在以上這條命令“?ls?-l?-R?/home/peidachang”中戏挡,“l(fā)s”?是命令關(guān)鍵字,“-l?-R”是參數(shù)晨仑,“?/home/peidachang”是命令的操作對(duì)象褐墅。在這條命令中,使用到了兩個(gè)參數(shù)寻歧,分別為“l(fā)”和“R”掌栅,當(dāng)然秩仆,你也可以把他們放在一起使用码泛,如下所示:
命令:ls?-lR?/home/peidachang
這種形式和上面的命令形式執(zhí)行的結(jié)果是完全一樣的。另外澄耍,如果命令的操作對(duì)象位于當(dāng)前目錄中噪珊,可以直接對(duì)操作對(duì)象進(jìn)行操作;如果不在當(dāng)前目錄則需要給出操作對(duì)象的完整路徑,例如上面的例子中齐莲,我的當(dāng)前文件夾是peidachang文件夾痢站,我想對(duì)home文件夾下的peidachang文件進(jìn)行操作,我可以直接輸入?ls?-lR?peidachang选酗,也可以用?ls?-lR?/home/peidachang阵难。
例二:列出當(dāng)前目錄中所有以“t”開頭的目錄的詳細(xì)內(nèi)容,可以使用如下命令:
命令:ll t*
可以查看當(dāng)前目錄下文件名以“t”開頭的所有文件的信息芒填。其實(shí)呜叫,在命令格式中,方括號(hào)內(nèi)的內(nèi)容都是可以省略的殿衰,對(duì)于命令ls而言朱庆,如果省略命令參數(shù)和操作對(duì)象,直接輸入“?ls?”闷祥,則將會(huì)列出當(dāng)前工作目錄的內(nèi)容清單娱颊。
例三:只列出文件下的子目錄
命令:ls?-F?/opt/soft?|grep?/$
列出/opt/soft?文件下面的子目錄
輸出:
[root@localhost?opt]#?ls?-F?/opt/soft?|grep?/$
jdk1.6.0_16/
subversion-1.6.1/
tomcat6.0.32/
命令:ls?-l?/opt/soft?|?grep?"^d"
列出?/opt/soft?文件下面的子目錄詳細(xì)情況
輸出:
[root@localhost?opt]#??ls?-l?/opt/soft?|?grep?"^d"
drwxr-xr-x?10?root?root??????4096?09-17?18:17?jdk1.6.0_16
drwxr-xr-x?16?1016?1016??????4096?10-11?03:25?subversion-1.6.1
drwxr-xr-x??9?root?root??????4096?2011-11-01?tomcat6.0.32
例四:列出目前工作目錄下所有名稱是s?開頭的檔案,愈新的排愈后面凯砍,可以使用如下命令:
命令:ls?-ltr?s*
輸出:
[root@localhost?opt]#?ls?-ltr?s*
src:
總計(jì)?0
script:
總計(jì)?0
soft:
總計(jì)?350644
drwxr-xr-x??9?root?root??????4096?2011-11-01?tomcat6.0.32
-rwxr-xr-x??1?root?root??81871260?09-17?18:15?jdk-6u16-linux-x64.bin
drwxr-xr-x?10?root?root??????4096?09-17?18:17?jdk1.6.0_16
-rw-r--r--??1?root?root?205831281?09-17?18:33?apache-tomcat-6.0.32.tar.gz
-rw-r--r--??1?root?root???5457684?09-21?00:23?tomcat6.0.32.tar.gz
-rw-r--r--??1?root?root???4726179?10-10?11:08?subversion-deps-1.6.1.tar.gz
-rw-r--r--??1?root?root???7501026?10-10?11:08?subversion-1.6.1.tar.gz
drwxr-xr-x?16?1016?1016??????4096?10-11?03:25?subversion-1.6.1
例五:列出目前工作目錄下所有檔案及目錄;目錄于名稱后加"/",?可執(zhí)行檔于名稱后加"*"
命令:ls?-AF
輸出:
[root@localhost?opt]#?ls?-AF
log/??script/??soft/??src/??svndata/??web/
例六:計(jì)算當(dāng)前目錄下的文件數(shù)和目錄數(shù)
命令:
ls?-l?*?|grep?"^-"|wc?-l?---文件個(gè)數(shù)
ls?-l?*?|grep?"^d"|wc?-l????---目錄個(gè)數(shù)
例七:?在ls中列出文件的絕對(duì)路徑
命令:ls?|?sed?"s:^:`pwd`/:"
輸出:
[root@localhost?opt]#?ls?|?sed?"s:^:`pwd`/:"
/opt/log
/opt/script
/opt/soft
/opt/src
/opt/svndata
/opt/web
例九:列出當(dāng)前目錄下的所有文件(包括隱藏文件)的絕對(duì)路徑箱硕,?對(duì)目錄不做遞歸
命令:find?$PWD?-maxdepth?1?|?xargs?ls?-ld
輸出:
[root@localhost?opt]#?find?$PWD?-maxdepth?1?|?xargs?ls?-ld
drwxr-xr-x?8?root?root?4096?10-11?03:43?/opt
drwxr-xr-x?2?root?root?4096?2012-03-08?/opt/log
drwxr-xr-x?2?root?root?4096?2012-03-08?/opt/script
drwxr-xr-x?5?root?root?4096?10-11?03:21?/opt/soft
drwxr-xr-x?2?root?root?4096?2012-03-08?/opt/src
drwxr-xr-x?4?root?root?4096?10-11?05:22?/opt/svndata
drwxr-xr-x?4?root?root?4096?10-09?00:45?/opt/web
例十:遞歸列出當(dāng)前目錄下的所有文件(包括隱藏文件)的絕對(duì)路徑
命令:?find?$PWD?|?xargs?ls?-ld
例十一:指定文件時(shí)間輸出格式
命令:
ls?-tl?--time-style=full-iso
輸出:
[root@localhost?soft]#?ls?-tl?--time-style=full-iso
總計(jì)?350644
drwxr-xr-x?16?1016?1016?4096?2012-10-11?03:25:58.000000000?+0800?subversion-1.6.1
ls?-ctl?--time-style=long-iso
輸出:
[root@localhost?soft]#?ls?-ctl?--time-style=long-iso
總計(jì)?350644
drwxr-xr-x?16?1016?1016??????4096?2012-10-11?03:25?subversion-1.6.1
擴(kuò)展:
1.?顯示彩色目錄列表
打開/etc/bashrc,?加入如下一行:
alias?ls="ls?--color"
下次啟動(dòng)bash時(shí)就可以像在Slackware里那樣顯示彩色的目錄列表了,?其中顏色的含義如下:
1.?藍(lán)色-->目錄
2.?綠色-->可執(zhí)行文件
3.?紅色-->壓縮文件
4.?淺藍(lán)色-->鏈接文件
5.?灰色-->其他文件