シンボリックリンクのステータス情報を取得する
lstat
は、EXPR に指定したファイルやディレクトリのステータス情報を 13 個の要素から成るリストで返します。
引数には ファイルハンドルやディレクトリハンドルを指定することもできます。
基本的に stat
関数と同じですが、シンボリックリンクの場合に、
シンボリックリンクが指す実体のファイルではなく、そのシンボリックリンク自身のステータス情報を返します。
もしシンボリックリンクをサポートしていないシステムでは、通常の stat
関数として動作します。
引数が省略されたら $_ が適用されます。 もし処理に失敗すると、空のリストを返します。
my (
$dev, $ino, $mode, $nlink, $uid, $gid, $rdev,
$size, $atime, $mtime, $ctime, $blksize, $blocks
) = lstat('/usr/bin/python3');
結果として得られる 13 個の要素のそれぞれの意味は次の通りです。
下表には、同じシンボリックリンクに対して、lstat
と
stat
を実行した結果を掲載しています。
No. | 変数名 | 説明 | lstat |
stat |
---|---|---|---|---|
0 | dev | ファイルシステムのデバイス番号 | 2051 | 2051 |
1 | ino | inode 番号 | 1054242 | 1048634 |
2 | mode | ファイルモード (パーミッション) | 41471 | 33261 |
3 | nlink | ファイルへの (ハード) リンクの数 | 1 | 1 |
4 | uid | ファイル所有者のユーザー ID | 0 | 0 |
5 | gid | ファイル所有者のグループ ID | 0 | 0 |
6 | rdev | デバイス識別子 (特殊ファイルの場合のみ) | 0 | 0 |
7 | size | ファイルのトータルのサイズ (単位はバイト) | 10 | 5912968 |
8 | atime | ファイルの最終アクセス日時を表すエポック秒 | 1688715722 | 1688715722 |
9 | mtime | ファイルの最終更新日時を表すエポック秒 | 1660819144 | 1685358638 |
10 | ctime | ファイルの最終 inode 変更日時を表すエポック秒 | 1675693143 | 1688437426 |
11 | blksize | ファイル操作用の推奨 I/O バイト数(ブロックサイズのことでファイルによって違う場合がある) | 4096 | 4096 |
12 | blocks | ディスクに割り当てられたシステム固有の実際のブロック数 (1 ブロック 512 バイトのことが多い) | 0 | 11552 |