Linux中國

10 個『ls』命令面試的問題(二)

10 『ls命令面試的問題

16. 假如你想要以長列表的形式列出目錄中的內容,但是不列印文件創建者名稱以及文件所屬組。看看輸出有何不同之處。

a. ls 命令在與『-l』選項一起使用時會將文件以長列表格式輸出。

# ls -l

List Files in- Long List Format

以長格式列出文件

b. ls 命令在與『-l』和『--author』一起使用時,會將文件以長列表格式輸出並帶有文件創建者的名稱信息。

# ls -l --author

List Files By Author

列出文件的創建者

c. ls 命令在與『-g』選項 一起將會列出文件名但是不帶屬主名稱。

# ls -g

List Files Without Printing Owner Name

列出文件但不列出屬主

d. ls 命令在與'-G'和『-l』選項一起將會使用長列表格式列出文件名稱但是不帶文件所屬組名稱。

# ls -Gl

List Files Without Printing Group

列出文件但是不列出所屬組

17. 使用易讀格式列印出當前目錄中的文件以及文件夾的大小,你會如何做?

這裡我們需要使用'-h'選項(人類可閱讀的、易讀的)同『-l』或『-s』選項與ls命令一起使用來得到想要的輸出。

# ls -hl

List Files in Human Readable Format

以易讀格式的長列表列出文件

# ls -hs

List File Sizes in Long List Format

以易讀格式的短列表列出文件

注意: 『-h』選項使用1024(計算機中的標準)的冪,文件或文件夾的大小分別以K,M和G作為輸出單位。

18. 既然『-h』選項是使用1024的冪作為標準來輸出大小,那麼ls命令是否還支持其他的冪值呢?

存在一個選項 『--si』與選項『-h』相似,不同之處在於前者以使用1000的冪,後者使用1024的冪。

# ls --si

所以'--si'也可以與『-l』選項一起使用來按照1000的冪來輸出文件夾的大小,並且以長列表格式顯示。

# ls --si -l

(LCTT 譯註:此處原文參數有誤,附圖也不對,因此刪除之。--si 參數是雙連線參數,而且有的版本的 ls 並不支持該參數)

19. 假如要你使用逗號『,』作為分隔符來列印一個目錄中的內容,可以嗎? 對於長列表形式也可行嗎?

當然!linux的ls命令當與其選項『-m』一起使用時可以在列印目錄內容時以逗號『,』分割。由於逗號分割的內容是水平填充的,ls命令不能在垂直列出內容時使用逗號來分割內容。

# ls -m

Print Contents of Directory by Comma

以逗號分隔顯示內容

當使用長列表格式時,『-m』選項就沒有什麼效果了。

# ls -ml

Listing Content Horizontally

長列表不能使用逗號分隔列表

20. 有辦法將目錄的內容逆序列印出來嗎?

可以!上面的情形可以輕鬆地通過'-r'選項搞定,該選項將輸出順序倒置。這個選項也可以與『-l』選項一起使用。

# ls -r

List Content in Reverse Order

逆序列出

# ls -rl

Long List Content in Reverse Order

逆序長列表

21. 如果你被分配一個任務,來遞歸地列印各個子目錄,你會如何應付?注意,只針對子目錄而不是文件哦。

小意思!使用「-R」選項就可以輕輕鬆鬆拿下,它也可以更進一步地與其他選項如『-l』和『-m』選項等組合使用。

# ls -R

Print Sub Directories in Recursively

遞歸列出子目錄

22. 如何按照文件大小對其進行排序?

linux命令行選項'-S'賦予了ls命令這個超能力。按照文件大小從大到小的順序排序:

# ls -S

Sort Files with ls Command 按文件大小排序

按照文件大小從小到大的順序排序。

# ls -Sr

Sort Files in Descending Order

從小到大的排序

23. 按照一行一個文件列出目錄中的內容,並且不帶額外信息的方式

選項『-1』在此可以解決這個問題,使用『-1』選項來使用ls命令可以將目錄中的內容按照一行一個文件並且不帶額外信息的方式進行輸出。

# ls -1

List Files Without Information

不帶其他信息,一行一個列出文件

24. 現在委派給你一個任務,你必須將目錄中的內容輸出到終端而且需要使用雙引號引起來,你會如何做?

有一個選項『-Q』會將ls命令的輸出內容用雙引號引起來。

# ls -Q

Print Files with Double Quotes

輸出的文件名用引號引起來

25. 想像一下你正在與一個包含有很多文件和文件夾的目錄打交道,你需要使目錄名顯示在文件名之前,你如何做?

# ls --group-directories-first

Print Directories First

目錄優先顯示

先點到為止,我們會馬上提供該系列文章的下一部分。別換頻道,關注我們。 另外別忘了在下面的評論中提出你們寶貴的反饋信息,喜歡就分享,幫助我們得到更好的傳播吧!

via: http://www.tecmint.com/ls-interview-questions/

作者:Ravi Saive 譯者:theo-l 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國