lsコマンドのオプション一覧|Linux基本コマンドリファレンス


この記事の監修:宮崎智広(Linux教育歴15年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxtips > lsコマンドのオプション一覧|Linux基本コマンドリファレンス
「lsコマンドのオプションが多すぎて、どれを使えばいいのか分からない」
「-lと-aは知っているけど、他のオプションはほとんど使ったことがない」
Linuxを使い始めたばかりの方から、実務でサーバーを運用している方まで、lsコマンドのオプションで悩む場面は意外と多いものです。

この記事では、ls コマンドの主要オプションを用途別に整理して解説します。
基本の -l-a から、実務で重宝する -h-R-F-i-d まで、実行例付きで一通りカバーしました。

【この記事でわかること】
・lsコマンドのオプションを用途別に一覧で確認できる
・-l, -a, -h など実務でよく使うオプションを実行例付きで解説
・ディレクトリ確認(-d)・再帰表示(-R)・タイプ識別(-F)の使い方
・ls -l の出力結果(パーミッション・所有者・サイズ)の正しい読み方
・実務でよく使うオプション組み合わせパターン(ls -la, ls -lh など)

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

lsコマンドとは

ls コマンドは、ディレクトリ内のファイルやディレクトリの一覧を表示するLinuxの基本コマンドです。

「自分が今いるディレクトリに何があるのか」を確認する、最も基本的な操作になります。
オプションを組み合わせることで、ファイルのパーミッション、サイズ、更新日時など、さまざまな情報を確認できます。

lsコマンドの書式

ls [オプション] [パス]

オプションもパスも省略可能です。パスを省略すると、カレントディレクトリの内容を表示します。

lsコマンドのオプション一覧

まずは主要オプションを一覧で確認しましょう。各オプションの詳しい使い方は、次のセクション以降で実行例付きで解説します。

コマンド例 意味
ls -l ファイルの詳細情報(パーミッション、所有者、サイズ、日時)を表示する
ls -a 隠しファイル(ドットファイル)も含めてすべて表示する
ls -A 隠しファイルを表示するが、.(カレント)と..(親)は除外する
ls -lh ファイルサイズをK、M、Gなど人間が読みやすい単位で表示する
ls -R ディレクトリ内を再帰的(サブディレクトリも含めて)に表示する
ls -ld パス ディレクトリそのものの情報を表示する(中身を展開しない)
ls -F ファイル名の末尾にタイプ識別子(/、@、*)を付けて表示する
ls -i iノード番号を表示する
ls -1 1行に1ファイルずつ表示する
ls -s ファイルのブロック数を表示する
ls -lu 最終アクセス日時を表示する
ls -m ファイルをカンマ区切りで横に並べて表示する
ls -Q ファイル名をダブルクォートで囲んで表示する
ls -lt 更新日時が新しい順にソートして表示する
ls -lhS ファイルサイズが大きい順にソートして表示する
ls -lr 表示順を逆順にする(他のソートオプションと組み合わせて使う)
ls -lX 拡張子のアルファベット順にソートして表示する

ファイルの詳細情報を表示する(-l)

-l(long format)は、lsコマンドで最もよく使われるオプションです。
ファイルのパーミッション、所有者、グループ、サイズ、更新日時をまとめて確認できます。

$ ls -l 合計 0 -rw-rw-r-- 1 pakira pakira 0 12月 2 14:20 data.dat -rw-rw-r-- 1 pakira pakira 0 12月 2 14:21 out.txt -rw-rw-r-- 1 pakira pakira 0 12月 2 14:22 test.dat -rw-rw-r-- 1 pakira pakira 0 12月 2 14:23 tmp.dat

出力の各列の意味は以下のとおりです。

1列目(-rw-rw-r--):ファイルタイプとパーミッション
2列目(1):ハードリンク数
3列目(pakira):所有者
4列目(pakira):所有グループ
5列目(0):ファイルサイズ(バイト単位)
6~8列目:最終更新日時
9列目:ファイル名

隠しファイルも表示する(-a / -A)

Linuxでは、ファイル名の先頭がドット(.)で始まるファイルは「隠しファイル(ドットファイル)」として扱われ、通常の ls では表示されません。
.bashrc.bash_profile などの設定ファイルを確認したい場合は、-a オプションを使います。

1. すべての隠しファイルを表示する(-a)

$ ls -a . .. .linux.txt data.dat out.txt test.dat tmp.dat

.(カレントディレクトリ)と ..(親ディレクトリ)も表示される点に注意してください。
実行しているディレクトリによっては、.bash_history.bash_profile なども表示されますが、これらはシステムが事前に用意しているファイルです。

2. カレントと親ディレクトリを除外して表示する(-A)

-A(Almost all)を使うと、... を除いた隠しファイルだけが表示されます。スクリプトでファイル一覧を取得する場合など、余計なエントリが不要な場面で便利です。

$ ls -A .linux.txt data.dat out.txt test.dat tmp.dat

ファイルサイズを見やすい単位で表示する(-lh)

-l だけだとファイルサイズがバイト単位の数値で表示されるため、巨大なファイルだと桁数が多くなり読みづらくなります。
-h(human-readable)を -l と組み合わせると、K(キロ)、M(メガ)、G(ギガ)といった単位で表示されます。

$ ls -lh 合計 1002M -rw-rw-r-- 1 pakira pakira 1000M 12月 11 16:41 1G.dummy -rw-rw-r-- 1 pakira pakira 1.0K 12月 11 16:41 1K.dummy -rw-rw-r-- 1 pakira pakira 1.0M 12月 11 16:41 1M.dummy

ディスク容量の調査やログファイルの肥大化チェックなど、実務では ls -lh の形で使うことが非常に多いです。

ディレクトリそのものの情報を表示する(-d)

ls にディレクトリのパスを指定すると、通常はそのディレクトリの「中身」が表示されます。
ディレクトリ自体のパーミッションや所有者を確認したい場合は、-d オプションを付けてください。

$ ls -ld /home drwxr-xr-x. 5 root root 46 5月 13 2020 /home

先頭が d になっていることから、これがディレクトリであると判別できます。
Webサーバーの公開ディレクトリのパーミッション確認(ls -ld /var/www/html)など、実務でもよく使います。

ディレクトリ内を再帰的に表示する(-R)

-R(Recursive)を付けると、指定したディレクトリの中身だけでなく、サブディレクトリの中身も含めてすべて表示します。

$ ls -R /home/ /home/: pakira /home/pakira: data.dat out.txt test.dat tmp.dat

-l と組み合わせれば、詳細情報付きで再帰表示できます。

$ ls -lR /home/ /home/: 合計 0 drwx------. 4 pakira pakira 226 12月 9 17:10 pakira /home/pakira: 合計 0 -rw-rw-r-- 1 pakira pakira 0 12月 2 14:20 data.dat -rw-rw-r-- 1 pakira pakira 0 12月 2 14:21 out.txt -rw-rw-r-- 1 pakira pakira 0 12月 2 14:22 test.dat -rw-rw-r-- 1 pakira pakira 0 12月 2 14:23 tmp.dat

ただし、ファイル数が多いディレクトリで実行すると大量の出力になるため、特定のファイルを探す場合は find コマンドのほうが適しています。

タイプ識別子を付けて表示する(-F)

-F オプションを付けると、ファイル名の末尾にファイルの種類を示す記号(タイプ識別子)が追加されます。

/(スラッシュ):ディレクトリ
@(アットマーク):シンボリックリンク
*(アスタリスク):実行可能ファイル

ディレクトリだけにタイプ識別子を付けたい場合は、-p を使います。

$ ls -F / bin@ dev/ home/ lib64@ mnt/ proc/ run/ srv/ tmp/ var/ boot/ etc/ lib@ media/ opt/ root/ sbin@ sys/ usr/

この例では、bin@ はシンボリックリンク、dev/ はディレクトリであることが一目で分かります。

iノード番号を表示する(-i)

-i オプションを付けると、各ファイルのiノード番号がファイル名の前に表示されます。
iノード番号はLinuxのファイルシステムがファイルを管理するために割り当てる一意の番号です。

ハードリンクの確認や、同じファイルが複数の名前で参照されていないかの調査に使います。

$ ls -i / 676022 bin 16787862 home 50333311 mnt 12932 run 33576486 tmp 128 boot 1449 lib 152 opt 151 sbin 33575067 usr 3 dev 149 lib64 1 proc 16787863 srv 50331777 var 16777345 etc 33576485 media 33575041 root 1 sys

1行1ファイルで表示する(-1)

-1(数字の1)オプションを付けると、1行に1ファイルずつ表示します。
ファイル名の一覧をテキストファイルにリダイレクトしたり、シェルスクリプトでループ処理に渡す場合に便利です。

$ ls -1 data.dat out.txt test.dat tmp.dat

その他の便利なオプション

ここまで紹介したオプション以外にも、場面によって役立つオプションがあります。

1. ファイルのブロック数を表示する(-s)

-s オプションを付けると、各ファイルが使用しているディスクブロック数を表示します。

$ ls -s / 合計 28 0 bin 0 dev 0 home 0 lib64 0 mnt 0 proc 0 run 0 srv 4 tmp 4 var 4 boot 12 etc 0 lib 0 media 0 opt 4 root 0 sbin 0 sys 0 usr

2. 最終アクセス日時を表示する(-lu)

-u オプションを -l と併用すると、ファイルの最終更新日時ではなく最終アクセス日時が表示されます。
「このファイルは最後にいつ読まれたのか」を調べたい場合に使います。

$ ls -lu 合計 0 -rw-rw-r-- 1 pakira pakira 0 12月 14 11:25 data.dat -rw-rw-r-- 1 pakira pakira 0 12月 14 11:25 out.txt -rw-rw-r-- 1 pakira pakira 0 12月 14 11:35 test.dat -rw-rw-r-- 1 pakira pakira 0 12月 14 11:25 tmp.dat

3. カンマ区切りで表示する(-m)

-m オプションを使うと、ファイル名をカンマ区切りで横に並べて表示します。CSV形式でファイル名が必要な場合に便利です。

$ ls -m data.dat, out.txt, test.dat, tmp.dat

4. ダブルクォートで囲んで表示する(-Q)

-Q オプションを付けると、ファイル名がダブルクォート(")で囲まれて表示されます。ファイル名にスペースが含まれるファイルを扱う際に、コピペでそのままコマンドに渡せるため便利です。

$ ls -Q / "bin" "dev" "home" "lib64" "mnt" "proc" "run" "srv" "tmp" "var" "boot" "etc" "lib" "media" "opt" "root" "sbin" "sys" "usr"

ソート関連のオプション

lsコマンドには、表示順を並び替えるソート系のオプションも用意されています。
ここでは概要だけ紹介します。

やりたいこと コマンド例
更新日時が新しい順に並べる ls -lt
更新日時が古い順に並べる(最新が一番下) ls -lrt
ファイルサイズが大きい順に並べる ls -lhS
拡張子ごとにまとめて並べる ls -lX
表示順を逆順にする ls -lr
ソートオプションの詳しい使い方や、現場でよく使う組み合わせパターンについては、以下の記事で実行例付きで詳しく解説しています。

関連記事:lsコマンドの並び替え(ソート)方法|時間順・サイズ順など現場の必須オプション

実務でよく使うオプションの組み合わせ

実際の現場では、オプションを単独で使うよりも組み合わせて使うケースがほとんどです。
覚えておくと作業効率が上がる組み合わせパターンを紹介します。

1. 隠しファイルも含めた詳細一覧(ls -la)

サーバーにログインして最初に実行することが多いコマンドです。.bashrc.ssh ディレクトリなど、設定ファイルの確認に使います。

$ ls -la

2. 読みやすい単位で詳細表示(ls -lh)

ログファイルやダンプファイルの容量を確認する定番のコマンドです。root権限が必要なディレクトリでは sudo を付けて実行してください。

# ls -lh /var/log/

3. ディレクトリのパーミッション確認(ls -ld)

Webサーバーの公開ディレクトリや、特定のディレクトリに正しい権限が設定されているかを確認する場面で使います。

$ ls -ld /var/www/html

4. ファイルの種類を一目で判別する(ls -lF)

シンボリックリンクが正しく張られているかの確認など、ファイルの種類を素早く見分けたい場合に使います。

$ ls -lF /usr/bin/

ls -l の出力結果の読み方

lsコマンドを使いこなすうえで、-l オプションの出力結果を正しく読み取れることが重要です。
1行の出力を分解して解説します。

-rw-rw-r-- 1 pakira pakira 1048576 12月 11 16:48 1M.dummy

位置 値の例 意味
1文字目 - ファイルタイプ(-=通常ファイル、d=ディレクトリ、l=シンボリックリンク)
2~4文字目 rw- 所有者のパーミッション(読み取り・書き込み・実行)
5~7文字目 rw- グループのパーミッション
8~10文字目 r-- その他のユーザーのパーミッション
リンク数 1 ハードリンクの数
所有者 pakira ファイルの所有ユーザー
グループ pakira ファイルの所有グループ
サイズ 1048576 ファイルサイズ(バイト単位)
日時 12月 11 16:48 最終更新日時
ファイル名 1M.dummy ファイル名またはディレクトリ名

トラブルシュート

「Permission denied」でファイル一覧が表示されない

ディレクトリに対する読み取り権限(r)がないと、ls を実行しても「Permission denied」エラーが出ます。

$ ls /root/ ls: '/root/' にアクセスできません: 許可がありません

対処法として、sudo ls /root/ のようにroot権限で実行するか、ディレクトリのパーミッションを ls -ld で確認してください。

ファイル名にスペースや特殊文字が含まれている場合

ファイル名にスペースが含まれていると、ls の出力をそのままコピペして別のコマンドに渡した際にエラーになることがあります。
-Q オプションでダブルクォート付きの出力を取得するか、ls -1 で1行1ファイル表示にして対処してください。

本記事のまとめ

やりたいこと コマンド例
ファイルの詳細情報を表示する ls -l
隠しファイルも含めて表示する ls -la
ファイルサイズを見やすい単位で表示する ls -lh
ディレクトリそのものの情報を確認する ls -ld /home
サブディレクトリも含めて再帰的に表示する ls -lR /home/
ファイルの種類を識別子付きで表示する ls -lF
iノード番号を表示する ls -i
1行に1ファイルずつ表示する ls -1
最終アクセス日時を表示する ls -lu
ソート(時間順・サイズ順など)で並び替える ソート記事を参照

コマンド操作で、余計な時間を使っていませんか?

便利なオプションを知らないままサーバーを運用していると、本来1分で終わるはずの確認作業に何時間もかかってしまいます。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。


無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。