1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

UNIX系のシステム(Macとか)でファイルやディレクトリを操作する際、ls -laコマンドを使ったことがある方は多いでしょう。しかし、表示される内容すべてを正確に理解しているでしょうか?この記事では、ls -laの出力を1行1列まで徹底解説します。

lsコマンドとは

lsコマンドは「list」の略で、指定したディレクトリ内のファイルやディレクトリを一覧表示します。特に-laオプションを組み合わせると、隠しファイルを含めた詳細情報が表示されます。

例:

$ ls -la

この出力を読み解くことで、ファイルシステムに対する理解を深め、効率的に操作できるようになります。
以下は典型的なls -laの出力例です。

drwxr-xr-x   5 user group  160 Nov 30 12:00 .
drwxr-xr-x  10 user group  320 Nov 30 11:59 ..
-rw-r--r--   1 user group  123 Nov 29 14:23 file.txt

ここで、各列が何を意味するのかを順に見ていきます。

各列の意味とその詳細

ファイルタイプ

出力の先頭の1文字目はファイルタイプを表します。上記例だと上2行はディレクトリ、3行目はファイルであることがわかります。

記号 意味
- 通常のファイル
d ディレクトリ
l シンボリックリンク
b ブロックデバイス
c キャラクタデバイス
p 名前付きパイプ
s ソケット

権限 (Permission)

次の9文字は、ファイルやディレクトリの権限を示します。例: rwxr-xr-x
先にそれぞれの文字の意味を表にしておきます。

区分 意味
r 読み取り可
w 書き込み可
x 実行可
- 権限なし

これらは3文字ずつ3つのグループに分けれます

所有者(最初の3文字)
グループ(次の3文字)
その他のユーザー(最後の3文字)
例:
rwxr-xr-x → rwx / r-x / r-x

所有者(rwx): 読み取り、書き込み、実行可能
グループ(r-x): 読み取り、実行可能
その他のユーザー(r-x): 読み取り、実行可能

この例だと、読み取りと実行は全ユーザー可能ですが、書き込みは所有者のみ許可されていることになります

リンク数

次の数字(例: 5)は、そのファイルのハードリンク数を表します。
ディレクトリの場合、この数値は中に含まれるエントリの数(自身、親、子ディレクトリを含む)を指します。

オーナーとグループ

その次の文字usergroupはオーナーと所属グループを示しています
オーナー: ファイルを作成したユーザー(例: user)
グループ: グループに属するユーザー(例: group)

ファイルサイズ

その次の数字はファイルサイズです。
サイズはバイト単位で表示されます(例: 160)。

ls -lhオプションを使うと、人間に読みやすい形式(KB、MBなど)で表示されます。

タイムスタンプ

これは最終更新日時を示します。デフォルトでは、月、日、時刻の形式です。

ファイル名、ディレクトリ名

最後の列はファイル名、ディレクトリ名です。.で始まるファイルは「隠しファイル」と呼ばれます。ls -aを使うと表示されます。

おさらい

こちらの例の各行を改めて見てみます。

drwxr-xr-x   5 user group  160 Nov 30 12:00 .
drwxr-xr-x  10 user group  320 Nov 30 11:59 ..
-rw-r--r--   1 user group  123 Nov 29 14:23 file.txt
ファイルタイプ 権限 リンク数 オーナー 所属グループ ファイルサイズ タイムスタンプ ファイル
1 ディレクトリ 読み取り、実行は全ユーザー許可。書き込みは所有者のみ許可。 5 user group 160byte 11/30 12:00 .
2 ディレクトリ 読み取り、実行は全ユーザー許可。書き込みは所有者のみ許可。 10 user group 320byte 11/30 11:59 ..
3 ファイル 読み取りは全ユーザー許可。書き込みは所有者のみ許可。実行は全ユーザー不可。 1 user group 123byte 11/29 14:23 file.txt

特殊なファイル (. と ..)

上記の例を見て何だこのファイル?ディレクトリ?思ったかもしれませんが下記の通りになります。
これらもファイルシステムの基本的な構造を辿る際に非常に重要です。
.: 現在のディレクトリ
..:親ディレクトリ

ファイルシステム内での変更

ディレクトリの権限を変更する

chmodコマンドを使って、ファイルやディレクトリの権限を変更できます。
755というのは所有者(最初の3文字)、グループ(次の3文字)、その他のユーザー(最後の3文字)の3つでそれぞれのグループの権限を表す数字になります。
よく使われる数字はこの辺です。覚えてもいいかもしれません。
rwx -> 7r-x -> 5r-- -> 4

chmod 755 my_directory
// my_directoryの権限をrwxr-xr-xに変更する

オーナーやグループを変更する

chownコマンドでオーナーやグループを変更します。

chown user:group file.txt

サイズ順に並べる

ls -laSでサイズ順にファイルを並べ替えることができます。

まとめ

読んでいただきありがとうございます!
ファイルタイプでd-以外中々お目にかかれないイメージがあるので、見かけたら少し興奮してみようかなと書いてて思いました😊

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?