Bash 速習チュートリアル

Bash ls コマンド

1. ls コマンドの使用方法

ls コマンドは、ディレクトリの内容をリスト表示するために使用されます。
ファイルやディレクトリ自体だけでなく、それらに関する詳細な情報を表示することも可能です。

1.1 基本的な使い方

カレントフォルダの中に何があるかを確認するには、単に ls と入力します。

実行例

ls
Cosmere_RPG_Beta_Rules_Preview.pdf  images/
my_file.txt  report.csv  voiceover.wav

2. オプションの概要

ls コマンドには、出力をカスタマイズするための多様なオプションが用意されています。

  • -l:ロングリスティング(詳細)形式で表示
  • -a:隠しファイルを含めて表示
  • -h:ファイルサイズをヒューマンリーダブル(人間が読みやすい形式)に変換
  • -t:更新日時順にソート
  • -r:ソート順を逆にする
  • -R:サブディレクトリを再帰的にリスト表示
  • -S:ファイルサイズ順にソート
  • -1:1行に1ファイルずつ表示
  • -d:ディレクトリの中身ではなく、ディレクトリ自体を表示
  • -F:エントリにインジケータ(*/=@| のいずれか)を付与

3. ロングリスティング形式(詳細表示)

-l オプションを使用すると、ファイルやフォルダに関する詳細な情報を取得できます。
具体的には以下の情報が表示されます。

  • ファイルパーミッション(権限)
  • リンク数
  • 所有者名
  • 所有グループ
  • ファイルサイズ
  • 最終更新日時
  • ファイル名またはディレクトリ名

このフォーマットは、ファイル属性を包括的に把握したい場合に非常に便利です。

実行例:ロングリスティング形式

ls -l
合計 24232
-rw-r--r-- 1 user 197609 23777028 Jan 15 20:38 Cosmere_RPG_Beta_Rules_Preview.pdf
drwxr-xr-x 1 user 197609        0 Apr  9 07:46 images/
-rw-r--r-- 1 user 197609      890 Apr  9 07:48 my_file.txt
-rw-r--r-- 1 user 197609   305366 Apr  9 07:48 report.csv
-rw-r--r-- 1 user 197609   720974 Apr  9 07:47 voiceover.wav

4. 隠しファイルの表示

-a オプションを使用すると、リストに隠しファイルが含まれるようになります。
Unix/Linuxシステムでは、ドットで始まるファイル(例:.bashrc)が隠しファイルとして扱われます。
デフォルトでは表示されない設定ファイルなどを確認・管理したい場合に役立ちます。

実行例:隠しファイルを含める

ls -a
./  ../  .my_secret_file  Cosmere_RPG_Beta_Rules_Preview.pdf
images/  my_file.txt  report.csv  voiceover.wav

5. ヒューマンリーダブルなサイズ表示

-h オプションを使用すると、バイト単位の数値をキロバイト(K)、メガバイト(M)、ギガバイト(G)などに変換し、読みやすく表示します。
手動でバイト計算をすることなく、ファイルやディレクトリのサイズを素早く把握したい時に最適です。

実行例:ヒューマンリーダブルなサイズ表示

ls -lh
合計 24M
-rw-r--r-- 1 user 197609  23M Jan 15 20:38 Cosmere_RPG_Beta_Rules_Preview.pdf
drwxr-xr-x 1 user 197609    0 Apr  9 07:51 images/
-rw-r--r-- 1 user 197609  890 Apr  9 07:48 my_file.txt
-rw-r--r-- 1 user 197609 299K Apr  9 07:48 report.csv
-rw-r--r-- 1 user 197609 705K Apr  9 07:47 voiceover.wav

6. 更新日時によるソート

-t オプションを指定すると、ファイルやディレクトリを更新日時順にソートし、最新のものを最初に表示します。
最近更新したファイルを素早く見つけたい場合に便利です。

実行例:更新日時でソート

ls -t
images/  my_file.txt  report.csv  voiceover.wav
Cosmere_RPG_Beta_Rules_Preview.pdf

7. ソート順の反転

-r オプションはソート順を逆にします。
-t などの他のオプションと組み合わせることで、例えば「最も古いファイル」を最初に表示させることができます。

実行例:逆順で表示

ls -r
voiceover.wav  report.csv  my_file.txt  images/
Cosmere_RPG_Beta_Rules_Preview.pdf

8. 再帰的なリスト表示

-R オプションは、ディレクトリとその中身を再帰的にリストアップします。
ディレクトリツリー全体を把握したい時に便利です。

実行例:再帰表示

ls -R
.:
copy_of_my_file.txt  Cosmere_RPG_Beta_Rules_Preview.pdf
images/  my_file.txt  myfolder/  report.csv  voiceover.wav

./images:
1.png  2.png  3.png  4.png

./myfolder:
my_file.txt  new_directory/

./myfolder/new_directory:

9. サイズ順によるソート

-S オプションを使用すると、ファイルサイズが大きい順にソートされます。
ディレクトリ内で容量を占有しているファイルを特定するのに役立ちます。

実行例:サイズ順ソート

ls -S
Cosmere_RPG_Beta_Rules_Preview.pdf  voiceover.wav  report.csv
copy_of_my_file.txt  my_file.txt  images/  myfolder/

10. 1行に1つのエントリを表示

-1 オプションは、出力を1行につき1ファイルに制限します。
これはシェルスクリプト内で結果を処理したり、他のコマンドにパイプで渡したりする場合に非常に有用です。

実行例:1行ずつ表示

ls -1
Cosmere_RPG_Beta_Rules_Preview.pdf
images/
my_file.txt
report.csv
voiceover.wav

11. ディレクトリのみを表示

-d オプションは、ディレクトリの中身ではなく、ディレクトリそのものの情報を表示します。
ディレクトリの存在確認や属性確認に使用します。

実行例:ディレクトリのみを表示

ls -d */
images//  myfolder//

12. インジケータの付与

-F オプションを付けると、エントリの末尾にそのタイプを示す文字(ディレクトリなら /、実行可能ファイルなら * など)が付与されます。

実行例:インジケータ付き表示

ls -F
Cosmere_RPG_Beta_Rules_Preview.pdf  images/
my_file.txt  report.csv  voiceover.wav

13. 複数のオプションを組み合わせる

複数のオプションを組み合わせて、より詳細な出力を得ることができます。
例えば、ls -l -a とすると、隠しファイルを含むすべてのファイルの詳細情報が表示されます。

実行例:オプションの組み合わせ

ls -l -a
合計 24248
drwxr-xr-x 1 user 197609        0 Apr  9 07:53 ./
drwxr-xr-x 1 user 197609        0 Apr  9 07:42 ../
-rw-r--r-- 1 user 197609      890 Apr  9 07:48 .my_secret_file
-rw-r--r-- 1 user 197609 23777028 Jan 15 20:38 Cosmere_RPG_Beta_Rules_Preview.pdf
drwxr-xr-x 1 user 197609        0 Apr  9 07:51 images/
-rw-r--r-- 1 user 197609      890 Apr  9 07:48 my_file.txt
-rw-r--r-- 1 user 197609   305366 Apr  9 07:48 report.csv
-rw-r--r-- 1 user 197609   720974 Apr  9 07:47 voiceover.wav

また、オプションの間にスペースを入れずに ls -la のように記述することも可能です。

実行例:一括指定

ls -la
合計 24248
drwxr-xr-x 1 user 197609        0 Apr  9 07:53 ./
drwxr-xr-x 1 user 197609        0 Apr  9 07:42 ../
-rw-r--r-- 1 user 197609      890 Apr  9 07:48 .my_secret_file
-rw-r--r-- 1 user 197609 23777028 Jan 15 20:38 Cosmere_RPG_Beta_Rules_Preview.pdf
drwxr-xr-x 1 user 197609        0 Apr  9 07:51 images/
-rw-r--r-- 1 user 197609      890 Apr  9 07:48 my_file.txt
-rw-r--r-- 1 user 197609   305366 Apr  9 07:48 report.csv
-rw-r--r-- 1 user 197609   720974 Apr  9 07:47 voiceover.wav