lsコマンドの使い方 macOS/Linux/Unix
ls コマンドは、Linux や macOS のターミナルで、ディレクトリ内のファイルやサブディレクトリの一覧を表示するために使用されます。この記事では、よく使用される ls コマンドのオプションをまとめて説明します。lsコマンド 基本のオプション
オプション | 説明 |
---|---|
-a | 隠しファイルを含めた全てのファイルとディレクトリを表示します。 |
-l | 詳細情報を表示します(ファイルの種類、パーミッション、リンク数、所有者、グループ、サイズ、タイムスタンプ)。 |
-h | ファイルサイズを人が読みやすい形式(例:KB、MB)で表示します(-l オプションと一緒に使います)。 |
-r | ファイルを逆順に表示します。 |
-t | ファイルを変更時間でソートして表示します。 |
-S | ファイルサイズでソートして表示します。 |
-G | macOSでファイルの種類ごとに色分けして表示します |
実践
これらのオプションは組み合わせて使用することができます。例えば、すべてのファイルを詳細表示し、ファイルサイズを人が読みやすい形式で表示するには、以下のようにコマンドを実行します。
ls -lah
別の例として、すべてのファイルをファイルサイズの大きい順に詳細表示するには、以下のようにします。
ls -lhaS
lsコマンド 便利なオプション
ls コマンドのその他の便利なオプションについても追加説明します。オプション | 説明 |
---|---|
-F | 各ファイルの後ろに、ファイルの種類を示す文字(/ = ディレクトリ、* = 実行可能ファイルなど)を追加して表示します。 |
-d | ディレクトリ自体を表示し、内容を表示しない。 |
--group-directories-first | ディレクトリを先に表示し、その後にファイルを表示します(GNU lsにはあるが、macOSにはない)。 |
-i | 各ファイルのinode番号を表示します。 |
-o | -lに似ていますが、グループ情報を省略します。 |
-1 | 各ファイルやディレクトリを1行に1つずつ表示します。 |
これらのオプションも組み合わせて使うことができます。例えば、ファイルとディレクトリを種類に応じて識別しやすくするために、-F オプションを使います。
ls -lF
さらに、-G オプション(macOSにはない場合がある)は、詳細表示からグループ情報を省略したい場合に便利です。macOSでは -o オプションが似たような目的で使えます。
ls -lo
これらは ls コマンドの多くのオプションの一部です。特定のニーズに応じて、これらのオプションを組み合わせて使用することができます。さらに詳細な情報や、ここに記載されていないオプションを探す場合は、ターミナルで man ls を実行してマニュアルページを参照してください。
lsコマンドとほかのコマンドを組み合わせた事例
ls コマンドは、他のコマンドと組み合わせて使用することで、さらに強力な操作が可能になります。以下は、ls コマンドを他のコマンドと組み合わせた便利な例です。grep コマンドとの組み合わせ
ファイルやディレクトリのリストから特定のパターンにマッチするものだけを抽出したい場合、ls コマンドの出力を grep コマンドにパイプで渡します。
ls -l | grep '^d'
このコマンドは、現在のディレクトリ内のすべてのディレクトリ(-l オプションで詳細表示されたリストの中で、行の先頭が d で始まるもの)をリストアップします。
ファイルのみ表示させる場合は、次のようにします。
ls -l | grep '^-'
sort コマンドとの組み合わせ
ファイルのリストを特定の基準でソートしたい場合は、ls コマンドの出力を sort コマンドにパイプで渡します。
ls -l | sort -k 5 -n
このコマンドは、ファイルサイズ(第5フィールド)に基づいて、ファイルのリストを数値的にソートします。
wc コマンドとの組み合わせ
ディレクトリ内のファイルやサブディレクトリの総数を知りたい場合は、ls コマンドの出力を wc コマンドにパイプで渡して、行数をカウントします。
ls -1 | wc -l
このコマンドは、現在のディレクトリ内のファイルとサブディレクトリの総数を表示します。
head または tail コマンドとの組み合わせ
ディレクトリ内のファイルリストの先頭や末尾の数ファイルだけを表示したい場合に便利です。
- 最初の5ファイルを表示:
ls -l | head -n 5
- 最後の5ファイルを表示:
ls -l | tail -n 5
xargs コマンドとの組み合わせ
特定のファイルに対してバッチ操作を行いたい場合に、ls と xargs を組み合わせます。
- .txt ファイルをすべて削除:
ls *.txt | xargs trash
これらの例は、ls コマンドをより強力に使うための一部です。これらのコマンドを組み合わせることで、さまざまなタスクを効率的に実行することができます。この例では安全のためtrashを使っています。削除操作でrm コマンドを行う場合は、操作の影響をよく理解してから実行してください。