ls - ディレクトリの内容を表示する

ls

lsコマンドは、ディレクトリの内容を表示する基本的なLinuxコマンドになります。
lsコマンドは、ディレクトリの内容を表示しファイルの状態を確認することができます。

目次

lsコマンドとは

lsコマンドは、ディレクトリの内容を表示するコマンドです。
Linuxコマンドの中でとてもよくつかわれるコマンドのひとつです。

lsコマンドには、様々なオプションがあり、単純にディレクトリの内容を表示するだけではなく、ファイルの状態なども確認することもできます。

lsコマンドの表示は、デフォルトではアルファベット順にソートされて表示されます。
lsコマンドはオプションを用いることでソートの方法を変更することができます。
ソートの方法を変更することでディレクトリの内容をよりスムーズに確認することができます。

lsコマンドの利用例

ディレクトリの内容を表示
(オプションなし)

lsコマンドをオプションなしで用いるとカレントディレクトリの内容を表示することができます。
オプションがない場合、.(ドット)から始まるファイルやディレクトリを表示しません。

コマンド例

実行結果

全てのディレクトリの内容を表示
(-aオプション)

-aオプションは、全てのディレクトリの内容を表示します。
また、.はカレントディレクトリを表し、..は一つ上のディレクトリを表します。

コマンド例

実行結果

.と..のディレクトリ以外の全てのディレクトリの内容を表示
(-Aオプション)

-Aオプションはカレントディレクトリである.と一つ上のディレクトリである..を表示しません。
それ以外は、-aオプションと同じです。

コマンド例

実行結果

ディレクトリの内容をロング形式で表示
(-lオプション)

-lオプションは、ディレクトリの内容をロング形式で表示することができます。

ロング形式は、ファイルタイプ、ファイルモード、ハードリンクの数、所有者名、グループ名、サイズ、タイムスタンプを表示することができます。

また、それぞれのディレクトリの内容を表示するときに合計のブロック数も表示します。
ブロック数は、通常、デフォルトで1024バイトです。
実行結果では、これは「合計 28」と表示されています。環境によっては「total 28」のように表示されます。

主なファイルタイプの表

記号 ファイルタイプ
- 通常のファイル
d ディレクトリ
l シンボリックリンク
p FIFO
s ソケット
? 他のファイルタイプ

コマンド例

実行結果

ディレクトリをファイルと同様な情報として表示
(-dオプション)

-dオプションは、lsコマンドでディレクトリを選択するときに、その選択したディレクトリの内容を表示するのではなく、lsコマンドはそれがファイルであるかのように動作します。

コマンド例

実行結果

-dオプションがないの場合、lsコマンドはそのディレクトリの内容を表示します。
コマンド例

実行結果

シンボリックリンク先のファイル情報を表示
(-Hオプション)

-Hオプションは、lsコマンドの引数にシンボリックリンクを渡すとき、そのシンボリック先のファイル情報として表示できます。

コマンド例

実行結果

-Hオプションがない場合、シンボリックファイルとしてファイル情報を表示します。
コマンド例

実行結果

シンボリックリンク先のファイル情報を表示
(-Lオプション)

-Lオプションは、lsコマンドで表示する情報にシンボリックリンクファイルがある場合、シンボリックリンクファイルとして情報を表示するのではなく、シンボリックリンク先のファイル情報として表示できます。
-Hオプションのようにシンボリックファイルを指定しなくても使用することができます。

コマンド例

実行結果

-Lオプションがない場合、シンボリックリンクファイルは、シンボリックリンクファイルとして表示されます。
コマンド例

実行結果

パターンマッチしたファイルを表示しない
(-Iオプション)

-Iオプションは、パターンを指定することができます。
lsコマンドは、-Iオプションで指定したパターンにマッチしたファイルやディレクトリを表示しないようにすることができます。

コマンド例

実行結果

再帰的にディレクトリの内容を表示
(-Rオプション)

-Rオプションは、ディレクトリの内容を再帰的に表示することができます。

コマンド例

実行結果

詳細なタイムスタンプを表示
(--full-timeオプション)

--full-timeオプションは、タイムスタンプをnanosec単位まで表示することができます。

コマンド例

実行結果

所有者情報を表示しない
(-gオプション)

-gオプションを用いると、所有者の情報を表示しません。

コマンド例

実行結果

グループ情報を表示しない
(-Gオプションまたは-oオプション)

-Gオプションは、グループ情報を表示しません。
-oオプションは、-Gオプションと-lオプションを合わせたものと等価になります。

コマンド例

または

実行結果

ファイルの種類を表示
(-Fオプション)

-Fオプションは、ファイルの種類を表示します。
ファイルの種類はそれぞれのファイル名の後に追加で記号がつけられます。
それぞれの記号の意味は以下の表のようになります。

記号 意味
通常ファイル
* 実行ファイル
/ ディレクトリ
@ シンボリックファイル
l FIFO
= socket

コマンド例

実行結果

ディレクトリの末尾に/を追加
(-pオプション)

-pオプションは、表示する内容にディレクトリがある場合、そのディレクトリの末尾に/を追加します。
コマンド例

実行結果

inodeの表示
(-iオプション)

-iオプションは、inode番号を確認することができます。
inodeとはファイルごとに割り振られる番号のことです。
一つのファイルシステム内でこの番号が同一ならば、そのファイルは同一のファイルを指します。

コマンド例

実行結果

-1オプションや-lオプションを用いると表示上見やすいです。
コマンド例

実行結果

コマンド例

実行結果

人が読みやすいファイルサイズ表示
(-hオプション)

-hオプションは、ファイルサイズを人が読みやすい形式にします。

コマンド例

実行結果

所有者情報とグループ情報をID表示
(-nオプション)

-nオプションは、所有者情報とグループ情報をID表示にします。

コマンド例

実行結果

左から3列目が所有者情報、4列目がグループ情報になります。
実行結果では、1000や1001のように表示されています。

カンマ表示
(-mオプション)

-mオプションは、lsコマンドの表示をカンマ表示にします。
正確には、カンマとスペースで区切られます。

コマンド例

実行結果

1行ごとにファイル名を表示
(-1オプション)

-1オプションは、1行ごとにファイル名を表示します。

コマンド例

実行結果

エスケープ文字を表示
(-bオプション)

-bオプションは、制御文字等のエスケープ文字で表示することができます。
コマンド例

実行結果

制御文字を入れたファイル名は以下のように作成できます。
コマンド例

リテラル表示
(-Nオプション)

-Nオプションは、ファイル名をそのままで表示します。
制御文字などの表示できない文字は疑問符(?)で表示します。

コマンド例

実行結果

ファイル名を2重引用符で囲んで表示
(-Qオプション)

-Qオプションはファイル名を2重引用符で囲んで表示します。

コマンド例

実行結果

lsコマンドの利用例(ソートと時間表示)

ソートしない
(-Uオプション)

-Uオプションは、ディレクトリが巨大な場合に有効なオプションです。
lsコマンドは、デフォルトでは、表示する際にアルファベット順にソートします。
-Uオプションを用いるとソートを行わないので、早く表示することができます。
コマンド例

実行結果

ファイルサイズ順にソートし表示
(-Sオプション)

-Sオプションは、ファイルサイズ順にソートして、表示します。
コマンド例

実行結果

lsコマンドは、デフォルトでは文字コード順に並べて表示します。

ファイル拡張子順にソートし表示
(-Xオプション)

-Xオプションは、ファイル拡張子順にソートして、表示します。
順番は、最後の.の後にある文字でのアルファベット順になります。
拡張子がない場合、一番最初に表示されます。
コマンド例

実行結果

並び順を逆に表示
(-rオプション)

-rオプションは、並び順を逆にして表示することができます。
他のソートオプションと組み合わせることも可能です。
コマンド例は、アルファベット順の逆順になります。
コマンド例

実行結果

バージョン順にソートし表示
(-vオプション)

-vオプションは、バージョン順にソートして、表示することができます。
接頭辞と数字(バージョン番号)と接尾辞で成り立つ文字列を並び替えるときが便利です。
ソートする際に、数字部分の0から始まる部分は無視されるので5は003より後に表示されます。

コマンド例

実行結果

7zのような拡張子がある、つまり、数字を含む接尾辞がある場合は、意図した結果にならないかもしれません。
コマンド例

実行結果1(通常)

実行結果2(7z版)

時間でソートし表示
(-tオプション)

-tオプションは、タイムスタンプが新しい順でソートして、表示します。

ファイルのタイムスタンプは、3種類あります。
デフォルトでは、mtimeというファイルが書き込まれたときに更新される時間で表示されます。

他のタイムスタンプを利用するならば、他のオプションと併用する必要があります。
atimeの場合は-uオプション、ctimeの場合は-cオプションを使います。

コマンド例

実行結果

ファイルのタイムスタンプには3種類あります。
access time(atime)は、ファイルを読み込むときに更新される時間です。
modification time(mtime)は、ファイルが書き込まれたときに更新される時間です。
status change time(ctime)は、ファイルをメタ情報が変更されたときに更新される時間です。

ステータス変更時間(ctime)の表示
(-lオプションと-cオプション)

-cオプションは、最後に書き込みを行った時間(mtime)の代わりにステータスの変更時間(ctime)を表示することができます。
ステータスの変更時間とは、ファイルのメタ情報を変更した時間のことです。
chmodコマンドでパーミッションの変更等を行った場合にステータスの変更時間は更新されます。

コマンド例

ls -lの結果

実行結果

アクセス時間(atime)の表示
(-lオプションと-uオプション)

-uオプションは、最後に書き込みを行った時間(mtime)の代わりにファイルを読み込むときに更新される時間である(atime)を表示することができます。
コマンド例

ls -lの結果

実行結果

参考

外部リンクGnu Coreutils

外部リンクGnu Coreutils日本語版

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする