ls コマンドは、指定したディレクトリ内のファイルやディレクトリの一覧を表示するコマンドです。
Linux のシェル操作の中でも最も使用頻度が高いコマンドのひとつで、カレントディレクトリの中身を確認したり、詳細情報付きで一覧を表示したりできます。
オプションを組み合わせることで、
- 隠しファイル(ドットファイル)も含めて表示する
- パーミッションや所有者などの詳細情報を表示する
- ファイルサイズを人間に読みやすい単位(KB/MB など)で表示する
- 更新日時やサイズでソートする
といった柔軟な表示が可能です。
ls [オプション]... [ファイルやディレクトリ]...
引数を省略した場合は、カレントディレクトリの内容を一覧表示します。
パスを指定すると、そのディレクトリやファイルについての情報を表示します。
多くの環境では、ls --color=auto がデフォルト(エイリアス)になっており、
ディレクトリや実行ファイルなどが色分けされて見やすくなっています。
・カレントディレクトリのファイルを一覧表示する(基本)
ls
もっとも基本的な使い方で、カレントディレクトリ内のファイル・ディレクトリ名を一覧表示します。
隠しファイル(. から始まるファイル)は表示されません。
・詳細情報を含めて一覧表示する(long format)
ls -l
-l を付けると、パーミッション・リンク数・所有者・グループ・サイズ・更新日時・ファイル名を
1 行ずつ詳細表示します。
ファイルの所有者やパーミッションを確認したいときによく使います。
・隠しファイルも含めて表示する
ls -a
-a は、. から始まる隠しファイルを含めて表示します。
.ssh や .bashrc など、設定ファイルはドットファイルになっていることが多いため、設定の確認時に便利です。
・「.」「..」を除いた隠しファイルも含めて表示する
ls -A
-A は、.(カレント)と ..(親ディレクトリ)を除いた隠しファイルを表示します。
余計な 2 エントリを省いて一覧を見たいときはこちらが便利です。
・詳細情報を、人間に読みやすいサイズで表示する
ls -lh
-h(–human-readable)は、ファイルサイズを KB/MB/GB などに変換して表示します。
この例では、-l と組み合わせて、詳細情報を人間に読みやすい形で一覧表示しています。
・更新日時が新しい順に並べて表示する
ls -lt
-t は、更新日時の新しい順にソートして表示するオプションです。
ログディレクトリやバックアップディレクトリで「最近更新されたファイル」を確認したいときに役立ちます。
・更新日時が古い順に並べて表示する
ls -ltr
-r は、ソート順を逆順にするオプションです。
-lt と組み合わせると、「古い順」になり、古いログやバックアップから順に確認したいときに便利です。
・ディレクトリ名だけを一覧表示する
ls -d */
-d は、「ディレクトリの中身」ではなくディレクトリ自身を表示するオプションです。
シェルのパターン */ と組み合わせることで、「ディレクトリだけ」を一覧できます。
・サブディレクトリも含めて再帰的に一覧表示する
ls -R /var/log
-R(–recursive)は、ディレクトリ配下を再帰的にたどって一覧表示します。
ディレクトリ構造全体をざっと眺めたいときに使いますが、出力量が多くなるので注意が必要です。
・ファイル名に種類を示す記号を付けて表示する
ls -F
-F は、ディレクトリには /、実行ファイルには *、シンボリックリンクには @ など、
種類に応じた記号をファイル名の末尾に付けて表示します。スクリプトの実行可否などを確認したいときに便利です。
・色付きで一覧表示する
ls --color=auto
–color は、ファイルの種類ごとに色分けして表示するオプションです。
多くの環境では alias ls='ls --color=auto' があらかじめ設定されており、
明示的に指定しなくても色付き表示になっていることが多いです。
・サイズの大きい順に並べて表示する
ls -lSh
-S はサイズ順にソートし、-h は人間に読みやすい単位で表示するオプションです。
容量を多く使っているファイルを探したいときに利用します。
ディスク使用量の詳細調査には du コマンドも併せて使うと便利です。
・ディレクトリ構成や権限の確認
ls -l や ls -ld ディレクトリ名 を使って、パーミッションや所有者を確認するのは日常的な作業です。
特に Web サーバのドキュメントルートやログディレクトリでは、権限設定のトラブルシュートで頻繁に登場します。
・ログやバックアップの「新/古」確認
ls -lt や ls -ltr を使い、「どのファイルが最新か」「どこから古いログか」を素早く確認できます。
ログローテーションが正しく動いているかのチェックにも便利です。
・隠しファイルを含めた設定ファイルの探索
ホームディレクトリで ls -a を実行して、.ssh / .bashrc / .vimrc など、
各種設定ファイルをまとめて確認する用途でもよく使われます。
・スクリプト内での軽量な存在確認
厳密には test や [ -e ファイル ] を使うのが王道ですが、
人間がざっと確認するときには ls パス で存在確認してしまうことも多いです(エラー時にはメッセージが表示されます)。
ls コマンドは単なる「一覧表示」だけでなく、権限・更新日時・サイズ・種類などを組み合わせて確認するための基本ツールです。
-l・-a / -A・-h・-t・-r あたりの組み合わせを押さえておくと、日常の運用がかなり楽になります。
| short option | long option | description |
|---|---|---|
| -a | --all | 隠しファイルを含めてすべてのエントリを表示する(. と .. も含む) |
| -A | --almost-all | . と .. を除いた隠しファイルを含めて表示する |
| -l | --format=long | パーミッションや所有者・サイズ・更新日時などの詳細情報を 1 行ずつ表示する |
| -h | --human-readable | -l と合わせて使うことでファイルサイズを KB/MB/GB など人間に読みやすい単位で表示する |
| -S | ファイルサイズの大きい順にソートして表示する | |
| -t | 更新日時の新しい順にソートして表示する | |
| -r | --reverse | ソート順を逆順にする(例: -tr で古い順、-Sr で小さい順) |
| -R | --recursive | ディレクトリ配下を再帰的にたどってすべてのファイル・ディレクトリを表示する |
| -d | --directory | ディレクトリの中身ではなくディレクトリ自身の情報を表示する |
| -F | ファイルの種類に応じて末尾に / * @ などの記号を付けて表示する | |
| -1 | 1 ファイルにつき 1 行で表示する(スクリプト向けのシンプルな出力形式) | |
| -i | --inode | 各ファイルの inode 番号を先頭に表示する |
| -k | ブロックサイズを 1KB 単位としてサイズを表示する(環境により挙動が異なる場合あり) | |
| --color | ファイルの種類に応じて色分けして表示する(auto や never などの指定が可能) | |
| --time-style | 日時表示のフォーマットを指定する(例: --time-style=long-iso) | |
| -h | --help | ls コマンドの使い方(ヘルプ)を表示して終了する |
| --version | ls コマンドのバージョン情報を表示して終了する |
ここでは、GNU coreutils ベースの ls コマンドでよく使われる主なオプションを TablePress の表としてまとめている想定です。
実際に利用できるオプションや挙動は、ディストリビューションやバージョン、ls の実装によって異なる場合があるため、
本番環境で使用する前に man ls で最新の仕様を確認してください。
新着情報
ブログランキングに参加しています。クリックして応援していただけると嬉しいです。
