10 個『ls』命令面試的問題(二)
16. 假如你想要以長列表的形式列出目錄中的內容,但是不列印文件創建者名稱以及文件所屬組。看看輸出有何不同之處。
a. ls 命令在與『-l』選項一起使用時會將文件以長列表格式輸出。
# ls -l
以長格式列出文件
b. ls 命令在與『-l』和『--author』一起使用時,會將文件以長列表格式輸出並帶有文件創建者的名稱信息。
# ls -l --author
列出文件的創建者
c. ls 命令在與『-g』選項 一起將會列出文件名但是不帶屬主名稱。
# ls -g
列出文件但不列出屬主
d. ls 命令在與'-G'和『-l』選項一起將會使用長列表格式列出文件名稱但是不帶文件所屬組名稱。
# ls -Gl
列出文件但是不列出所屬組
17. 使用易讀格式列印出當前目錄中的文件以及文件夾的大小,你會如何做?
這裡我們需要使用'-h'選項(人類可閱讀的、易讀的)同『-l』或『-s』選項與ls命令一起使用來得到想要的輸出。
# ls -hl
以易讀格式的長列表列出文件
# ls -hs
以易讀格式的短列表列出文件
注意: 『-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
以逗號分隔顯示內容
當使用長列表格式時,『-m』選項就沒有什麼效果了。
# ls -ml
長列表不能使用逗號分隔列表
20. 有辦法將目錄的內容逆序列印出來嗎?
可以!上面的情形可以輕鬆地通過'-r'選項搞定,該選項將輸出順序倒置。這個選項也可以與『-l』選項一起使用。
# ls -r
逆序列出
# ls -rl
逆序長列表
21. 如果你被分配一個任務,來遞歸地列印各個子目錄,你會如何應付?注意,只針對子目錄而不是文件哦。
小意思!使用「-R」選項就可以輕輕鬆鬆拿下,它也可以更進一步地與其他選項如『-l』和『-m』選項等組合使用。
# ls -R
遞歸列出子目錄
22. 如何按照文件大小對其進行排序?
linux命令行選項'-S'賦予了ls命令這個超能力。按照文件大小從大到小的順序排序:
# ls -S
按文件大小排序
按照文件大小從小到大的順序排序。
# ls -Sr
從小到大的排序
23. 按照一行一個文件列出目錄中的內容,並且不帶額外信息的方式
選項『-1』在此可以解決這個問題,使用『-1』選項來使用ls命令可以將目錄中的內容按照一行一個文件並且不帶額外信息的方式進行輸出。
# ls -1
不帶其他信息,一行一個列出文件
24. 現在委派給你一個任務,你必須將目錄中的內容輸出到終端而且需要使用雙引號引起來,你會如何做?
有一個選項『-Q』會將ls命令的輸出內容用雙引號引起來。
# ls -Q
輸出的文件名用引號引起來
25. 想像一下你正在與一個包含有很多文件和文件夾的目錄打交道,你需要使目錄名顯示在文件名之前,你如何做?
# ls --group-directories-first
目錄優先顯示
先點到為止,我們會馬上提供該系列文章的下一部分。別換頻道,關注我們。 另外別忘了在下面的評論中提出你們寶貴的反饋信息,喜歡就分享,幫助我們得到更好的傳播吧!
via: http://www.tecmint.com/ls-interview-questions/
作者:Ravi Saive 譯者:theo-l 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive