Linux之ls命令

ls 命令是 linux 下最經常使用的命令。ls 命令就是 list 的縮寫缺省下 ls 用來打印出當前目錄的清單,若是 ls 指定其餘目錄,那麼就會顯示指定目錄裏的文件及文件夾清單。 經過 ls 命令不只能夠查看 linux 文件夾包含的文件,並且能夠查看文件權限 (包括目錄、文件夾、文件權限)查看目錄信息等等。ls 命令在平常的 linux 操做中用的不少!

1.命令格式:html

ls [選項] [目錄名]linux

2.命令功能:web

列出目標目錄中全部的子目錄和文件。

3.經常使用參數:tomcat

WX20210126-000215@2x

4.經常使用範例:bash

例一:列出 /home/rumenz 文件夾下的全部文件和目錄的詳細資料app

命令:ls -l -R /home/rumenzsvn

在使用 ls 命令時要注意命令的格式:在命令提示符後,首先是命令的關鍵字,接下來是命令參數,在命令參數以前要有一短橫線 「-」,全部的命令參數都有特定的做用,本身能夠根據須要選用一個或者多個參數,在命令參數的後面是命令的操做對象。在以上這條命令「 ls -l -R /home/rumenz」 中,「ls」 是命令關鍵字,「-l -R」是參數,「 /home/rumenz」是命令的操做對象。在這條命令中,使用到了兩個參數,分別爲 「l」 和「R」,固然,你也能夠把他們放在一塊兒使用,以下所示:

命令:ls -lR /home/rumenzspa

這種形式和上面的命令形式執行的結果是徹底同樣的。另外,若是命令的操做對象位於當前目錄中,能夠直接對操做對象進行操做; 若是不在當前目錄則須要給出操做對象的完整路徑,例如上面的例子中,個人當前文件夾是 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 裏那樣顯示彩色的目錄列表了, 其中顏色的含義以下:
  • 藍色 --> 目錄
  • 綠色 --> 可執行文件
  • 紅色 --> 壓縮文件
  • 淺藍色 --> 連接文件
  • 灰色 --> 其餘文件

原文鏈接:https://rumenz.com/rumenbiji/...

相關文章
相關標籤/搜索