【Linux】lsコマンド/findコマンドでファイル一覧を表示する
ファイル一覧を表示するにはlsコマンドやfindコマンドを使用します。
カレントディレクトリ内のファイル一覧を表示する方法
lsコマンドを使用してカレントディレクトリ内のファイル一覧を表示できます。
$ ls
file1 file2 file3
カレントディレクトリ内にファイル「file1」「file2」「file3」があることを確認できました。
ただし、lsコマンドではカレントディレクトリ内にディレクトリがあった場合に、ディレクトリも含めて一覧に表示されます。ディレクトリは除外してファイルのみを表示するにはfindコマンドの-typeオプションを使用します。
$ ls
file1 file2 file3 dir1
$ find . -type f
file1 file2 file3
カレントディレクトリ内のファイル一覧を再帰的に表示する方法
再帰的とは、ディレクトリの中にディレクトリがあった場合に、そのディレクトリに対して同様の処理を繰り返すということを言います。
カレントディレクトリ内のファイル一覧を再帰的に表示するにはlsコマンドの-Rオプションが利用できます。
$ ls -R
ls -R
.:
file1 file2 file3 dir1
./dir1:
file4 file5 file6
カレントディレクトリ内にファイル「file1」「file2」「file3」とディレクトリ「dir1」があり、「dir1」の中にファイル「file4」「file5」「file6」があることが確認できました。
findコマンドは特にオプションを指定しなくても再帰的にファイル一覧を表示してくれます。以下の例ではファイルのみを表示するために-typeオプションを使用しています。
$ find . -type f
./file1
./dir1/file5
./dir1/file4
./dir1/file6
./file3
./file2
ファイル一覧を詳細情報も含めて表示する方法
ファイル一覧を詳細情報も含めて表示するにはlsコマンドの-lオプションを使用します。
$ ls -l
total 2428
drwxr-xr-x 2 root root 4096 Jun 12 13:34 dir1
-rw-r--r-- 1 root root 2215 Jun 12 13:46 file1
-rw-r--r-- 1 root root 4430 Jun 12 13:46 file2
-rw-r--r-- 1 root root 2467510 Jun 12 13:48 file3
左からファイルの種類、パーミッション、ハードリンク数、所有者、グループ、ファイルサイズ、タイムスタンプ、ファイル名を表示しています。
ファイルサイズはバイト単位で表示されており見づらいですが、-hオプションを付けると理解しやすくなります。
$ ls -lh
total 2.4M
drwxr-xr-x 2 root root 4.0K Jun 12 13:34 dir1
-rw-r--r-- 1 root root 2.2K Jun 12 13:46 file1
-rw-r--r-- 1 root root 4.4K Jun 12 13:46 file2
-rw-r--r-- 1 root root 2.4M Jun 12 13:48 file3