2014年1月8日 星期三

ls搭配萬用字元列出子目錄內容

ls 指令預設會列出當前目錄中的檔案或目錄:

$ ls
Applications        Documents           Google Drive     Music               Sites
CTX.DAT             Downloads           Library             Pictures            Test
Desktop             Dropbox             Movies              Public              VirtualBox VMs

$ ls Music/
GarageBand iTunes


但如果加上了萬用字元「*」或「?」,就會自動遞迴,列出符合字元樣式的子目錄內容:

$ ls M*
Movies:
20120205                                           iMovie Events.localized
Linux教學                                          iMovie Projects.localized
com.GoodLuckTechnologyTeam.EasyScreenRecorderLiteE
com.softtote.videoConverterMaster

Music:
GarageBand iTunes

或者

$ ls M????
GarageBand iTunes



若使用 -d 選項則可以強制只在當前目錄中搜尋:

$ ls -d M????
Music


但若使用 -R 選項,則會一路遞迴詳細列完所有符合路徑的子目錄內容:

$ ls -R M????
GarageBand iTunes

Music/GarageBand:

Music/iTunes:
Album Artwork              iTunes Library Extras.itdb iTunes Library.itl         iTunes Music Library.xml
Previous iTunes Libraries  iTunes Library Genius.itdb iTunes Media               sentinel

Music/iTunes/Album Artwork:
Cache           Cloud           Cloud Purchases Download

Music/iTunes/Album Artwork/Cache:

Music/iTunes/Album Artwork/Cloud:

Music/iTunes/Album Artwork/Cloud Purchases:

Music/iTunes/Album Artwork/Download: