成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux下 ls 命令的高級用法8例

系統(tǒng) Linux
在Linux下,ls這個命令大家肯定太熟悉了,但是,除了 ls -l 以外,你還知 ls 的哪些高級用法呢?良許今天為大家介紹 ls 命令的8種高級用法。

在Linux下,ls這個命令大家肯定太熟悉了,良許相信只要是Linux工程師,每天都會離不開這個命令,而且一天會使用個幾百次。但是,除了 ls -l 以外,你還知 ls 的哪些高級用法呢?良許今天為大家介紹 ls 命令的8種高級用法。

假如我們有這樣的一個文件夾,我們用tree命令查看它的目錄結(jié)構(gòu):

用法1:列出/home/alvin/test_dir目錄下所有文件及目錄的詳細(xì)資料

命令:

  1. ls -lR /home/alvin/test_dir/ 

結(jié)果:

  1. [alvin@VM_0_16_centos test_dir]$ ls -lR /home/alvin/test_dir/ 
  2. /home/alvin/test_dir/: 
  3. total 28 
  4. -rw-rw-r-- 1 alvin alvin   37 Nov 18 09:12 atb_aux.c 
  5. -rw-rw-r-- 1 alvin alvin    8 Nov 18 09:12 atb_can.c 
  6. -rw-rw-r-- 1 alvin alvin   24 Nov 18 09:12 atb_orch.c 
  7. -rw-rw-r-- 1 alvin alvin    5 Nov 18 09:12 atb_ota.c 
  8. drwxrwxr-x 2 alvin alvin 4096 Nov 18 09:12 include 
  9. -rw-rw-r-- 1 alvin alvin    0 Nov 18 09:12 Makefile 
  10. drwxrwxr-x 2 alvin alvin 4096 Nov 18 09:12 output 
  11. drwxrwxr-x 2 alvin alvin 4096 Nov 18 09:12 src 
  12. /home/alvin/test_dir/include: 
  13. total 0 
  14. -rw-rw-r-- 1 alvin alvin 0 Nov 18 09:12 a.h 
  15. -rw-rw-r-- 1 alvin alvin 0 Nov 18 09:12 b.h 
  16. -rw-rw-r-- 1 alvin alvin 0 Nov 18 09:12 c.h 
  17. /home/alvin/test_dir/output: 
  18. total 0 
  19. -rwxrwxr-x 1 alvin alvin 0 Nov 18 09:12 app 
  20. /home/alvin/test_dir/src: 
  21. total 0 
  22. -rw-rw-r-- 1 alvin alvin 0 Nov 18 09:12 a.c 
  23. -rw-rw-r-- 1 alvin alvin 0 Nov 18 09:12 b.c 
  24. -rw-rw-r-- 1 alvin alvin 0 Nov 18 09:12 c.c 

在這里,-l 選項大家應(yīng)該比較熟悉,是以列表的形式顯示結(jié)果的意思。而對于 -R 選項,意思是遞歸處理,將指定目錄下的所有文件及子目錄一并處理。

用法2:列出/home/alvin/test_dir目錄下以atb開頭的所有文件的詳細(xì)內(nèi)容

命令:

  1. ls -l atb* 

結(jié)果:

  1. [alvin@VM_0_16_centos test_dir]$ ls -l atb* 
  2. -rw-rw-r-- 1 alvin alvin 37 Nov 18 09:12 atb_aux.c 
  3. -rw-rw-r-- 1 alvin alvin  8 Nov 18 09:12 atb_can.c 
  4. -rw-rw-r-- 1 alvin alvin 24 Nov 18 09:12 atb_orch.c 
  5. -rw-rw-r-- 1 alvin alvin  5 Nov 18 09:12 atb_ota.c 

用法3:只列出目錄下的子目錄

(1) 方法1:

命令

  1. ls -F /home/alvin/test_dir | grep /$ 

結(jié)果:

  1. [alvin@VM_0_16_centos test_dir]$ ls -F /home/alvin/test_dir | grep /$ 
  2. include/ 
  3. output/ 
  4. src/ 

其中:-F選項表示在每個文件名后附上一個字符以說明改文件的類型。“*”:表示可執(zhí)行的普通文件;“/”:表示目錄;“@”:表示符號鏈接;“|”:表示FIFOs;“=”:表示套接字。

/$ 其實是一個正則表達式,表示以 / 結(jié)尾。grep /$ 表示過濾出以 / 結(jié)尾的結(jié)果,也就是子目錄。

(2) 方法2:

命令:

  1. ls -p /home/alvin/test_dir | grep /$ 

結(jié)果:

  1. [alvin@VM_0_16_centos test_dir]$ ls -p | grep /$ 
  2. include/ 
  3. output/ 
  4. src/ 

其中:-p 選項與 -F 選項類似,也是在每個文件名后附上一個字符以說明改文件的類型。

(3) 方法3:

命令:

  1. ls -l /home/alvin/test_dir | grep "^d" 

結(jié)果:

  1. [alvin@VM_0_16_centos test_dir]$ ls -l /home/alvin/test_dir | grep "^d" 
  2. drwxrwxr-x 2 alvin alvin 4096 Nov 18 09:12 include 
  3. drwxrwxr-x 2 alvin alvin 4096 Nov 18 09:12 output 
  4. drwxrwxr-x 2 alvin alvin 4096 Nov 18 09:12 src 

其中:^d 也是一個正則表達式,表示以 d 開頭。grep "^d" 表示過濾出以 d 開頭的結(jié)果,而 ls -l 所列出來的結(jié)果,首位如果是 d 的話,表示這個文件是個目錄,這樣就可以過濾出子目錄了。

(4) 方法4:

命令:

  1. ls -d */ 

結(jié)果:

  1. [alvin@VM_0_16_centos test_dir]$ ls -d */ 
  2. include/  output/  src/ 

其中:-d 選項表示將目錄象文件一樣顯示,而不顯示其下的文件。

用法4:按時間順序列出目錄下的文件,越新越排后面。

命令:

  1. ls -ltr 

結(jié)果:

  1. [alvin@VM_0_16_centos test_dir]$ ls -lrt 
  2. total 28 
  3. drwxrwxr-x 2 alvin alvin 4096 Nov 18 09:12 src 
  4. drwxrwxr-x 2 alvin alvin 4096 Nov 18 09:12 output 
  5. -rw-rw-r-- 1 alvin alvin    0 Nov 18 09:12 Makefile 
  6. drwxrwxr-x 2 alvin alvin 4096 Nov 18 09:12 include 
  7. -rw-rw-r-- 1 alvin alvin    5 Nov 18 09:12 atb_ota.c 
  8. -rw-rw-r-- 1 alvin alvin   24 Nov 18 09:12 atb_orch.c 
  9. -rw-rw-r-- 1 alvin alvin    8 Nov 18 09:12 atb_can.c 
  10. -rw-rw-r-- 1 alvin alvin   37 Nov 18 09:12 atb_aux.c 

其中:-t 選項表示以文件修改時間排序,越新的越靠前。-r 選項表示對結(jié)果進行反向排序,二者結(jié)合的話表示以修改時間排序,越新的越靠后。

用法5:以文件大小進行排序

命令:

  1. ls -lhS 

結(jié)果:

  1. [alvin@VM_0_16_centos test_dir]$ ls -lhS 
  2. total 28K 
  3. drwxrwxr-x 2 alvin alvin 4.0K Nov 18 09:12 include 
  4. drwxrwxr-x 2 alvin alvin 4.0K Nov 18 09:12 output 
  5. drwxrwxr-x 2 alvin alvin 4.0K Nov 18 09:12 src 
  6. -rw-rw-r-- 1 alvin alvin   37 Nov 18 09:12 atb_aux.c 
  7. -rw-rw-r-- 1 alvin alvin   24 Nov 18 09:12 atb_orch.c 
  8. -rw-rw-r-- 1 alvin alvin    8 Nov 18 09:12 atb_can.c 
  9. -rw-rw-r-- 1 alvin alvin    5 Nov 18 09:12 atb_ota.c 
  10. -rw-rw-r-- 1 alvin alvin    0 Nov 18 09:12 Makefile 

其中:-h 選項表示以可讀選項顯示,否則文件大小是默認(rèn)以字節(jié)數(shù)顯示,比如:4873字節(jié),你知道是多少嗎?加了 -h 選項系統(tǒng)就幫你換算成以k或者其它單位的結(jié)果。

-S 選項表示以文件大小進行排序,文件越大越靠前。想要文件小者靠前的話,加個 -r 選項就行。

用法6:統(tǒng)計當(dāng)前目錄下的文件數(shù)和目錄數(shù)

(1) 統(tǒng)計文件數(shù):

命令:

  1. ls -l | grep "^-" | wc -l 

結(jié)果:

  1. [alvin@VM_0_16_centos test_dir]$ ls -l | grep "^-" | wc -l 

其中:^- 表示以 - 開頭,即普通文件,ls -l | grep "^-" 過濾出普通文件,再用 wc -l統(tǒng)計過濾出的普通文件的個數(shù)。

(2) 統(tǒng)計目錄數(shù):

命令:

  1. ls -l | grep "^d" | wc -l 

結(jié)果:

  1. [alvin@VM_0_16_centos test_dir]$ ls -l | grep "^d" | wc -l 

其中:^d 表示以 d 開頭,即目錄,ls -l | grep "^d" 過濾出目錄,再用 wc -l 統(tǒng)計過濾出的目錄的個數(shù)。

用法7:列出所有文件的絕對路徑

命令:

  1. ls | sed "s:^:`pwd`/:" 

結(jié)果:

  1. [alvin@VM_0_16_centos test_dir]$ ls | sed "s:^:`pwd`/:" 
  2. /home/alvin/test_dir/atb_aux.c 
  3. /home/alvin/test_dir/atb_can.c 
  4. /home/alvin/test_dir/atb_orch.c 
  5. /home/alvin/test_dir/atb_ota.c 
  6. /home/alvin/test_dir/include/home/alvin/test_dir/Makefile 
  7. /home/alvin/test_dir/output/home/alvin/test_dir/src 

其中:sed "s:^:``pwd``/:" 表示在行首增加 pwd(即文件所在路徑),與文件名組合成絕對路徑。

用法8:列出當(dāng)前目錄下的所有文件(包括隱藏文件)的絕對路徑, 對目錄不做遞歸

在上一個用法里,對于隱藏文件(即以 . 開頭的文件)是不作處理的,如果我們需要對隱藏文件也作處理的話,就需要使用下面這個命令:

  1. find $PWD -maxdepth 1 | xargs ls -ld 

結(jié)果:

  1. [alvin@VM_0_16_centos test_dir]$ find $PWD -maxdepth 1 | xargs ls -ld 
  2. drwxrwxr-x 5 alvin alvin 4096 Nov 18 17:30 /home/alvin/test_dir 
  3. -rw-rw-r-- 1 alvin alvin   37 Nov 18 09:12 /home/alvin/test_dir/atb_aux.c 
  4. -rw-rw-r-- 1 alvin alvin    8 Nov 18 09:12 /home/alvin/test_dir/atb_can.c 
  5. -rw-rw-r-- 1 alvin alvin   24 Nov 18 09:12 /home/alvin/test_dir/atb_orch.c 
  6. -rw-rw-r-- 1 alvin alvin    5 Nov 18 09:12 /home/alvin/test_dir/atb_ota.c 
  7. drwxrwxr-x 2 alvin alvin 4096 Nov 18 09:12 /home/alvin/test_dir/include 
  8. -rw-rw-r-- 1 alvin alvin    0 Nov 18 09:12 /home/alvin/test_dir/Makefile 
  9. drwxrwxr-x 2 alvin alvin 4096 Nov 18 09:12 /home/alvin/test_dir/output 
  10. drwxrwxr-x 2 alvin alvin 4096 Nov 18 09:12 /home/alvin/test_dir/src 

其中:find $PWD -maxdepth 1 限定了在當(dāng)前層級(即不遞歸),再對find結(jié)果傳遞給 ls -ld 作參數(shù),這樣就將當(dāng)前目錄下的所有文件補齊了所在路徑。

本文授權(quán)轉(zhuǎn)載自公眾號「良許Linux」。良許,世界500強外企Linux開發(fā)工程師,公眾號里分享大量Linux干貨,歡迎關(guān)注!

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2020-08-16 20:42:52

more命令文件Linux

2019-07-29 19:30:54

Linux命令ls命令

2019-04-19 14:00:55

Linuxkillall命令

2023-11-23 19:27:56

2020-07-09 08:09:21

Linuxdiff命令

2009-09-28 11:21:17

Linux教程ls命令Linux

2023-10-09 07:33:50

Linuxls 命令

2020-12-07 10:48:31

Linuxls命令stat命令

2023-11-28 13:15:00

Linuxsed工具

2017-08-15 17:09:31

Linux命令

2017-12-27 10:20:01

Linux ls命令實用范例

2024-01-24 14:42:33

Linux操作系統(tǒng)系統(tǒng)工具

2017-07-13 12:43:41

Linux命令date

2015-03-25 10:36:57

lsLinux

2022-05-05 21:47:32

Linuxls 命令

2020-12-21 10:55:41

Linux系統(tǒng)ls命令

2016-09-27 10:05:11

LinuxShell命令

2018-01-16 09:08:00

Linux命令fmt

2010-06-22 09:28:31

Linux at命令

2013-11-15 16:07:26

Linux dfLinux命令
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 午夜免费福利片 | 天天爱天天操 | 日韩免费在线观看视频 | 精品美女视频在线观看免费软件 | 久久国产精品99久久久久 | 国产精品海角社区在线观看 | 99re在线播放| av片在线免费看 | 久久91精品久久久久久9鸭 | h视频免费在线观看 | 成人在线一级片 | 日韩精品国产精品 | av免费在线观看网站 | 国产高清视频 | 真人女人一级毛片免费播放 | 久久99久久98精品免观看软件 | 呦呦在线视频 | 精品国产乱码久久久久久1区2区 | 国产精品一区久久久久 | 精品二区视频 | 亚洲欧美日韩精品久久亚洲区 | 人人干免费 | 性国产丰满麻豆videosex | www.4hu影院 | 欧美a级成人淫片免费看 | 久久精品视频在线播放 | 一本大道久久a久久精二百 欧洲一区二区三区 | 欧美xxxx在线 | 成人激情视频 | 亚洲综合五月天婷婷 | 国产精品美女久久久久aⅴ国产馆 | 天堂色| 五月婷婷色 | 欧美综合久久 | 精品一区二区三 | 久久精品亚洲国产奇米99 | 欧美日韩网站 | 中文字幕av网站 | japan21xxxxhd美女 日本欧美国产在线 | 亚洲视频1区 | 亚洲综合色视频在线观看 |