概要
Linux環境で隠された設定ファイルやファイル権限を確認することは、システム管理および開発の第一歩です。本記事では、ls -alコマンドを活用して隠しファイルまで迅速かつ正確に確認する方法と、実務で必須のオプションを紹介します。ターミナルでの実践を通じて、ファイル権限とソートのコツまで完璧にマスターしましょう。
1. Linuxファイルシステムと隠しファイル(.)の概念および -a オプション
mkdir -p ~/ls_practice && cd ~/ls_practice コマンドは、実習に必要なディレクトリを作成し、その位置へ移動します。mkdirでディレクトリを作成した後、&&演算子を介して連続でcdコマンドを実行して移動します。
実行結果、指定したパスにディレクトリが正常に作成され、現在の作業ディレクトリが変更されます。
⚙️ [主なオプション]
-p : 必要な場合、親ディレクトリも含めて一緒に作成し、すでに存在するディレクトリであってもエラーを発生させません。-m : ディレクトリを作成する際、アクセス権限を直接設定します。-v : ディレクトリ作成プロセスの詳細情報を画面に出力します。

touch sample_file.txt コマンドは、実習用の一般的なテキストファイルを新規作成します。touchは本来ファイルのタイムスタンプを修正するコマンドですが、ファイルが存在しない場合は0バイトの空ファイルを新規作成します。
実行結果、現在のディレクトリに内容のない sample_file.txt ファイルが作成されます。
⚙️ [主なオプション]
-a : ファイルのアクセス(access)時間のみ変更します。-m : ファイルの変更(modification)時間のみ変更します。-c : 指定したファイルが存在しなくても、新しいファイルを作成しません。-r : 指定した他の参照ファイルと同じタイムスタンプ設定に変更します。

touch .hidden_config コマンドは、ファイル名の先頭にドット(.)を付けて隠しファイルを作成します。
Linuxファイルシステムでは、名前がドット(.)で始まるファイルやディレクトリをシステム環境設定用の隠し項目とみなします。
実行結果、通常の方法では容易に見えない .hidden_config 隠し設定ファイルが新規作成されます。
⚙️ [主なオプション]
-a : 파일의 접근(access) 시간만 변경합니다. -> ファイルのアクセス(access)時間のみ変更します。-m : 파일의 수정(modification) 시간만 변경합니다. -> ファイルの変更(modification)時間のみ変更합니다。-c : 지정한 파일이 존재하지 않아도 새 파일을 생성하지 않습니다. -> 指定したファイルが存在しなくても、新しいファイルを作成しません。-t : タイムスタンプを現在時刻ではなく指定した時刻形式に設定します。

ls コマンドは、現在の作業ディレクトリに含まれるファイルとディレクトリの一覧を表示します。
オプションなしで実行すると、デフォルト設定に従って通常のファイルとディレクトリのみが画面に表示されます。
実行結果、先ほど作成した .hidden_config 파일은 보이지 않고 일반 파일인 sample_file.txt 항목만 출력됩니다. -> 実行結果、先ほど作成した .hidden_config ファイルは表示されず、通常のファイルである sample_file.txt 項目のみが出力されます。
⚙️ [主なオプション]
-a : ドット(.)で始まる隠し項目を含むすべてのファイルとディレクトリを出力します。-l : ファイル権限、所有者、グループ、ファイルサイズ、変更日時などの詳細情報を出力します。-h : ファイルサイズを人が読みやすい形式(K, M, G)に変換して表示します。-t : ファイルをアルファベット順ではなく、ファイルの変更日時の順序でソートして出力します。-r : ソート結果を逆順にして出力します。-R : サブディレクトリの内部コンテンツまで再帰的にすべて出力します。

ls -a コマンドは、隠しファイルとディレクトリを含め、ディレクトリ内のすべての項目を表示します。
基本の ls コマンドに -a オプションを渡すと、ドット(.)で始まる隠しファイルまで一目で確認できます。
実行結果、通常のファイルだけでなく .hidden_config ファイルおよび現在のディレクトリ(.)、親ディレクトリ(..)がすべて一覧に出力されます。
⚙️ [主なオプション]
-a : ドット(.)で始まる隠しファイルとディレクトリを含め、すべての項目を出力します。-A : ドット(.)で始まる隠しファイルとディレクトリを出力しますが、現在のディレクトリ(.)と親ディレクトリ(..)は除外します。-l : 権限、所有者、サイズなどファイルの属性詳細をリスト形式で出力します。-F : ファイルの種類を区別できるように、ディレクトリの後ろには /、実行ファイルの後ろには * 記号を付けて出力します。-i : 各ファイルとディレクトリの固有のiノード(inode)番号も一緒に出力します。

2. ls -l と ls -al を利用した詳細情報および権限の確認
echo 'Ubuntu Security' > sample_file.txt コマンドは、指定した文字列를 ファイルに保存します。echo コマンドは入力したテキストを出力し、リダイレクト演算子 > は出力内容を指定したファイルに上書き保存します。
このコマンドを実行すると、Ubuntu Security という文字列を持つ sample_file.txt ファイルが新規作成されます。
実行後、ターミナルには特別なメッセージは表示されず、ファイルの書き込みが正常に完了します。
⚙️ [主なオプション]
-n : 文字列出力後、末尾に含まれる改行文字を出力しません。-e : バックスラッシュエスケープ文字の解釈を有効にします。-E : バックスラッシュエスケープ文字の解釈を無効にします。

echo 'Secret Key' > .hidden_config コマンドは、隠しファイルに設定情報を記録します。
ファイル名の先頭にドット(.)を付けた .hidden_config ファイルに Secret Key テキストを保存します。
Linuxシステムでは、ドット(.)で始まるファイルを隠しファイルとして処理し、通常の一覧出力から除外します。
コマンド実行結果、画面には何もテキストが表示されず、隠しファイルが正常に作成されます。
⚙️ [主なオプション]
-n : テキスト出力の末尾の改行文字を削除します。-e : エスケープ文字を解釈するように設定します。-E : エスケープ文字の解釈機能をオフにします。

ls -l コマンドは、現在のディレクトリの通常のファイルおよびディレクトリ一覧を詳細情報とともに表示します。-l オプションは、ファイルの権限、所有者、所有グループ、ファイルサイズ、最終変更日時などの詳細項目をロングフォーマットで出力します。
通常の一覧表示状態のため、ドット(.)で始まる隠しファイルは画面に出力されません。
出力の1行目の total 64 は、一覧に表示された通常項目が占めるディレクトリのブロックサイズを示しています。
⚙️ [主なオプション]
-l : 파일 권한, 소유자, 파일 크기, 수정 시각 등 상세 정보를 출력합니다. -> ファイル権限、所有者、ファイルサイズ、変更日時などの詳細情報を出力します。-h : 파일 크기를 읽기 쉬운 단위(KB, MB, GB)로 표시합니다. -> ファイルサイズを読みやすい単位(KB, MB, GB)で表示します。-t : 파일을 최근 수정된 시각 순서대로 정렬합니다. -> ファイルを最近変更された日時の順序でソートします。-r : 정렬 순서를 역순으로 뒤집어 출력합니다. -> ソート順を逆順にして出力します。-S : 파일 크기가 큰 순서대로 정렬하여 출력합니다. -> ファイルサイズが大きい順にソートして出力します。

ls -al コマンドは、隠しファイルとディレクトリをすべて含めて詳細情報の一覧を出力します。-a オプションと -l オプションが結合され、ドット(.)で始まる隠しファイルまで権限およびサイズ情報とともに表示します。
実行結果、前半部分に作成したばかりの .hidden_config とデフォルトの隠しファイルである .dockerenv、.、.. 項目が表示されます。
出力の1行目の total 76 は、隠しファイルが追加されたことで ls -l 出力時よりも合計ブロックサイズが増加したことを意味します。
⚙️ [主なオプション]
-a : ドット(.)で始まる隠しファイルとディレクトリを含め、すべての項目を出力します。-l : ファイル権限、所有者、サイズ、変更日時などの詳細情報をリスト形式で表示します。-A : 現在のディレクトリ(.)と親ディレクトリ(..)を除いた隠しファイルおよびすべての項目を出力します。-i : 各ファイルの固有のiノード(inode)番号を一覧と一緒に出力します。-R : サブディレクトリのすべての内容まで再帰的に出力します。

3. 人が読みやすい単位で表記する -h オプションの組み合わせ (ls -alh)
truncate -s 5M large_file.bin コマンドは、指定したサイズで空のファイルを新規作成するか、既存ファイルの容量を調整します。
このコマンドを実行すると、5MBサイズの通常のテストファイルである large_file.bin が作成されます。
⚙️ [主なオプション]
-s : 파일의 크기를 바이트 단위 또는 K, M, G 등의 단위로 지정합니다. -> ファイルのサイズをバイト単位または K, M, G などの単位で指定します。-c : 지정한 파일이 존재하지 않더라도 파일을 새로 생성하지 않습니다. -> 指定したファイルが存在しなくても、新しいファイルを作成しません。-r : 기존에 존재하는 다른 참조 파일의 크기와 동일하게 설정합니다. -> 既存の他の参照ファイルのサイズと同じに設定します。

truncate -s 10M .large_hidden_file.bin コマンドは、名前がドット(.)で始まる10MBサイズの隠しファイルを作成します。
Linuxファイルシステムでは、ファイル名の先頭にドット(.)を付けると、該当項目が隠しファイルとして指定されます。
⚙️ [主なオプション]
-s : 파일의 크기를 바이트 단위 또는 K, M, G 등의 단위로 지정합니다. -> ファイルのサイズをバイト単位または K, M, G などの単位で指定します。-c : 파일이 없을 때 새로운 파일이 자동으로 만들어지는 것을 방지합니다. -> ファイルが存在しない場合に新しいファイルが自動的に作成されるのを防ぎます。-r : 별도 참조 파일의 용량을 기준값으로 가져와 적용합니다. -> 別の参照ファイルの容量を基準値として取得し適用します。

ls -l コマンドは、ディレクトリ内の通常ファイルとディレクトリの詳細属性情報をリスト形式で出力します。
実行結果、large_file.bin が 5242880 バイト単位で出力されるため容量を直感的に把握しにくく、隠しファイルである .large_hidden_file.bin は一覧から除外されます。
⚙️ [主なオプション]
-l : ファイル権限、所有者、バイト単位のファイルサイズ、変更日時 등의 상세 정보를 출력합니다. -> ファイル権限、所有者、バイト単位のファイルサイズ、変更日時などの詳細情報を出力します。-a : ドット(.)で始まる隠しファイルを含め、ディレクトリのすべての項目を出力します。-h : ファイルサイズを K, M, G など人が読みやすい容量単位に変換して表示します。-t : 最近変更された日時の順序で項目をソートします。-r : ソート順を反転させて逆順で表示します。

ls -alh コマンドは、隠しファイルを含む全体一覧を詳細情報および人が読みやすい容量単位と組み合わせて表示します。
実行結果、5242880 バイトは 5.0M に自動変換され、隠されていた10MBサイズの .large_hidden_file.bin ファイルが 10M の表示とともに一覧に現れます。
⚙️ [主なオプション]
-a : ドット(.)で始まる隠しファイルとディレクトリを一覧に含めます。-l : 権限、所有アカウント、ファイルサイズなどの詳細属性を含めて一覧を出力します。-h : ファイルサイズを KB, MB, GB などの視認性の高い単位に変換して表示します。-S : ファイルサイズが最も大きい項目から順番にソートします。-R : サブディレクトリ内部のファイルまで再帰的に確認して出力します。

4. 実務で役立つ時間(-t)およびサイズ(-S)のソートオプションの組み合わせ
touch -t 202601010000 .old_hidden_log コマンドは、ファイルの変更日時を直接指定して作成または変更します。
この例では、タイムスタンプのソート結果を確認するために、2026年1月1日00時00分の時刻を持つ .old_hidden_log 空の隠しファイルを作成します。
⚙️ [主なオプション]
-t : 指定した日付と時刻の形式でファイルの変更およびアクセス日時を設定します。

ls -alt コマンドは、隠しファイルを含むすべてのディレクトリ項目を最新の変更日時順にソートして詳細に出力します。
実行結果、上部に最も最近変更または作成されたファイルが優先的に配置されます。
⚙️ [主なオプション]
-a : ドットで始まる隠しファイルと隠しディレクトリを含め、すべての項目を出力します。-l : 파일 권한, 소유자, 크기, 수정 시간 등의 상세 정보를 목록 형태로 표시합니다. -> ファイル権限、所有者、サイズ、変更日時などの詳細情報をリスト形式で表示します。-t : ファイルおよびディレクトリを最新の変更日時基準で降順にソートします。

ls -alS コマンドは、隠しファイルを含むすべての項目の詳細情報をファイルサイズが大きい順にソートして出力します。
容量が大きいファイルやディレクトリを素早く把握し、ディスク容量を管理する際に便利です。
⚙️ [主なオプション]
-a : ドットで始まる隠しファイルと隠しディレクトリを含め、すべての項目を出力します。-l : 파일 권한, 소유자, 크기, 수정 시간 등의 상세 정보를 목록 형태로 표시합니다. -> ファイル権限、所有者、サイズ、変更日時などの詳細情報をリスト形式で表示します。-S : ファイルサイズが大きい順を基準にリストを降順でソートします。

ls -alrt コマンドは、隠しファイルを含むすべての項目の詳細情報を古い変更日時順にソートして出力します。
時間の逆順ソートにより、最も最近変更されたファイルがターミナル画面の最下部に表示され、すぐに確認できて便利です。
⚙️ [主なオプション]
-a : ドットで始まる隠しファイルと隠しディレクトリを含め、すべての項目を出力します。-l : ファイル権限、所有者、サイズ、変更日時などの詳細情報をリスト形式で表示します。-r : ソート順を逆順にして昇順にソートします。-t : 파일 및 디렉터리를 최신 수정 시간 기준으로 정렬합니다. -> ファイルおよびディレクトリを最新の変更日時基準でソートします。

ここまで、Linux必須コマンドである ls -al を活用して隠しファイルと詳細な権限情報を確認する方法をまとめました。
この記事を参考に、Linux環境でのファイルとディレクトリをより効率的に管理してみてください。