ディレクトリの中身を表示する
ターミナルにて、ディレクトリに含まれるファイルやサブディレクトリの一覧を表示するには ls コマンドを使います。
$ ls abc.c a.out dir1 file1
Ubuntu のターミナルでは通常のファイル、ディレクトリ、実行可能ファイルなどは既定で色分けされて出力されます。 緑字が実行可能ファイル、紺色はディレクトリ等です。
色分けを無効にするには --color=never オプションを指定します。
既定で現在のディレクトリの中身を表示します。特定のディレクトリ内を探すには、ディレクトリ名を指定します。
$ ls dir1 foo.txt
この例ではサブディレクトリ dir1 内の内容を表示します。
ls コマンドでよく使うオプション
ls コマンドでよく使うオプションには次のようなものがあります。
ドットファイルを含めて表示するには、-a または -A オプションを使います。 -A オプションでは現在のディレクトリと親ディレクトリを表すドットが表示されません。
$ ls -A abc.c a.out dir1 file1 .foo
「ドットファイル」というのはドット . から始まるファイルで、各種設定等に使われます。
結果を 1 行にひとつ表示するには、-1 オプションを使います。
$ ls -1 abc.c a.out dir1 file1
Linux のコマンドおよそ全般に言えることですが、例えば -A オプションと -1 オプションの両方を設定するには、
$ ls -A -1
とすることもできますが、ひとつにまとめて、
$ ls -A1
とすることもできます。
ファイルの所有者やパーミッション等も含めて表示するには、-l オプションを使います。
$ ls -l total 24 -rw-rw-r-- 1 user1 user1 66 Apr 7 08:11 abc.c -rwxrwxr-x 1 user1 user1 8600 Apr 7 08:11 a.out drwxrwxr-x 2 user1 user1 4096 Apr 7 08:09 dir1 -rw-rw-r-- 1 user1 user1 5 Apr 7 08:10 file1
サブディレクトリの中身も表示するには、-R オプションを使います。
$ ls -R .: abc.c a.out dir1 file1 ./dir1: foo.txt
特定のパターンのファイル名を持つファイルを表示するには、ファイル名の検索パターンを指定します。
$ ls *.txt foo.txt
ファイルを探す、という目的であれば find コマンドが役に立ちます。
ディレクトリを先に表示するには、--group-directories-first オプションを使います。
$ ls -l --group-directories-first total 24 drwxrwxr-x 2 user1 user1 4096 Apr 7 08:09 dir1 -rw-rw-r-- 1 user1 user1 66 Apr 7 08:11 abc.c -rwxrwxr-x 1 user1 user1 8600 Apr 7 08:11 a.out -rw-rw-r-- 1 user1 user1 5 Apr 7 08:10 file1
その他、ディレクトリの階層構造が視覚的にわかりやすいように、tree コマンドも使えます。
$ tree . ├── abc.c ├── a.out ├── dir1 │ └── foo.txt └── file1 1 directory, 4 files
tree コマンドは標準でインストールされていない場合が多いです。次のコマンドでインストールできます。
$ sudo apt install tree
tree コマンドでパーミッションの情報も合わせて表示する場合は、-p オプションを指定します。