Linux や macOS で頻繁に使う ls -la。
「とりあえず打ってるけど、表示の意味はよく分かっていない」という方向けに、表示結果1行の読み方まで含めて整理する。
ls -la とは
$ ls -la
- ls:ファイル・ディレクトリの一覧表示
- -l:詳細情報を表示(long format)
- -a:隠しファイルも含めてすべて表示(all)
→ 隠しファイルを含め、詳細情報付きで一覧表示するコマンド
ls -la の表示例
$ ls -la
-rw-r--r-- 1 user staff 1234 Dec 22 file.txt
この 1行を左から順番に読む。
① ファイル種別 + パーミッション
-rw-r--r--
先頭1文字:ファイル種別
| 文字 | 意味 |
|---|---|
- |
通常ファイル |
d |
ディレクトリ |
l |
シンボリックリンク |
今回は - なので 通常ファイル。
残り9文字:パーミッション(権限)
rw- r-- r--
3文字ずつに分かれる。
| 対象 | 説明 |
|---|---|
| 最初の3文字 | 所有者(user) |
| 次の3文字 | グループ(group) |
| 最後の3文字 | その他(other) |
各文字の意味
| 文字 | 意味 |
|---|---|
r |
read(読む) |
w |
write(書く) |
x |
execute(実行) |
- |
権限なし |
今回の解釈
| 対象 | 権限 |
|---|---|
| 所有者 | 読み・書き可 |
| グループ | 読みのみ |
| その他 | 読みのみ |
② ハードリンク数
1
- このファイルを指している 実体の数
- 通常のファイルはほぼ 1
- ディレクトリは 2 以上になることが多い
③ 所有ユーザー
user
- ファイルの持ち主
- 作成したユーザー名であることが多い
④ 所有グループ
staff
- ファイルが属するグループ
- macOS では
staffがよく出る
⑤ ファイルサイズ
1234
- バイト単位
- 約 1.2KB
⑥ 更新日時
Dec 22
- 最後に 内容が変更された日時
- 最近のファイルは「月 日」
- 古いファイルは「年」が表示される
⑦ ファイル名
file.txt
- 実際のファイル名
- シンボリックリンクの場合は、file.txt -> /path/to/realfile のように表示される
1行を日本語で読むと
- 通常ファイルで、所有者は読み書き可能
- グループとその他のユーザーは読み取りのみ
- 所有者は user、グループは staff
- サイズは 1234 バイトで、12月22日に更新された file.txt
まとめ
-
ls -laは 調査・トラブルシュートで必須 - ファイルが「開けない」「実行できない」は
- パーミッションを見ると原因が分かることが多い