溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux怎么用ls命令

發(fā)布時(shí)間:2021-10-25 09:50:09 來(lái)源:億速云 閱讀:191 作者:小新 欄目:系統(tǒng)運(yùn)維

小編給大家分享一下Linux怎么用ls命令,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

ls 命令即 list directory  contents是我們最為熟悉的Linux命令。它就如車載或者手機(jī)中的導(dǎo)航地圖,徹底解放了我們的大腦,片刻不能離身。否則我們下樓取個(gè)快遞,都得繞18道彎才能勉強(qiáng)找回家。

我們?cè)谇懊娴摹癓inux手冊(cè)”課程中,大量應(yīng)用ls這個(gè)地圖查看器。

1.只列出當(dāng)前的目錄文件

我們先從一個(gè)具體的問(wèn)題出發(fā),如何單單打印出目錄文件。

如果使用find命令,不僅簡(jiǎn)單,而且符合完全語(yǔ)義化的表達(dá):

$ find . -maxdepth 1 -type d | head  . ./Templates ./.ssh ./.tldr ./.zoom ./.presage ./Videos ./.racket ./.mplayer ./node_modules

我們甚至可以調(diào)用echo

$ echo */ anaconda3/ backup.doom.d/ Calibre Library/ Desktop/ Documents/ Downloads/ dwhelper/ emacs.d.backup2/ Mail/ Music/ News/ node_modules/ org/ Pictures/ Public/ snap/ Templates/ Test/ Videos/

查閱手冊(cè),我們會(huì)看到-d的選項(xiàng):

-d, --directory              list directories themselves, not their contents

直接運(yùn)行試試:

$ ls -d . .  # 只返回了一個(gè)當(dāng)前目錄

改用通配符:

$ ls -d */  anaconda3/          Downloads/         News/           snap/  backup.doom.d/      dwhelper/          node_modules/   Templates/ 'Calibre Library/'   emacs.d.backup2/   org/            Test/  Desktop/            Mail/              Pictures/       Videos/  Documents/          Music/             Public/

如果將d去掉呢?

Linux怎么用ls命令 

實(shí)際的執(zhí)行是將擴(kuò)展的通配符的子目錄全部都列了出來(lái)。

2.只列出當(dāng)前的文件

那么如何單單列出來(lái)當(dāng)前的文件呢?最簡(jiǎn)單的方法還是 find 命令的語(yǔ)義化查詢:

$ find . -maxdepth 1 -type f -iname "[^.]*" |nl      1  ./#*message*-20191127-125216#      2  ./package-lock.json      3  ./start.sh      4  ./backup.gnus.el      5  ./zero-config.el      6  ./RMAIL      7  ./linux-tutorial.org      8  ./linux-tutorial-2.org      9  ./*scratch*

我們知道ls命令有-F(filter)選項(xiàng),將所有的文件歸類:

$ ls -F   anaconda3/                          News/  Anaconda3-2020.02-Linux-x86_64.sh   node_modules/  backup.doom.d/                      org/  backup.gnus.el                      package-lock.json 'Calibre Library'/                   Pictures/  Desktop/                            Public/  Documents/                          RMAIL  Downloads/                         '*scratch*'  dwhelper/                           snap/  emacs.d.backup2/                    start.sh*  linux-tutorial-2.org                Templates/  linux-tutorial.org                  Test/  Mail/                               Videos/ '#*message*-20191127-125216#'        zero-config.el  Music/

于是我們考慮使用組合命令:

$ ls -F |grep .*[^/]$ |nl      1  backup.gnus.el      2  linux-tutorial-2.org      3  linux-tutorial.org      4  #*message*-20191127-125216#      5  package-lock.json      6  RMAIL      7  *scratch*      8  start.sh*      9  zero-config.el

或者:

$ ls -l |grep ^- |nl      1  -rw-rw-r--  1 gaowei gaowei   6042 Feb  4 21:23 backup.gnus.el      2  -rw-rw-r--  2 gaowei gaowei    892 May 26 08:34 linux-tutorial-2.org      3  -rw-rw-r--  2 gaowei gaowei    892 May 26 08:34 linux-tutorial.org      4  -rw-rw-r--  1 gaowei gaowei    139 Nov 27  2019 #*message*-20191127-125216#      5  -rw-rw-r--  1 gaowei gaowei    313 Dec 10  2019 package-lock.json      6  -rw-rw-r--  1 gaowei gaowei  74109 Mar 17 14:27 RMAIL      7  -rw-rw-r--  1 gaowei gaowei    497 Dec  5  2019 *scratch*      8  -rwxr-xr-x  1 gaowei gaowei   1793 May  7 06:20 start.sh      9  -rw-rw-r--  1 gaowei gaowei   1058 Mar 30 17:10 zero-config.el

至此我們可以得出結(jié)論,ls并沒(méi)有直接列出全部文件的方案。

3.列出指定類型文件

雖然沒(méi)有列出全部文件的方法,然而我們卻可以打印指定suffix的文件:

$ ls *.org # org 文件 linux-tutorial-2.org  linux-tutorial.org $ ls *.sh # shell文件 start.sh

而且可以講二者組合:

$ ls *.{org,sh} linux-tutorial-2.org  linux-tutorial.org  start.sh

4.無(wú)處不在的排序

排序無(wú)處不在,兩個(gè)小學(xué)生考試也要排排名次。

我們首先想到的是sort命令。

$ ls -lh | sort -k 5 -h |head total 320K -rw-rw-r--  1 gaowei gaowei  139 Nov 27  2019 #*message*-20191127-125216# -rw-rw-r--  1 gaowei gaowei  313 Dec 10  2019 package-lock.json -rw-rw-r--  1 gaowei gaowei  497 Dec  5  2019 *scratch* -rw-rw-r--  2 gaowei gaowei  892 May 26 08:34 linux-tutorial-2.org -rw-rw-r--  2 gaowei gaowei  892 May 26 08:34 linux-tutorial.org -rw-rw-r--  1 gaowei gaowei 1.1K Mar 30 17:10 zero-config.el -rwxr-xr-x  1 gaowei gaowei 1.8K May  7 06:20 start.sh drwx------  5 gaowei gaowei 4.0K Feb  4 21:32 Mail drwxrwxr-x 10 gaowei gaowei 4.0K Mar 19 17:46 emacs.d.backup2

頗為驚喜的是,ls 貼心的準(zhǔn)備了 -S 選項(xiàng),并且,更為貼心的是輸出的結(jié)果是倒序排列。

$ ls -lhS |head total 320K drwxr-xr-x 13 gaowei gaowei 100K Jun 22 15:02 Downloads -rw-rw-r--  1 gaowei gaowei  73K Mar 17 14:27 RMAIL drwxr-xr-x  8 gaowei gaowei  20K Jun 23 20:01 Videos drwxr-xr-x  3 gaowei gaowei  12K Apr 28 04:50 Desktop drwxr-xr-x  7 gaowei gaowei  12K Jun 20 21:15 Pictures -rw-rw-r--  1 gaowei gaowei 6.0K Feb  4 21:23 backup.gnus.el drwxrwxr-x 26 gaowei gaowei 4.0K Jun 16 09:02 anaconda3 drwxrwxr-x  2 gaowei gaowei 4.0K Jan 27 13:11 backup.doom.d drwxrwxr-x  6 gaowei gaowei 4.0K Feb 21 16:17 Calibre Library

-S 是長(zhǎng)選項(xiàng)--sort的短寫形式,除了按文件大小排序,也可以按照時(shí)間排序等

$ ls -lh --sort=time  |head #簡(jiǎn)寫為 ls -ht total 320K drwxr-xr-x  8 gaowei gaowei  20K Jun 23 20:01 Videos drwxr-xr-x 13 gaowei gaowei 100K Jun 22 15:02 Downloads drwxr-xr-x  7 gaowei gaowei  12K Jun 20 21:15 Pictures drwxrwxr-x 26 gaowei gaowei 4.0K Jun 16 09:02 anaconda3 drwxr-xr-x  4 gaowei gaowei 4.0K Jun 15 18:01 snap drwxr-xr-x 15 gaowei gaowei 4.0K Jun  2 10:53 Documents drwxrwxr-x  2 gaowei gaowei 4.0K May 26 10:50 Test -rw-rw-r--  2 gaowei gaowei  892 May 26 08:34 linux-tutorial-2.org -rw-rw-r--  2 gaowei gaowei  892 May 26 08:34 linux-tutorial.org

5.極簡(jiǎn)模式

有時(shí)候,我們閱讀-l選項(xiàng)下的結(jié)果,眼花繚亂,頭暈?zāi)垦?。此時(shí)可以嘗試極簡(jiǎn)模式:

$ ls -sS

 Linux怎么用ls命令

絕大部分時(shí)間,我們更關(guān)注的是文件的大小,-s, --size正提供這樣的服務(wù)。

6.收尾總結(jié)

總結(jié)上述的方法:

# 1.只列出目錄 ls -d */ # 2.只列出文件 ls *.{txt,pdf,org} # 3.文件大小排序 ls -lhS # 4.時(shí)間戳排序 ls -lht # 5.極簡(jiǎn)模式 ls -Ss

以上是“Linux怎么用ls命令”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI