ls コマンドの基本

lsコマンドはファイルやディレクトリ名をリスト(LiSt)化するコマンドです。WindowsやMacのフォルダをダブルクリックした時に表示される中身の一覧表示のようなものと思ってください。

lsには実に様々なオプションが用意されていますので以下に簡単ですが紹介します。非常に重要なコマンドですので全部まとめて覚えてしまいましょう。

lsコマンドの書式

ls [オプション] [ファイルまたはディレクトリ]

まずはオプションを指定しないでコマンドを実行してみます。

$ ls snap
docker gnome-system-monitor htop

カレントディレクトリ(現在自分がいるディレクトリ・pwdコマンドで確認できます)の情報を表示します。

lsコマンドの代表的なオプション

以下の表に記載のオプションは資格試験取得はもちろん、実務的にも必須のオプションなのでしっかりと覚えましょう。

オプション内容
-a隠しファイルも全て表示
-l内容を長形式に、アルファベット(昇)順に表示
-F名前の後にタイプ識別子(*/=>@|のいずれか)を付けて表示
-dディレクトリそのものの情報を表示
-Rディレクトリの中身を再帰的(recursive)に表示
-tファイルやディレクトリの情報を更新時間順に表示

ls -a:隠しファイルも全て表示

aはallの略で.(ドット)で始まるような隠しファイルも全て表示します。

ls -a [ファイルまたはディレクトリ]
$ ls -a snap
. .. docker gnome-system-monitor htop

ls -l:内容をアルファベット順で長形式に表示

ファイルやディレクトリの内容を長(Long)形式に、さらにアルファベット(昇)順に表示します。パーミッション情報なども表示します。

ls -l [ファイルまたはディレクトリ]
$ ls -l snap
合計 12
drwxr-xr-x 4 ymtpx220 ymtpx220 4096 9月 12 17:24 docker
drwxr-xr-x 5 ymtpx220 ymtpx220 4096 7月 10 13:42 gnome-system-monitor
drwxr-xr-x 4 ymtpx220 ymtpx220 4096 9月 13 10:15 htop

ls -lr:内容をアルファベット降順で長形式に表示

-rを追加すればアルファベットの降順で表示します。-lの前後に-rでOKですが、-lrや-rlのように、オプションを続けて入力してもOKです。

ls -lr [ファイルまたはディレクトリ]
$ ls -lr snap
合計 12
drwxr-xr-x 4 ymtpx220 ymtpx220 4096 9月 13 10:15 htop
drwxr-xr-x 5 ymtpx220 ymtpx220 4096 7月 10 13:42 gnome-system-monitor
drwxr-xr-x 4 ymtpx220 ymtpx220 4096 9月 12 17:24 docker

ls -al:隠しファイルを含めて長形式アルファベット順で表示

-aと-lの同時使用で隠しファイルを含めて、長形式、アルファベット順で表示します。-laでもOKです。

ls -al [ファイルまたはディレクトリ]
$ ls -al snap
合計 20
drwxr-xr-x 5 ymtpx220 ymtpx220 4096 9月 13 10:15 .
drwxr-xr-x 25 ymtpx220 ymtpx220 4096 9月 13 09:58 ..
drwxr-xr-x 4 ymtpx220 ymtpx220 4096 9月 12 17:24 docker
drwxr-xr-x 5 ymtpx220 ymtpx220 4096 7月 10 13:42 gnome-system-monitor
drwxr-xr-x 4 ymtpx220 ymtpx220 4096 9月 13 10:15 htop

ls -F:名前の後にタイプ識別子を付けて表示

-F(Fは大文字です)で、名前の後にタイプ識別子(*/=>@|のいずれか)を付けて表示します。ディレクトリの場合、最後に/(スラッシュ)を付けて表示するので、ファイルなのかディレクトリなのかを判別しやすくなります。

ls -F [ファイルまたはディレクトリ]
$ ls -F snap
docker/ gnome-system-monitor/ htop/

ls -lF:名前の後にタイプ識別子を付けて長形式表示

長形式表示のオプションを追加すればさらに詳細に表示してくれます。

ls -lF [ファイルまたはディレクトリ]
$ ls -lF snap
合計 12
drwxr-xr-x 4 ymtpx220 ymtpx220 4096 9月 12 17:24 docker/
drwxr-xr-x 5 ymtpx220 ymtpx220 4096 7月 10 13:42 gnome-system-monitor/
drwxr-xr-x 4 ymtpx220 ymtpx220 4096 9月 13 10:15 htop/

ls -d:ディレクトリそのものの情報を表示

ディレクトリそのものの情報を表示します。

ls -d [ディレクトリ]
$ ls -d snap
snap

ls -dl:ディレクトリそのものの詳細情報を長形式表示

lを追加することでディレクトリそのものの詳細情報を表示できます。-ldでもOK。

ls -dl [ディレクトリ]
$ ls -dl snap
drwxr-xr-x 5 ymtpx220 ymtpx220 4096 9月 13 10:15 snap

ls -R:ディレクトリの中身を再帰的に表示

指定したディレクトリの中身を再帰的(recursive)に表示します。

ls -R [ディレクトリ]
$ ls -R snap
snap:
docker gnome-system-monitor htop
snap/docker:
471 common current
snap/docker/471:
snap/docker/common:
snap/gnome-system-monitor:
135 148 common current
snap/gnome-system-monitor/135:
snap/gnome-system-monitor/148:
snap/gnome-system-monitor/common:
snap/htop:
1279 common current
snap/htop/1279:
snap/htop/common:

ls -t:ファイルやディレクトリの情報を更新時間順に表示

指定したファイルやディレクトリの情報を更新時間順に表示します。

ls -t [ファイルまたはディレクトリ]
$ ls -tl snap
合計 12
drwxr-xr-x 4 ymtpx220 ymtpx220 4096 9月 13 10:15 htop
drwxr-xr-x 4 ymtpx220 ymtpx220 4096 9月 12 17:24 docker
drwxr-xr-x 5 ymtpx220 ymtpx220 4096 7月 10 13:42 gnome-system-monitor

さらに、–time-style=STYLE オプションを使用することでSTYLEで指定した形式で時間を表示します。

ls -l --time-style=STYLE [ファイルまたはディレクトリ]

STYLEは「full-iso」「long-iso」「iso」「locale」「FORMAT」が指定可能。FORMATは「date」コマンドと同様に指定します。

例)%c → ロケール表示での日付と時刻

$ ls -tl --time-style=+%c snap
合計 12
drwxr-xr-x 4 ymtpx220 ymtpx220 4096 2020年09月13日 10時15分00秒 htop
drwxr-xr-x 4 ymtpx220 ymtpx220 4096 2020年09月12日 17時24分04秒 docker
drwxr-xr-x 5 ymtpx220 ymtpx220 4096 2020年07月10日 13時42分27秒 gnome-system-monitor

ls -i:i-node番号を表示

i-node番号(ファイルを管理するのに使われている数値)を表示します。

ls -i [ファイルまたはディレクトリ]
$ ls -i snap
5112196 docker 4982208 gnome-system-monitor 5112453 htop

参考になるサイト