Mac 前提で書いております。
ファイルの属性とは?
ファイルには内容の他にも、「所有者」や「更新日時」などの情報が付属しています。これらの情報を「属性」と呼びます。
ファイルの属性は、「ls」コマンドの「-l」オプションや(画面1)、「stat」コマンドで確認できます。
-l
(The lowercase letter ``ell''.) List in long format. (See below.) A total sum for all the file sizes is output on a line before the long listing.
すべてのファイルサイズの合計は、リストの前の行に出力されます。
The Long Formatとは
このフォーマットのことです。
-rw-r--r-- 1 user staff 0 6 25 11:01 test
lsのmanで以下のように説明されています。
If the -l option is given, the following information is displayed for each file:
[-lオプションを指定すると、ファイルごとに次の情報が表示されます。]
- file mode ファイルモード
- number of links リンクの数
- owner name 所有者名
- group name グループ名
- number of bytes in the file ファイル内のバイト数
- abbreviated month 省略された月
- day-of-month file was last modified 最終編集日
- hour file last modified 最終編集時間
- minute file last modified 最終編集分
- the pathname パスネーム
# ファイルの場合
-rw-r--r-- 1 user staff 0 6 25 11:01 test
-rw-r--r-- 1 user staff 0 6 25 11:02 test.c
# ディレクトリの場合
drwxr-xr-x 2 user staff 64 6 25 11:02 testdir
ファイルモード
ファイルの種類
ls -lでの表示 | 意味 |
---|---|
- | 普通のファイル(Regular File) |
d | ディレクトリ |
l | シンボリックリンク |
c | キャラクタ型デバイスファイル(特殊ファイル) |
b | ブロック型デバイスファイル(特殊ファイル) |
パーミッション
以下がわかりやすいです。
参考: 【一通り理解】Linuxパーミッションの基本とその設定方法
chmodコマンドも一緒に理解すると良いです。
chmod は change mode の略だそうです。
パーミッションを指定していディレクトリを作る場合
mkdir -m 777 test
ファイルは作成時に個別にパーミッションを設定することはできないようです。
参考: パーミッションなどを設定する!chmodコマンドの詳細まとめ【Linuxコマンド集】
リンク数
ファイルのリンク数は常に1ではないということも重要なポイントです。
ハードリンクと、シンボリックリンクも異なります。
ハードリンクしている数がリンク数として表示されます。
何を言っているのかさっぱりという方は、以下がわかりやすいです。
参考: Linux: ハードリンクと inode - Qiita
所有者とグループ
ファイルの所有者は通常、作成した人です。
グループについては、以下がわかりやすいです。
参考: Linux グループ一覧の確認と/etc/group ファイル
ファイル内のバイト数
ここは特に解説は不要かと思います。バイト数が表示されます。
タイムスタンプ
ここも不要ですね。更新日時が表示されます。
オプションを付けることでアクセス日などに変更することもできます。
パスネーム
ファイル名が表示されます。
本記事と関係ないですが、私と同じく初心者の方は以下も参考になりますのでどうぞ。
参考: パス名について
参考
参考: 「ls -l」コマンドの表示からファイルの属性を理解しよう (1/4):“応用力”をつけるためのLinux再入門(9) - @IT