ディレクトリの中身を全部表示するコマンドって色々あるんですね
その場その場で、いくつも使ってると、何処でどれ使うか頭のなかがごった煮になるので、ちょっと整理しておきます。
ls -R コマンド
定番の ls コマンドに -R をつけると、再帰的に検索して表示することが出来ます。
takuya@atom:/var/tftpd/debian-installer$ ls -R .: i386 ./i386: boot-screens initrd.gz linux pxelinux.0 pxelinux.cfg ./i386/boot-screens: adtxt.cfg exithelp.cfg f10.txt f3.txt f5.txt f7.txt f9.txt lxde prompt.cfg splash.png syslinux.cfg vesamenu.c32 dtmenu.cfg f1.txt f2.txt f4.txt f6.txt f8.txt kde menu.cfg rqtxt.cfg stdmenu.cfg txt.cfg xfce ./i386/boot-screens/kde: adtxt.cfg adtxtdt.cfg menu.cfg prmenu.cfg prompt.cfg txt.cfg txtdt.cfg ./i386/boot-screens/lxde: adtxt.cfg adtxtdt.cfg menu.cfg prmenu.cfg prompt.cfg txt.cfg txtdt.cfg ./i386/boot-screens/xfce: adtxt.cfg adtxtdt.cfg menu.cfg prmenu.cfg prompt.cfg txt.cfg txtdt.cfg ./i386/pxelinux.cfg: debian-live.cfg default default.org
階層が浅くてファイル数が少ないなら便利
ls -R は更に -l -a -t も付加が可能
ls -R といつもの ls -alt --color を同時に使うことができるので、階層が浅いなら結構便利。
takuya@atom:/var/tftpd/debian-installer$ ls -Ralt .: 合計 12 drwxrwsr-x 6 root sudo 4096 2月 9 02:54 .. drwxrwsr-x 3 takuya sudo 4096 7月 15 2014 . drwxrwsr-x 4 takuya sudo 4096 7月 15 2014 i386 ./i386: 合計 8716 drwxrwsr-x 5 takuya sudo 4096 7月 15 2014 boot-screens drwxrwsr-x 2 takuya sudo 4096 7月 15 2014 pxelinux.cfg drwxrwsr-x 4 takuya sudo 4096 7月 15 2014 . drwxrwsr-x 3 takuya sudo 4096 7月 15 2014 .. -rwxrwxr-x 1 takuya sudo 6683528 7月 15 2014 initrd.gz -rwxrwxr-x 1 takuya sudo 2195008 7月 15 2014 linux -rwxrwxr-x 1 takuya sudo 26816 7月 15 2014 pxelinux.0 (ry ./i386/pxelinux.cfg: 合計 12 -rwxrwxr-x 1 takuya sudo 262 10月 6 01:07 debian-live.cfg drwxrwsr-x 2 takuya sudo 4096 7月 15 2014 . lrwxrwxrwx 1 takuya sudo 28 7月 15 2014 default -> ../boot-screens/syslinux.cfg lrwxrwxrwx 1 takuya sudo 28 7月 15 2014 default.org -> ../boot-screens/syslinux.cfg drwxrwsr-x 4 takuya sudo 4096 7月 15 2014 ..
tree コマンド
tree コマンドも定番ですね。tree コマンドでファイルとフォルダの一覧ができる。
ファイル数が少ない割に階層が深くなってる時に便利。
takuya@atom:/var/tftpd/debian-installer$ tree . └── i386 ├── boot-screens │ ├── adtxt.cfg │ ├── dtmenu.cfg │ ├── exithelp.cfg │ ├── f1.txt │ ├── f10.txt │ ├── f2.txt │ ├── f3.txt │ ├── f4.txt │ ├── f5.txt │ ├── f6.txt │ ├── f7.txt │ ├── f8.txt (中簡略 ├── initrd.gz ├── linux ├── pxelinux.0 └── pxelinux.cfg ├── debian-live.cfg ├── default -> ../boot-screens/syslinux.cfg └── default.org -> ../boot-screens/syslinux.cfg 6 directories, 48 files
find コマンド
これも、便利な find コマンド。
find はファイル名・ディレクトリ名の一覧をだして、他で再利用するときに便利。
わたしはMacOSXで、動画の一覧とか欲しい時に
find -type f *.mp4 | pbcopy
とかよくやってます。
find の例。
takuya@atom:/var/tftpd/debian-installer$ find . ./i386 ./i386/pxelinux.0 ./i386/linux ./i386/boot-screens ./i386/boot-screens/f5.txt ./i386/boot-screens/f9.txt ./i386/boot-screens/f10.txt ./i386/boot-screens/xfce ./i386/boot-screens/xfce/menu.cfg ./i386/boot-screens/xfce/prompt.cfg ./i386/boot-screens/xfce/prmenu.cfg ./i386/boot-screens/xfce/txt.cfg ./i386/boot-screens/xfce/adtxt.cfg ./i386/boot-screens/xfce/txtdt.cfg ./i386/boot-screens/xfce/adtxtdt.cfg ./i386/boot-screens/lxde ./i386/boot-screens/lxde/menu.cfg ./i386/boot-screens/lxde/prompt.cfg ./i386/boot-screens/lxde/prmenu.cfg ./i386/boot-screens/lxde/txt.cfg ./i386/boot-screens/lxde/adtxt.cfg ./i386/boot-screens/lxde/txtdt.cfg ./i386/boot-screens/lxde/adtxtdt.cfg ./i386/boot-screens/menu.cfg ./i386/boot-screens/f8.txt ./i386/boot-screens/prompt.cfg ./i386/boot-screens/f1.txt ./i386/boot-screens/f2.txt ./i386/boot-screens/f7.txt ./i386/boot-screens/kde ./i386/boot-screens/kde/menu.cfg ./i386/boot-screens/kde/prompt.cfg ./i386/boot-screens/kde/prmenu.cfg ./i386/boot-screens/kde/txt.cfg ./i386/boot-screens/kde/adtxt.cfg ./i386/boot-screens/kde/txtdt.cfg ./i386/boot-screens/kde/adtxtdt.cfg ./i386/boot-screens/rqtxt.cfg ./i386/boot-screens/f6.txt ./i386/boot-screens/txt.cfg ./i386/boot-screens/adtxt.cfg ./i386/boot-screens/f3.txt ./i386/boot-screens/exithelp.cfg ./i386/boot-screens/syslinux.cfg ./i386/boot-screens/f4.txt ./i386/boot-screens/stdmenu.cfg ./i386/boot-screens/splash.png ./i386/boot-screens/vesamenu.c32 ./i386/boot-screens/dtmenu.cfg ./i386/initrd.gz ./i386/pxelinux.cfg ./i386/pxelinux.cfg/default.org ./i386/pxelinux.cfg/default ./i386/pxelinux.cfg/debian-live.
ディレクトリだけ、ファイルだけ
find はファイルを一覧しつつ、検索条件に一致したものだけを抜き出してくれるので、検索条件をつけることが出来る。
find -type f # ファイルだけ
find -type d ## ディレクトリだけ
bash globstar + ls
最近はもっぱらコレ
globstar で一覧するのも便利かも。
ls -R と本質的には変わらないんだけど、 globstar で引数をshell展開すると、表示の前半にファイルが集まってくれるので便利。
takuya@atom:/var/tftpd/debian-installer$ ls **/* i386/boot-screens/adtxt.cfg i386/boot-screens/f9.txt i386/boot-screens/lxde/prompt.cfg i386/boot-screens/xfce/adtxtdt.cfg i386/boot-screens/dtmenu.cfg i386/boot-screens/kde/adtxt.cfg i386/boot-screens/lxde/txt.cfg i386/boot-screens/xfce/menu.cfg i386/boot-screens/exithelp.cfg i386/boot-screens/kde/adtxtdt.cfg i386/boot-screens/lxde/txtdt.cfg i386/boot-screens/xfce/prmenu.cfg i386/boot-screens/f1.txt i386/boot-screens/kde/menu.cfg i386/boot-screens/menu.cfg i386/boot-screens/xfce/prompt.cfg i386/boot-screens/f10.txt i386/boot-screens/kde/prmenu.cfg i386/boot-screens/prompt.cfg i386/boot-screens/xfce/txt.cfg i386/boot-screens/f2.txt i386/boot-screens/kde/prompt.cfg i386/boot-screens/rqtxt.cfg i386/boot-screens/xfce/txtdt.cfg i386/boot-screens/f3.txt i386/boot-screens/kde/txt.cfg i386/boot-screens/splash.png i386/initrd.gz i386/boot-screens/f4.txt i386/boot-screens/kde/txtdt.cfg i386/boot-screens/stdmenu.cfg i386/linux i386/boot-screens/f5.txt i386/boot-screens/lxde/adtxt.cfg i386/boot-screens/syslinux.cfg i386/pxelinux.0 i386/boot-screens/f6.txt i386/boot-screens/lxde/adtxtdt.cfg i386/boot-screens/txt.cfg i386/pxelinux.cfg/debian-live.cfg i386/boot-screens/f7.txt i386/boot-screens/lxde/menu.cfg i386/boot-screens/vesamenu.c32 i386/pxelinux.cfg/default i386/boot-screens/f8.txt i386/boot-screens/lxde/prmenu.cfg i386/boot-screens/xfce/adtxt.cfg i386/pxelinux.cfg/default.org i386: boot-screens initrd.gz linux pxelinux.0 pxelinux.cfg i386/boot-screens: adtxt.cfg exithelp.cfg f10.txt f3.txt f5.txt f7.txt f9.txt lxde prompt.cfg splash.png syslinux.cfg vesamenu.c32 dtmenu.cfg f1.txt f2.txt f4.txt f6.txt f8.txt kde menu.cfg rqtxt.cfg stdmenu.cfg txt.cfg xfce i386/boot-screens/kde: adtxt.cfg adtxtdt.cfg menu.cfg prmenu.cfg prompt.cfg txt.cfg txtdt.cfg i386/boot-screens/lxde: adtxt.cfg adtxtdt.cfg menu.cfg prmenu.cfg prompt.cfg txt.cfg txtdt.cfg i386/boot-screens/xfce: adtxt.cfg adtxtdt.cfg menu.cfg prmenu.cfg prompt.cfg txt.cfg txtdt.cfg i386/pxelinux.cfg: debian-live.cfg default default.org
まとめ
- 他で使う一覧がほしい⇛ find
- パパっと見たい ⇛ ls -R
- 階層構造をメールで送りたい ⇛ tree
こんな感じですかね。