lsコマンドの使い方 macOS/Linux/Unix

ls コマンドは、Linux や macOS のターミナルで、ディレクトリ内のファイルやサブディレクトリの一覧を表示するために使用されます。この記事では、よく使用される ls コマンドのオプションをまとめて説明します。

lsコマンド 基本のオプション

オプション説明
-a隠しファイルを含めた全てのファイルとディレクトリを表示します。
-l詳細情報を表示します(ファイルの種類、パーミッション、リンク数、所有者、グループ、サイズ、タイムスタンプ)。
-hファイルサイズを人が読みやすい形式(例:KB、MB)で表示します(-l オプションと一緒に使います)。
-rファイルを逆順に表示します。
-tファイルを変更時間でソートして表示します。
-Sファイルサイズでソートして表示します。
-GmacOSでファイルの種類ごとに色分けして表示します

実践

これらのオプションは組み合わせて使用することができます。例えば、すべてのファイルを詳細表示し、ファイルサイズを人が読みやすい形式で表示するには、以下のようにコマンドを実行します。

bash
ls -lah

別の例として、すべてのファイルをファイルサイズの大きい順に詳細表示するには、以下のようにします。

bash
ls -lhaS

lsコマンド 便利なオプション

ls コマンドのその他の便利なオプションについても追加説明します。
オプション説明
-F各ファイルの後ろに、ファイルの種類を示す文字(/ = ディレクトリ、* = 実行可能ファイルなど)を追加して表示します。
-dディレクトリ自体を表示し、内容を表示しない。
--group-directories-firstディレクトリを先に表示し、その後にファイルを表示します(GNU lsにはあるが、macOSにはない)。
-i各ファイルのinode番号を表示します。
-o-lに似ていますが、グループ情報を省略します。
-1各ファイルやディレクトリを1行に1つずつ表示します。

これらのオプションも組み合わせて使うことができます。例えば、ファイルとディレクトリを種類に応じて識別しやすくするために、-F オプションを使います。

bash
ls -lF

さらに、-G オプション(macOSにはない場合がある)は、詳細表示からグループ情報を省略したい場合に便利です。macOSでは -o オプションが似たような目的で使えます。

bash
ls -lo

これらは ls コマンドの多くのオプションの一部です。特定のニーズに応じて、これらのオプションを組み合わせて使用することができます。さらに詳細な情報や、ここに記載されていないオプションを探す場合は、ターミナルで man ls を実行してマニュアルページを参照してください。

lsコマンドとほかのコマンドを組み合わせた事例

ls コマンドは、他のコマンドと組み合わせて使用することで、さらに強力な操作が可能になります。以下は、ls コマンドを他のコマンドと組み合わせた便利な例です。

grep コマンドとの組み合わせ

ファイルやディレクトリのリストから特定のパターンにマッチするものだけを抽出したい場合、ls コマンドの出力を grep コマンドにパイプで渡します。

bash
ls -l | grep '^d'

このコマンドは、現在のディレクトリ内のすべてのディレクトリ(-l オプションで詳細表示されたリストの中で、行の先頭が d で始まるもの)をリストアップします。

ファイルのみ表示させる場合は、次のようにします。

bash
ls -l | grep '^-'

sort コマンドとの組み合わせ

ファイルのリストを特定の基準でソートしたい場合は、ls コマンドの出力を sort コマンドにパイプで渡します。

bash
ls -l | sort -k 5 -n

このコマンドは、ファイルサイズ(第5フィールド)に基づいて、ファイルのリストを数値的にソートします。

wc コマンドとの組み合わせ

ディレクトリ内のファイルやサブディレクトリの総数を知りたい場合は、ls コマンドの出力を wc コマンドにパイプで渡して、行数をカウントします。

bash
ls -1 | wc -l

このコマンドは、現在のディレクトリ内のファイルとサブディレクトリの総数を表示します。

head または tail コマンドとの組み合わせ

ディレクトリ内のファイルリストの先頭や末尾の数ファイルだけを表示したい場合に便利です。

  • 最初の5ファイルを表示:

bash
ls -l | head -n 5

  • 最後の5ファイルを表示:

bash
ls -l | tail -n 5

xargs コマンドとの組み合わせ

特定のファイルに対してバッチ操作を行いたい場合に、lsxargs を組み合わせます。

  • .txt ファイルをすべて削除:

bash
ls *.txt | xargs trash

これらの例は、ls コマンドをより強力に使うための一部です。これらのコマンドを組み合わせることで、さまざまなタスクを効率的に実行することができます。この例では安全のためtrashを使っています。削除操作でrm コマンドを行う場合は、操作の影響をよく理解してから実行してください。

関連記事

最後までご覧いただきありがとうございます!

▼ 記事に関するご質問やお仕事のご相談は以下よりお願いいたします。
お問い合わせフォーム

Python学習にオススメの本をご紹介!
Pandasでデータサイエンスはじめよう!
スクレイピングにオススメの書籍

▼ Beautiful Soup4を使ったWebクローリングをはじめ、表データをpandasやOpenPyXL、matplotでデータ解析、グラフ表示などのスクレイピングのやり方が分かりやすく説明されてます。図解が多いのでPython初心者の方でも読み進められる内容となってます。