Linux – ls コマンドについて詳しく解説

概要

Linux の ls コマンドについて解説します。

基本的な使い方

ls コマンドは、指定したディレクトリの内容を表示します。

$ ls sample/
file1.txt  file2.txt  file3.txt
Bash

-l オプションを指定すると、詳細情報を表示します。

$ ls -l sample/
total 0
-rw-rw-r-- 1 ubuntu ubuntu 0 Mar 26 10:14 file1.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 Mar 26 10:15 file2.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 Mar 26 10:15 file3.txt
Bash

隠しファイルも含めてすべてのファイルを表示

-a オプションを指定すると、隠しファイルも含めてすべてのファイルを表示します。

ls -a
Bash

カレントディレクトリおよび親ディレクトリを非表示

-A オプションを指定すると、カレントディレクトリ (.) および親ディレクトリ (..) を非表示にします。

$ ls -al
total 8
drwxrwxr-x 2 ubuntu ubuntu 4096 Mar 26 10:15 .
drwxrwxr-x 4 ubuntu ubuntu 4096 Mar 26 10:14 ..
-rw-rw-r-- 1 ubuntu ubuntu    0 Mar 26 10:14 file1.txt
-rw-rw-r-- 1 ubuntu ubuntu    0 Mar 26 10:15 file2.txt
-rw-rw-r-- 1 ubuntu ubuntu    0 Mar 26 10:15 file3.txt

$ ls -aAl
total 0
-rw-rw-r-- 1 ubuntu ubuntu 0 Mar 26 10:14 file1.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 Mar 26 10:15 file2.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 Mar 26 10:15 file3.txt
Bash

ファイルサイズの表示単位を変更する

デフォルトでは、ファイルサイズはバイト単位で表示されます。 -h オプションを指定すると、ファイルサイズを人間に読みやすい形式で表示します。

$ ls -lh
total 20K
-rw-rw-r-- 1 ubuntu ubuntu  12K Mar 26 10:19 post.ipynb
drwxrwxr-x 2 ubuntu ubuntu 4.0K Mar 26 10:15 sample
drwxrwxr-x 2 ubuntu ubuntu 4.0K Mar 26 10:12 test
Bash
ls コマンド 説明
ls -lh 人が読みやすい単位でサイズを表示 (基数 1024)
ls --si 人が読みやすい単位でサイズを表示 (基数 1000)
ls --block-size=K または ls -lk サイズをキロバイト単位で表示
ls --block-size=M サイズをメガバイト単位で表示
ls --block-size=G サイズをギガバイト単位で表示
ls --block-size=T サイズをテラバイト単位で表示
ls --block-size=KiB サイズをキビバイト単位で表示
ls --block-size=MiB サイズをメビバイト単位で表示
ls --block-size=GiB サイズをギビバイト単位で表示
ls --block-size=TiB サイズをティビバイト単位で表示

サブディレクトリの中身も再帰的に表示する

-R オプションを指定すると、サブディレクトリの中身も再帰的に表示します。

$ ls -R
.:
post.ipynb  sample  test

./sample:
file1.txt  file2.txt  file3.txt

./test:
10.txt   8.txt  'hoge fuga'   sample   test~
Bash

アクセス日時、変更日時、作成日時を表示する

デフォルトでは、タイムスタンプに更新日時が表示されますが、--time オプションで他のタイムスタンプを表示することができます。

ls コマンド 説明
ls -l --time=access 最終アクセス日時
ls -l --time=modification 最終変更日時
ls -l --time=status 最終状態変更日時
ls -l --time=creation 作成日時

タイムスタンプの表示形式は、--time-style オプションで指定できます。

ls コマンド 説明
ls -l --time-style=full-iso 詳細な ISO 8601 形式のタイムスタンプ表示
ls -l --time-style=long-iso 長い形式の ISO 8601 タイムスタンプ表示
ls -l --time-style=iso 短い形式の ISO 8601 タイムスタンプ表示
ls -l --time-style=locale ロケールに従ったタイムスタンプ表示
ls -l --time-style=+%Y-%m-%d date コマンドの形式に従ったタイムスタンプ表示

ソートする

デフォルトでは、ファイル名順に表示されますが、オプションでソート順を変更することができます。

ls コマンド 説明
ls -lt --time=access 最終アクセス日時が新しい順でソート
ls -lt --time=modification 最終変更日時が新しい順でソート
ls -lt --time=status 最終状態変更日時が新しい順でソート
ls -lt --time=creation 作成日時が新しい順でソート
ls -lt --time=access アクセス時間が新しい順でソート
ls -lX 拡張子をアルファベット順でソート
ls -l ファイル名をアルファベット順でソート
ls -lS ファイルサイズが大きい順でソート
  • -r: 逆順にソート
  • -v: 自然順にソート

インディケータを表示する

-F オプションを指定すると、ファイルの種類を示すインディケータが表示されます。

$ ls -F
sample test_dir/ simlink@
Bash
記号 意味
name/ name はディレクトリ
name* name は実行可能ファイル
name= name はソケット
name@ name はシンボリックリンク
name| name は名前付きパイプ

コメント

コメントする