ls 命令是 linux 下最經常使用的命令。ls 命令就是 list 的縮寫缺省下 ls 用來打印出當前目錄的清單,若是 ls 指定其餘目錄,那麼就會顯示指定目錄裏的文件及文件夾清單。 經過 ls 命令不只能夠查看 linux 文件夾包含的文件,並且能夠查看文件權限 (包括目錄、文件夾、文件權限)查看目錄信息等等。ls 命令在平常的 linux 操做中用的不少!
1.命令格式:html
ls [選項] [目錄名]
linux
2.命令功能:web
列出目標目錄中全部的子目錄和文件。
3.經常使用參數:tomcat
4.經常使用範例:bash
例一:列出 /home/rumenz 文件夾下的全部文件和目錄的詳細資料app
命令:ls -l -R /home/rumenz
svn
在使用 ls 命令時要注意命令的格式:在命令提示符後,首先是命令的關鍵字,接下來是命令參數,在命令參數以前要有一短橫線 「-」,全部的命令參數都有特定的做用,本身能夠根據須要選用一個或者多個參數,在命令參數的後面是命令的操做對象。在以上這條命令「 ls -l -R /home/rumenz」 中,「ls」 是命令關鍵字,「-l -R」是參數,「 /home/rumenz」是命令的操做對象。在這條命令中,使用到了兩個參數,分別爲 「l」 和「R」,固然,你也能夠把他們放在一塊兒使用,以下所示:
命令:ls -lR /home/rumenz
spa
這種形式和上面的命令形式執行的結果是徹底同樣的。另外,若是命令的操做對象位於當前目錄中,能夠直接對操做對象進行操做; 若是不在當前目錄則須要給出操做對象的完整路徑,例如上面的例子中,個人當前文件夾是 rumenz 文件夾,我想對 home 文件夾下的 rumenz 文件進行操做,我能夠直接輸入 ls -lR rumenz,也能夠用 ls -lR /home/rumenz。
例二:列出當前目錄中全部以 「t」 開頭的目錄的詳細內容,可使用以下命令:code
命令:ls -l t*
htm
能夠查看當前目錄下文件名以 「t」 開頭的全部文件的信息。其實,在命令格式中,方括號內的內容都是能夠省略的,對於命令 ls 而言,若是省略命令參數和操做對象,直接輸入「 ls 」,則將會列出當前工做目錄的內容清單。
例三:只列出文件下的子目錄
命令:ls -F /opt/soft |grep /$
列出/opt/soft 文件下面的子目錄
[root@localhost rumenz]# ls -F $PWD | grep /$ excache/ hsperfdata_deploy/ hsperfdata_root/ poifiles/
命令:ls -l /opt/soft | grep "^d"
列出 /opt/soft 文件下面的子目錄詳細狀況
[root@localhost rumenz]# ls -l $PWD | grep "^d" drwxr-xr-x 2 root root 21 Jan 13 14:33 app drwxr-xr-x 4 root root 141 Jan 25 21:20 web drwxr-xr-x 3 root root 57 Dec 18 22:17 web-test
例四:列出目前工做目錄下全部名稱是 s 開頭的檔案,愈新的排愈後面,可使用以下命令:
命令:ls -ltr s*
[root@localhost rumenz]# ls -ltr w* web-test: total 4428 drwxr-xr-x 6 root root 108 Dec 18 22:17 static -rw-r--r-- 1 root root 572 Dec 18 22:17 index.html -rw-r--r-- 1 root root 4528805 Dec 18 22:17 dist.tar.gz web: total 81656 -rw-r--r-- 1 root root 5277607 Aug 16 00:12 dist815.zip drwxr-xr-x 6 root root 108 Dec 8 14:21 static -rw-r--r-- 1 root root 572 Dec 8 14:21 index.html -rw-r--r-- 1 root root 4514510 Dec 8 14:21 dist.tar.gz
例五:列出目前工做目錄下全部檔案及目錄; 目錄於名稱後加 "/", 可執行檔於名稱後加 "*"
命令:ls -AF
[root@localhost rumenz]# ls -AF log/ script/ soft/ src/ svndata/ web/
例六:計算當前目錄下的文件數和目錄數
命令:
ls -l * |grep "^-"|wc -l --- 文件個數
ls -l * |grep "^d"|wc -l --- 目錄個數
例七: 在 ls 中列出文件的絕對路徑
命令:ls | sed "s:^:
pwd/:"
[root@localhost rumenz]# ls | sed "s:^:`pwd`/:" /opt/log /opt/script /opt/soft /opt/src /opt/svndata /opt/web
例九:列出當前目錄下的全部文件(包括隱藏文件)的絕對路徑, 對目錄不作遞歸
命令:find $PWD -maxdepth 1 | xargs ls -ld
[root@localhost rumenz]# find $PWD -maxdepth 1 | xargs ls -ld drwxrwxrwt. 78 root root 4096 Jan 25 23:09 /tmp drwx------ 2 root root 6 Jan 8 16:10 /tmp/20210108_161044-scantem.0ef7dea9d3 drwx------ 3 root root 33 Jan 8 16:12 /tmp/20210108_161248-scantem.62a5f98367 drwx------ 2 root root 6 Jan 8 16:57 /tmp/20210108_165745-scantem.f73926d239
例十:遞歸列出當前目錄下的全部文件(包括隱藏文件)的絕對路徑
命令: find $PWD | xargs ls -ld
例十一:指定文件時間輸出格式
命令:ls -tl --time-style=full-iso
[root@localhost soft]# ls -lt --time-style=full-iso total 0 drwxrwxr-x 3 deploy deploy 18 2021-01-25 15:35:57.075199271 +0800 tomcat.120562076922433750.8080 drwxrwxr-x 2 deploy deploy 6 2021-01-25 15:35:57.047196910 +0800 tomcat-docbase.6189031708285654679.8080 drwxr-xr-x 2 deploy deploy 56 2021-01-25 15:35:51.952767467 +0800 hsperfdata_deploy
輸出:
[root@localhost soft]# ls -ctl --time-style=long-iso total 0 drwxrwxr-x 3 deploy deploy 18 2021-01-25 15:35 tomcat.120562076922433750.8080 drwxrwxr-x 2 deploy deploy 6 2021-01-25 15:35 tomcat-docbase.6189031708285654679.8080 drwxr-xr-x 2 deploy deploy 56 2021-01-25 15:35 hsperfdata_deploy drwxrwxr-x 3 deploy deploy 18 2021-01-25 10:28 tomcat.7686949051420446439.8080
顯示彩色目錄列表
打開 / etc/bashrc, 加入以下一行:
alias ls="ls --color"
下次啓動 bash 時就能夠像在 Slackware 裏那樣顯示彩色的目錄列表了, 其中顏色的含義以下: