概要
Linux環境で最も基本的かつ頻繁に使用される ls コマンドのコアな使い方を、実践を交えて解説します。基本的なファイル一覧の確認から隠しファイルの表示、権限の分析、並び替え、ツリー表示への拡張まで、実務ですぐに役立つ必須オプションをステップバイステップでまとめました。
基本的なファイル一覧の確認と隠しファイルの表示 (ls, ls -a)
ls コマンドの実践用ディレクトリを作成し、そのディレクトリへ移動するために mkdir -p ~/ls_practice && cd ~/ls_practice コマンドを実行します。

実習で使用する通常のテキストファイルと隠し属性の設定ファイルを作成するために touch file1.txt file2.txt .hidden_config コマンドを実行します。

ls コマンドは、カレントディレクトリに存在するファイルやディレクトリの一覧を確認するための最も基本的なコマンドです。
オプションを指定せずに実行すると、ドット(.)で始まる隠しファイルを除いた通常のエントリのみが表示されます。
⚙️ [主なオプション]
-a : ドット(.)で始まる隠しファイルやディレクトリを含め、すべてのエントリを表示します。-l : ファイルの権限、所有者、ファイルサイズ、更新日時などの詳細情報をロングフォーマット(リスト形式)で表示します。-h : ファイルサイズを人間が読みやすい単位(K, M, G など)に変換して表示します(-l オプションと一緒に使用)。-t : ファイルの最終更新日時が新しい順に並び替えて出力します。-S : ファイルサイズが大きい順に並び替えて一覧を表示します。-R : サブディレクトリの内容も含めて再帰的にすべて表示します。

ls -a コマンドはカレントディレクトリ内のすべての項目を表示し、ドット(.)で始まる隠しファイルも一緒に出力します。
実行結果には、カレントディレクトリを表す .、親ディレクトリを表す ..、そして先ほど作成した隠しファイル .hidden_config が含まれて表示されます。

ファイルの詳細情報と権限の分析 (ls -l, ls -lh)
サイズの表示形式の違いを比較するため、fallocate -l 10M ~/ls_practice/sample_large.dat コマンドで10MBサイズのテスト用大容量ファイルを生成します。

ls -l コマンドは、ファイルの権限、所有者、グループ、ファイルサイズ(バイト単位)、最終更新日時などの詳細情報をロングフォーマットで出力します。
デフォルト設定ではファイルサイズがバイト単位の数値で表示されるため、大きなファイルのサイズを一目で把握するのは困難です。

ls -lh コマンドは、-h (human-readable) オプションを組み合わせることで、ファイルサイズを KB、MB、GB などの読みやすい単位に変換して出力します。
先ほど生成した大容量ファイルのサイズが、バイト単位の数値ではなく 10M と直感的に表示されることが確認できます。

更新日時順およびサイズ順の並び替えオプションの活用 (ls -lt, ls -lS)
更新日時順の並び替えをテストするため、2日前の更新日時を持つ過去のファイル old_file.txt を作成すべく touch -d '2 days ago' ~/ls_practice/old_file.txt コマンドを実行します。

比較対象となる最新の日時を持つファイル recent_file.txt を作成するために touch ~/ls_practice/recent_file.txt コマンドを実行します。

ls -lt コマンドは、-t オプションを組み合わせることで、直近に変更されたファイルから降順(最新順)に並び替えて出力します。
作成したばかりの recent_file.txt が一覧の最上部に位置し、2日前の日時に設定した old_file.txt が一番下に表示されることが確認できます。

ls -lS コマンドは大文字の -S オプションを使用し、ファイルサイズが大きい順に並び替えて一覧を表示します。
10MBサイズで作成した sample_large.dat ファイルが一番上に表示され、ディレクトリ内で容量を多く消費している大きなファイルを素早く特定できます。

ディレクトリ構造の可視化とワイルドカードによるフィルタリング (tree, ls *.txt)
階層的なディレクトリ構造の探索を体験するため、複数のサブディレクトリとサンプルのログファイルを作成すべく mkdir -p ~/ls_practice/subdir/inner && touch ~/ls_practice/subdir/inner/note.log コマンドを実行します。

ls ~/ls_practice/*.txt コマンドは、ワイルドカード文字(*)を活用して拡張子が .txt のファイルのみを選択的に絞り込んで出力します。
大容量データファイルやサブディレクトリを除外し、テキストファイルの一覧のみを正確に確認できます。

ディレクトリ構造をツリー形式で可視化して確認するため、sudo apt-get update -qq && sudo apt-get install -y tree コマンドで tree パッケージをインストールします。

tree ~/ls_practice コマンドは、指定したディレクトリ配下のフォルダやファイル構造を一目で把握できるように、ツリーダイアグラム形式で出力します。
ネストされた subdir/inner/note.log パスを含む全体のファイル・ディレクトリ数と階層関係を直感的に確認できます。

ここまで、Ubuntu環境で役立つ ls コマンドの必須オプションの組み合わせから実務的なTipsまでを簡単に解説しました。
状況に応じたオプションを身につけて、ターミナル作業をより迅速かつ効率的に進めてみてください。