15 個 Linux ls 命令的面試問題(一)

linux.cn發表於2015-04-28

Unix或類Unix系統中的“檔案列表”命令“ls”是最基礎並且使用的最廣泛的命令列中工具之一。它是一個POSIX相容工具,在GNU基本工具集以及BSD各種變體上都可以使用。“ls”命令可以結合大量的選項來達到想要的結果。

這篇文章的目的在於通過相關的樣例來深入討論檔案列表命令。

15 個‘ls’命令的面試問題(一)

15個“ls”命令問題。

1. 如何列出目錄中的檔案?

答:linux檔案列表命令“ls”就是幹這個的。

# ls

15 個‘ls’命令的面試問題(一)

列出檔案

同時,我們也可以使用“echo(回顯)”命令與一個萬用字元(*)引數來雷錘目錄中的所有檔案。

# echo *

15 個‘ls’命令的面試問題(一)

列出所有的檔案。

2. 如何只使用echo命令來只列出所有目錄?

# echo */

15 個‘ls’命令的面試問題(一)

列出所有的目錄

3. 怎樣列出一個目錄中的所有檔案, 包括隱藏的以“.”開頭的檔案?

答:我們需要將“-a”選項與“ls”命令一起使用。

# ls -a

15 個‘ls’命令的面試問題(一)

列出所有的隱藏檔案。

4. 如何列出目錄中除了 “當前目錄 .”和“父目錄 ..”之外的所有檔案,包括隱藏檔案?

答: 我們需要將“-A”選項與“ls”命令一起使用

# ls -A

15 個‘ls’命令的面試問題(一)

別列出指代當前目錄和父目錄的檔案

5. 如何使用長格式列印出當前目錄內容?

答: 我們需要將“-l”選項與“ls”命令一起使用。

# ls -l

15 個‘ls’命令的面試問題(一)

列出檔案的長格式。

上面的樣例中,其輸出結果看起來向下面這樣。

drwxr-xr-x  5 avi tecmint      4096 Sep 30 11:31 Binary

上面的drwxr-xr-x 是檔案的許可權,分別代表了檔案所有者,所屬組以及“整個世界”。 所有者具有讀(r),寫(w)以及執行(x)等許可權。 該檔案所屬組具有讀(r)和執行(x)但是沒有寫的許可權,整個世界的其他可以訪問到該檔案的人也具有相同許可權。

  • 開頭的‘d’意味著這是一個目錄
  • 數字’5′表示符號連結(有5個符號連結)
  • 檔案 Binary歸屬於使用者 “avi”以及使用者組 “tecmint”
  • Sep 30 11:31 表示檔案最後一次的訪問日期與時間。

6. 假如讓你來將目錄中的內容以長格式列表列印,並且顯示出隱藏的“點檔案”,你會如何實現?

答: 我們需要同時將”-a”和”-l”選項與“ls”命令一起使用(LCTT 譯註:單字元選項可以合併寫)。

# ls -la

15 個‘ls’命令的面試問題(一)

列印目錄內容

此外,如果我們不想列出“當前目錄”和”父目錄”,可以將“-A”和“-l”選項同“ls”命令一起使用。

# ls -lA

7. 如何找到每個檔案的建立者?

答: 我們需要結合 “–author”和 “-l”選項來列印出每個檔案的建立者。

# ls --author -l

15 個‘ls’命令的面試問題(一)

列出檔案建立者。

8. 如何對用轉義字元列印出非顯示字元?

答:我們只需要使用“-b”選項來對非顯示字元進行轉義列印

# ls -b

15 個‘ls’命令的面試問題(一)

9. 用指定特定的單位格式來列出檔案和目錄的大小,你會如何實現?

答: 在此可以同時使用選項“-block-size=scale”和“-l”,但是我們需要用特定的單位如M,K等來替換‘scale’引數。

# ls --block-size=M -l
# ls --block-size=K -l

15 個‘ls’命令的面試問題(一)

列出檔案大小單位格式。

10. 列出目錄中的檔案,但是不顯示備份檔案,即那些檔名以‘~’結尾的檔案

答: 選項‘-B’趕來救駕。

# ls -B

15 個‘ls’命令的面試問題(一)

列出非備份檔案

11. 將目錄中的所有檔案按照名稱進行排序,並顯示其最後修改時間資訊?

答: 為了實現這個需求,我們需要同時將“-c”和”-l”選項與命令一起使用。

# ls -cl

15 個‘ls’命令的面試問題(一)

檔案排序

12. 將目錄中的檔案按照修改時間進行排序,並顯示相關聯的資訊。

答: 我們需要同時使用3個選項:’-l’,'-t’,'-c’ 來對檔案使用修改時間排序,最新的修改時間排在最前。

# ls -ltc

15 個‘ls’命令的面試問題(一)

按照修改時間對檔案排序。

13. 如何控制‘ls’命令的輸出顏色的有無?

答: 需要使用選項‘–color=parameter’,引數具有三種不同值,“auto(自動)”,“always(一直)”,“never(無色)”。

# ls --color=never
# ls --color=auto
# ls --color=always

15 個‘ls’命令的面試問題(一)

ls的輸出顏色

14. 假如只需要列出目錄本身,而不是目錄的內容,你會如何做?

答:在此“-d”選項就會顯得很順手。

# ls -d

15 個‘ls’命令的面試問題(一)

列出目錄本身

15. 為長格式列表命令”ls -l”建立一個別名“ll”,並將其結果輸出到一個檔案而不是標準輸出中。

答:在上述的這個場景中,我們需要將別名新增到.bashrc檔案中,然後使用重定向操作符將輸出寫入到檔案而不是標準輸出中。我們將會使用編輯器nano。

# ls -a
# nano .bashrc
# ll >> ll.txt
# nano ll.txt

15 個‘ls’命令的面試問題(一)

為ls命令建立別名。

先到此為止,別忘了在下面的評論中提出你們的寶貴意見,我會再次帶著另外的有趣的文章在此閃亮登場。

參考閱讀:

相關文章