コンテンツにスキップ

ls

ファイルやディレクトリの一覧を表示します。 オプションなしで実行すると、カレントディレクトリにあるすべてのファイルまたはディレクトリを表示します。

ls --helpman ls を実行すると、ls コマンドのすべての可能なオプションを含むマニュアルを表示することができます。

よく使う

コマンド 動作
ls カレントディレクトリのファイル一覧を表示
ls .. 指定したディレクトリのファイル一覧を表示
ls -al / ls -alh 詳細情報と合わせてファイル一覧を表示(-hでファイルサイズを人間向けにする)
ls -lt / ls -ltr タイムスタンプでソートしてファイル一覧を表示(-rで逆順)

ディレクトリの表記

表記 意味
/ ルートディレクトリ
~ ログインユーザーのホームディレクトリ ~/Desktop
. カレントディレクトリ ./Document(単にDocumentと同じ)
.. カレントディレクトリのひとつ上位(親)のディレクトリ ../
../../
../etc/nginx

オプションの組み合わせ指定

ファイルやディレクトリを表示するためのコマンドや組み合わせは多数あります。例えば隠しファイルを含む長い形式のファイルをリストアップし、ファイルサイズでソートしたい場合、ls -lls -als -Sを組み合わせたls -alSというコマンドになります。

使用例

カレントディレクトリにあるファイルを一覧

ls
$ ls
anaconda                  dnf.librepo.log.2    messages-20220327
audit                     dnf.librepo.log.3    messages-20220403
boot.log                  dnf.librepo.log.4    nginx
boot.log-20211106         dnf.log              private
boot.log-20211114         dnf.log.1            qemu-ga
boot.log-20211227         dnf.log.2            redis
boot.log-20220109         dnf.log.3            samba

指定したディレクトリにあるファイルを一覧

ls ディレクトリパスで任意のディレクトリの一覧を表示します。

# ルートディレクトリ
ls /

# 特定のディレクトリ
ls /etc

# カレントディレクトリの1つ上位のディレクトリ
ls ..

# カレントディレクトリの2つ上位のディレクトリ
ls ../..

# ログインユーザーのホームディレクトリにあるファイルを一覧
ls ~

ディレクトリのみ一覧

ls -d */でディレクトリのみ一覧表示することができます。

$ ls -d */
bin/    include/  lib64/    local/  share/  tmp/
games/  lib/      libexec/  sbin/   src/

サブディレクトリを含めて一覧

ls * でカレントディレクトリにあるすべてのファイルと、ディレクトリの配下にあるファイルを一覧表示します。

$ ls *
1.txt  2.txt  3.txt

subdir1:
4.txt  5.txt  subdir11
注意: subdir11はディレクトリですが、その配下は表示されません。表示したいときは再帰的にリストアップする-Rオプションをつけます。

ファイルを再帰的にリストアップ

ls -Rですべてのファイルとディレクトリ、および対応するサブディレクトリを、最後のファイルまでリストアップします。

$ ls -R *
1.txt  2.txt  3.txt

subdir1:
4.txt  5.txt  subdir11

subdir1/subdir11:
7.txt

ファイル数が多い場合、各ディレクトリのファイルをすべて表示出力するため、非常に長い時間がかかることがあります。ls -R /var/log のように、ディレクトリを指定することができます。

ファイルサイズを表示する

ls -sコマンド(sは小文字)で、ファイルやディレクトリの一覧にサイズが追加されます。

$ ls -s
合計 45960
   0 anaconda                     4 hawkey.log-20220313
   0 audit                        4 hawkey.log-20220320
   0 boot.log                     4 hawkey.log-20220327
   8 boot.log-20211106            4 hawkey.log-20220403
   8 boot.log-20211114           24 lastlog
   8 boot.log-20211227            0 maillog
   8 boot.log-20220109            0 maillog-20220313
  16 boot.log-20220116            0 maillog-20220320
   8 boot.log-20220213            0 maillog-20220327
   8 boot.log-20220328            0 maillog-20220403
   0 btmp                      6624 messages
   0 btmp-20220401             3428 messages-20220313
   4 checkGlobalIP.log         3928 messages-20220320
   0 chrony                    4564 messages-20220327
1572 cron                      7212 messages-20220403

詳細情報をとあわせて一覧

ls -lで、ディレクトリの内容を以下の情報と合わせて一覧表示します。

  • パーミッション
  • リンク数
  • 所有者
  • グループオーナー
  • サイズ(バイト)
  • 最終更新日時
  • ファイル名またはディレクトリ名

ls -lhのように-hオプションをつけると、サイズ表示が人間が読みやすいよう、ファイルやディレクトリのサイズが1024バイト以上の場合はサイズはバイト(B)、メガバイト(MB)、ギガバイト(GB))、テラバイト(TB)の単位で表示されます。

隠しファイルを含むファイルを一覧

ls -aで、隠しファイルを含むファイルやディレクトリの一覧が表示されます。Linuxでは、.で始まるものは隠しファイルとみなされます。

隠しファイルを含む長い形式のファイルを一覧

ls -la または ls -al コマンドを入力すると、ファイルまたはディレクトリを表形式で、隠しファイルやディレクトリを含む特別な情報を含めて一覧表示します。

名前だけを一覧

ls -1で名前だけを表示します。ファイルに出力してスクリプトで処理する時に有効です。

日付と時刻でソートする

ls -tコマンドを入力すると、ファイルやディレクトリの一覧が表示され、最終更新日の降順(大きい順)でソートされます。

また、-rフラグを付けると、次のようにソート順を逆にすることができます。

ファイルサイズでソートする

ls -S(Sは大文字)で、ファイルやディレクトリの一覧が表示され、サイズが大きいものから小さいものの順に並べ替えられます。 ls -Srのように-rフラグを付けると、ソート順が逆になります。

ファイル一覧をファイルに保存する

ls -1> output.txtで、前のコマンドの出力が output.txt ファイルに出力されます。cat output.txtで保存したファイルの内容を確認することもできます。