Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

Linuxのlsコマンド徹底解説!ファイルとディレクトリを一覧表示する方法

Linuxのlsコマンドは、多くのユーザーが最初に使うことになる基本コマンドの一つです。この記事では、lsコマンドの基本的な使い方と、実務で頻繁に利用されるオプションについてわかりやすく解説します。

筆者が普段よく使うオプションの組み合わせは以下のとおりです。

ls -Zaltrh

それでは、各オプションの意味をひとつずつ掘り下げながら、この組み合わせがなぜ便利なのかを説明していきます。

lsコマンドの基本構文

# ls [OPTION] [FILE]
OPTIONS:
[-a] 「.」または「..」で始まる隠しエントリを無視しない
[-h] -lと併用した場合、サイズを人間が読みやすい形式で表示する(例:1K 234M 2G)
[-l] 詳細な一覧形式で表示する(より多くの情報を表示)
[-r] ソート順を逆にする
[-t] 更新日時順にソートする(新しいものが先頭)
[-Z] セキュリティコンテキストを表示する

基本のls出力

まずは、基本的なlsコマンドの出力を見てみましょう。

ls
Linuxのlsコマンド徹底解説!ファイルとディレクトリを一覧表示する方法

lsコマンドの出力例

デフォルトでは色分けが適用されていますが、それ以外はファイルとディレクトリのシンプルな一覧表示で、詳細情報は表示されません。色分けの設定内容を確認するには、以下のコマンドを実行します。

alias ls
alias ls='ls --color=auto'

主なオプションの解説

-a:隠しファイルを表示する

次に、[-a]オプションを見てみましょう。

ls -a
Linuxのlsコマンド徹底解説!ファイルとディレクトリを一覧表示する方法

ls -aコマンドの出力例

[-a]オプションを使うと、隠しファイルに加えて、上位ディレクトリ[..]とカレントディレクトリ[.]の権限情報も確認できます。続いて、[-l]オプションを追加してみます。

-l:詳細情報を表示する

ls -al
Linuxのlsコマンド徹底解説!ファイルとディレクトリを一覧表示する方法

ls -alコマンドの出力例

表示される情報が増えました。ファイルのパーミッション、所有者とグループ、バイト単位のサイズ、最終更新日時が確認できます。便利ですが、さらに有用な情報を追加できます。サイズを読みやすい形式にしてみましょう。

-h:サイズを読みやすい形式で表示する

ls -ahl
Linuxのlsコマンド徹底解説!ファイルとディレクトリを一覧表示する方法

ls -ahlコマンドの出力例

これでサイズが読みやすい形式になりました。「4096」ではなく「4.0K」と表示されます。厳密さには欠けますが、通常はバイト単位の正確なサイズまで必要とすることは少ないでしょう。

-t:更新日時順にソートする

次に、更新日時順にソートして表示するのが筆者の好みです。

ls -athl
Linuxのlsコマンド徹底解説!ファイルとディレクトリを一覧表示する方法

ls -athlコマンドの出力例

これで最後に更新されたファイルが一番上に表示されます。しかし、筆者は一番下に表示される方が好みです。最近更新されたオブジェクトを真っ先に確認したいからです。そこで、ソート順を逆にします。

-r:ソート順を逆にする

ls -arthl
Linuxのlsコマンド徹底解説!ファイルとディレクトリを一覧表示する方法

ls -arthlコマンドの出力例

これで、最後に編集したファイルが一番下に表示されるようになりました。

-Z:セキュリティコンテキストを表示する

筆者はSELinuxを扱うことが多いため、SELinux環境で作業する方にとって[-Z]フラグは非常に役立ちます。オプションの並び順を変えて、発音しやすい「Zee-alter-h(ジーアルターエイチ)」という順番にしています。

ls -Zaltrh
Linuxのlsコマンド徹底解説!ファイルとディレクトリを一覧表示する方法

ls -Zaltrhコマンドの出力例

これで必要なセキュリティコンテキストが表示されました。この例では「?」と表示されていますが、「?」が表示されても心配いりません。これは単にSELinuxのenforcingモードが有効になっていないだけです。同じコマンドをAWS上で実行すると、セキュリティコンテキストの一覧が表示されます。この組み合わせが、筆者が最もよく使うオプションです。

その他にも便利なオプションとして、サイズ順のソートと再帰的な一覧表示があります。

サイズ順にソートする

ls -Sharl
Linuxのlsコマンド徹底解説!ファイルとディレクトリを一覧表示する方法

ls -Sharlコマンドの出力例

これで、最大のファイルが読みやすい形式で一番下に表示され、その後に各ディレクトリが続きます。

ディレクトリを再帰的に一覧表示する

ディレクトリ全体をまとめて確認したい場合もあります。lsには再帰的に表示するオプション[-R]があります。このとき[-a]オプションを外すことをおすすめします。「[.]」と「[..]」ディレクトリが何度も表示されてかえって見づらくなるからです。

ls -HaltrR
Linuxのlsコマンド徹底解説!ファイルとディレクトリを一覧表示する方法

ls -HaltrRコマンドの出力例

すべてが更新日時順にソートされ、最後に更新されたディレクトリが一番下に表示されます。[-S]でサイズ順にソートすると、最大のディレクトリが一番下に表示されます。

まとめ

以上で解説は終わりです。これで、Linux上のすべてのファイルとディレクトリを、詳細情報付きで一覧表示できるようになりました。サイズの大きいファイルやディレクトリの検索、最近更新されたファイルの確認など、目的に応じてソートできます。Linuxにおいてlsコマンドは、最近の変更のトラブルシューティングや、大きなディレクトリの整理など、さまざまな場面で活躍する強力なツールです。

Linuxシェルのその他の活用テクニックについては、こちらの関連記事もぜひご覧ください。

  1. LinuxとmacOSでfdコマンドを使ってファイルを素早く検索する方法

    fdは、従来のfindコマンドのシンプルな代替ツールです。簡潔な構文と短いコマンド体系を採用しており、入力の手間を大幅に減らせるのが特徴です。ただし、その簡潔さゆえに、初めて見たときには意味が分かりにくいという側面もあります。さらにfdは、標準のfindコマンドよりもパターンマッチングを高速に実行できる点も魅力です。この記事では、LinuxおよびmacOSでfdを使う方法を詳しく解説します。 Linuxへのfdのインストール fdは、デフォルトでインストールされているシステムは多くありません。お好みのパッケージマネージャーでダウンロード・インストールすれば、ターミナルからすぐに利用できるよう

  2. Linuxのシェル初期化ファイルとユーザープロファイルを徹底解説

    Linuxはマルチユーザー・タイムシェアリング方式のOSであり、複数のユーザーが同時に1台のシステムへログインして利用できます。そのため、システム管理者は、ソフトウェアのインストール・更新・削除、ユーザーが実行できるプログラム、閲覧・編集できるファイルなど、ユーザーごとの操作範囲を管理する役割を担っています。 Linuxでは、ユーザー環境の構築や維持を「システム全体(グローバル)」と「ユーザー固有(個人)」という2つの方法で行えます。通常、Linuxシステムを操作する基本手段はシェルであり、シェルはユーザーのログイン成功後に初期化処理として特定のファイルを読み込み、それに基づいて環境を構築しま