【ls】ファイル一覧を表示させるLinuxコマンド

2020年12月18日

Linuxコマンドの「ls」

指定したディレクトリの配下にあるファイルやディレクトリ

(以下、まとめて「ファイル」と表現します)の一覧を表示してくれます。

スポンサーリンク

ls

~/lab$ ls
ex knowledge.txt share_file today.sh

“ls"コマンドを単体で実行すると、カレントディレクトリの配下にあるファイルの一覧を横並びでスペースを空けながら表示してくれます。

実際にはディレクトリやシンボリックリンクは色付きで表示してくれるため、ファイルの種類はある程度把握できます。

ディレクトリを指定して表示

“/etc"の配下にあるファイルを表示

絶対パス

~/lab$ ls /etc/

相対パス

~/lab$ ls ../../../etc/

 

【オプション】まずはこれを覚えよう!

ls -a

~/lab$ ls -a
. .. .hide.txt ex knowledge.txt share_file today.sh

“ls"に"-a"オプションを付け加えて実行すると"ls"では出なかった隠しファイルを一覧表示してくれます。

今回は".hide.txt"が隠しファイルです。

ls -A

~/lab$ ls -A
.hide.txt ex knowledge.txt share_file today.sh

指定ディレクトリ内にある"."(カレントディレクトリ)と".."(一階層上の親ディレクトリ)を除いたすべてのファイルを一覧表示します。

ls -l

~/lab$ ls -l
合計 8
drwxrwxr-x 2 hayana hayana 4096 10月 15 03:52 ex
-rw-rw-r-- 1 hayana hayana 0 10月 15 03:54 knowledge.txt
lrwxrwxrwx 1 hayana hayana 5 10月 15 04:22 share_file -> /mnt/
-rw-rw-r-- 1 hayana hayana 11 10月 15 03:54 today.sh

“ls"に"-l"オプションを付け加えて実行すると、そのディレクトリ内のサイズと各ファイルの詳細も一緒に表示してくれます。

各ファイルの一番左にはファイルの種類が示されています。

“d"・・・ディレクトリ

“-“・・・ファイル

“l"・・・シンボリックリンク

左から2番目からの文字列が表す内容は以下のようになっています。

権限 リンクの数 ユーザ名 グループ名 ファイルサイズ 日時 ファイル名

権限の見方はchmodで解説しています。

ls -r

~/lab$ ls -r
today.sh share_file knowledge.txt ex

“ls"と逆の順番で表示してくれます。

ファイルが4つ程度だとあまり魅力を感じませんが、多数のファイルが格納されているディレクトリなどでは重宝します。

ls -1

~/lab$ ls -1
ex
knowledge.txt
share_file
today.sh

ファイルリストを横並びではなく縦並びで表示したいけど詳細情報は必要ないときは"-1″オプションを使います。

残念ながら"-2″オプションで2行表示にはなりません。

~/lab$ ls -2
ls: 無効なオプション -- '2'
Try 'ls --help' for more information.

ls -t

~/lab$ ls -t
share_file today.sh knowledge.txt ex

ディレクトリ内のファイルを更新時間順に表示します。

複数のオプションを使って便利に!

ls -la

~/lab$ ls -la
合計 16
drwxrwxr-x 3 hayana hayana 4096 10月 15 04:22 .
drwxr-xr-x 18 hayana hayana 4096 10月 15 03:54 ..
-rw-rw-r-- 1 hayana hayana 0 10月 15 04:05 .hide.txt
drwxrwxr-x 2 hayana hayana 4096 10月 15 03:52 ex
-rw-rw-r-- 1 hayana hayana 0 10月 15 03:54 knowledge.txt
lrwxrwxrwx 1 hayana hayana 5 10月 15 04:22 share_file -> /mnt/
-rw-rw-r-- 1 hayana hayana 11 10月 15 03:54 today.sh

隠しファイルを含めた全てのファイルの詳細情報を一覧表示します。

ls -alr

~/lab$ ls -alr
合計 16
-rw-rw-r-- 1 hayana hayana 11 10月 15 03:54 today.sh
lrwxrwxrwx 1 hayana hayana 5 10月 15 04:22 share_file -> /mnt/
-rw-rw-r-- 1 hayana hayana 0 10月 15 03:54 knowledge.txt
drwxrwxr-x 2 hayana hayana 4096 10月 15 03:52 ex
-rw-rw-r-- 1 hayana hayana 0 10月 15 04:05 .hide.txt
drwxr-xr-x 18 hayana hayana 4096 10月 15 03:54 ..
drwxrwxr-x 3 hayana hayana 4096 10月 15 05:49 .

オプションはいくつ付けてもOKです。

“ls -alr"は"a"で隠しファイルを含めたすべてのファイルを"l"で詳細表示した上で"r"で通常の逆から表示します。

コマンド入力後は次のプロンプトを表示するため出力結果の一番下に行ってしまうため、隠しファイルが見たい場合は一番上まで遡らなければなりませんそのため、ファイル数が多ければ多いほどさかのぼるまでに時間がかかります。

“r"オプションを使えば、通常とは逆の順番から表示するため遡る手間が省けます。

他にアプローチとしてgrepコマンドに渡して絞り込むなどがあります。

ls -tlr

~/lab$ ls -tlr
合計 8
drwxrwxr-x 2 hayana hayana 4096 10月 15 03:52 ex
-rw-rw-r-- 1 hayana hayana 0 10月 15 03:54 knowledge.txt
-rw-rw-r-- 1 hayana hayana 11 10月 15 03:54 today.sh
lrwxrwxrwx 1 hayana hayana 5 10月 15 04:22 share_file -> /mnt/

“t"更新時間が新しいファイルを"l"詳細情報付きで"r"下から順に出力します。

このオプションを使うことで、新しく更新されたファイルが次に入力プロンプトのすぐそばに表示されます。

最新のログファイルを扱って作業する場合に便利です。

ls -laと打たなくても"ll”で同じことが出来る!(エイリアス)

ubuntu 20.04での初期装備になりますが

実は、「エイリアス(alias)」というものが最初から組まれていて

~/lab$ ll
合計 16
drwxrwxr-x 3 hayana hayana 4096 10月 15 05:49 ./
drwxr-xr-x 18 hayana hayana 4096 10月 15 03:54 ../
-rw-rw-r-- 1 hayana hayana 0 10月 15 04:05 .hide.txt
drwxrwxr-x 2 hayana hayana 4096 10月 15 03:52 ex/
-rw-rw-r-- 1 hayana hayana 0 10月 15 03:54 knowledge.txt
lrwxrwxrwx 1 hayana hayana 5 10月 15 04:22 share_file -> /mnt//
-rw-rw-r-- 1 hayana hayana 11 10月 15 03:54 today.sh

というように、"ls -Fla"(Fはファイルの種類も表示)と同様のコマンド効果を再現してくれます。

 

他にも様々なオプションがあり、組み合わせ次第でかなり作業効率が向上します。