15 個『ls』命令的面試問題(一)
1. 如何列出目錄中的文件?
# ls
列出文件
同時,我們也可以使用「echo(回顯)」命令與一個通配符(*)參數來雷錘目錄中的所有文件。
# echo *
列出所有的文件。
2. 如何只使用echo命令來只列出所有目錄?
# echo */
列出所有的目錄
3. 怎樣列出一個目錄中的所有文件, 包括隱藏的以「.」開頭的文件?
答:我們需要將「-a」選項與「ls」命令一起使用。
# ls -a
列出所有的隱藏文件。
4. 如何列出目錄中除了 「當前目錄 .」和「父目錄 ..」之外的所有文件,包括隱藏文件?
答: 我們需要將「-A」選項與「ls」命令一起使用
# ls -A
別列出指代當前目錄和父目錄的文件
5. 如何使用長格式列印出當前目錄內容?
答: 我們需要將「-l」選項與「ls」命令一起使用。
# ls -l
列出文件的長格式。
上面的樣例中,其輸出結果看起來向下面這樣。
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
列印目錄內容
此外,如果我們不想列出「當前目錄」和"父目錄",可以將「-A」和「-l」選項同「ls」命令一起使用。
# ls -lA
7. 如何找到每個文件的創建者?
答: 我們需要結合 「--author」和 "-l"選項來列印出每個文件的創建者。
# ls --author -l
列出文件創建者。
8. 如何對用轉義字元列印出非顯示字元?
答:我們只需要使用「-b」選項來對非顯示字元進行轉義列印
# ls -b
9. 用指定特定的單位格式來列出文件和目錄的大小,你會如何實現?
答: 在此可以同時使用選項「-block-size=scale」和「-l」,但是我們需要用特定的單位如M,K等來替換『scale』參數。
# ls --block-size=M -l
# ls --block-size=K -l
列出文件大小單位格式。
10. 列出目錄中的文件,但是不顯示備份文件,即那些文件名以『~』結尾的文件
答: 選項『-B』趕來救駕。
# ls -B
列出非備份文件
11. 將目錄中的所有文件按照名稱進行排序,並顯示其最後修改時間信息?
答: 為了實現這個需求,我們需要同時將「-c」和"-l"選項與命令一起使用。
# ls -cl
文件排序
12. 將目錄中的文件按照修改時間進行排序,並顯示相關聯的信息。
答: 我們需要同時使用3個選項:'-l','-t','-c' 來對文件使用修改時間排序,最新的修改時間排在最前。
# ls -ltc
按照修改時間對文件排序。
13. 如何控制『ls』命令的輸出顏色的有無?
答: 需要使用選項『--color=parameter』,參數具有三種不同值,「auto(自動)」,「always(一直)」,「never(無色)」。
# ls --color=never
# ls --color=auto
# ls --color=always
ls的輸出顏色
14. 假如只需要列出目錄本身,而不是目錄的內容,你會如何做?
答:在此「-d」選項就會顯得很順手。
# ls -d
列出目錄本身
15. 為長格式列表命令"ls -l"創建一個別名「ll」,並將其結果輸出到一個文件而不是標準輸出中。
答:在上述的這個場景中,我們需要將別名添加到.bashrc文件中,然後使用重定向操作符將輸出寫入到文件而不是標準輸出中。我們將會使用編輯器nano。
# ls -a
# nano .bashrc
# ll >> ll.txt
# nano ll.txt
為ls命令創建別名。
先到此為止,別忘了在下面的評論中提出你們的寶貴意見,我會再次帶著另外的有趣的文章在此閃亮登場。
參考閱讀:
via: http://www.tecmint.com/ls-command-interview-questions/
作者:Avishek Kumar 譯者:theo-l 校對:校對者ID
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive