STAT
Section: User Commands (1)
索引
jman
BSD mandoc
索引
名称
stat
readlink
- ファイルの状態の表示
索引
書式
[-FLnq
]
[-f format | -l | r | s | x
]
[-t timefmt
]
[file ...
]
readlink
[-n
]
[file ...
]
索引
解説
ユーティリティは、
file
で指定されるファイルの情報を表示します。
ファイルに対する、読み・書き・実行の権限は必要ではありませんが、
ファイルに到達するまでのパス名に列挙されているすべてのディレクトリは
検索可能であることが必要です。
引数を指定しないと、
は、標準入力のファイル記述子に関する情報を表示します。
readlink
として起動すると、シンボリックリンクの対象のみが表示されます。
指定した引数がシンボリックリンクではない場合、
readlink
は何も表示せず、エラーで終了します。
指定した引数で
lstat(2)
を呼び出し、返される構造体を評価することで、表示される情報を取得します。
オプションは次の通りです:
- -F
-
ls(1)
での表示と同様、ディレクトリである各パス名の直後にスラッシュ
(`/'
)
を、各実行形式の後にアスタリスク
(`*'
)
を、各シンボリックリンクの後にアット記号
(`@'
)
を、各ホワイトアウトの後にパーセント記号
(`%'
)
を、各ソケットの後に等号
(`='
)
を、各 FIFO の後に垂直棒
(`|'
)
を表示します。
-F
を指定すると、
-l
を暗黙的に指定します。
- -L
-
lstat(2)
の代りに
stat(2)
を使用します。
が報告する情報は、
file
がシンボリックリンクの場合、その対象を参照し、
file
自身を参照するものではありません。
- -n
-
出力の各部分の最後に、改行を強制しません。
- -q
-
stat(2)
や
lstat(2)
の呼び出しが失敗しても、失敗のメッセージを抑制します。
readlink
として実行すると、エラーメッセージは自動的に抑制されます。
- -f format
-
指定したフォーマットを使用して情報を表示します。
正しいフォーマットに関しては、
Sx フォーマット
節を参照してください。
- -l
-
ls -lT
フォーマットで表示します。
- -r
-
生の情報を表示します。
Vt stat
構造体のすべてのフィールドに対し、生の数値
(例えば、基準時点から経過した秒数など) を表示します。
- -s
-
変数の初期化に適した、
``シェル出力''
で情報を表示します。
- -x
-
ある種の
Linux
ディストリビューションで使われている冗長な方法で情報を表示します。
- -t timefmt
-
指定したフォーマットでタイムスタンプを表示します。
このフォーマットは直接
strftime(3)
に渡されます。
フォーマット
フォーマット文字列は
printf(3)
フォーマットに似ており、
%
で開始し、それに一連のフォーマット文字が続き、
フォーマット対象の
Vt struct stat
のフィールドを選択する 1 文字で終了します。
%
の直後に
n , t , % ,
が続くと、
改行文字、タブ文字、パーセント文字、現在のファイル番号が表示されます。
それ以外の場合、文字列は次のように解釈されます:
以下は省略可能なフラグです:
- #
-
8 進数および 16 進数の出力に対し、別の出力形式を選択します。
非 0 の 8 進数は前に 0 が付き、非 0 の 16 進数は前に
``0x
''
が付くようになります。
- +
-
数値の正負を示す符号を常に表示するよう、指示します。
非負の数値は、通常は符号付きでは表示されません。
- -
-
出力文字列を、フィールドの右ではなく左に揃えます。
- 0
-
フィールドの左側を埋める文字を、空白の代りに文字
`0'
にします。
- 空白
-
非負の符号付き出力フィールドの前の空白を保持します。
`+
'
と空白の両方が指定された場合、
`+
'
が優先します。
その後に下記のフィールドが続きます:
- size
-
省略可能な 10 進数文字列であり、最小のフィールド幅を指定します。
- prec
-
省略可能な精度であり、小数点
`.
'
と 10 進数文字列からなります。
文字列出力での最大長か、
浮動小数点数出力での小数点の後に続く桁数か、
数値出力での最小桁数を指定します。
- fmt
-
省略可能な、出力フォーマット指示子です。
D , O , U , X , F
S
のいずれかです。
それぞれ、
符号付き 10 進数出力、
8 進数出力、
符号無し 10 進数出力、
16 進数出力、
浮動小数点数出力、
文字列出力です。
フィールドによっては、使用できない出力フォーマットがあります。
浮動小数点数出力は、
Vt timespec
フィールド
( a , m , c
フィールド) に対してのみ使用可能です。
使用可能ならば、特別な出力指示子
S
を使用し、文字列フォーマットを指定可能です。
下記のものと組み合わせることができます:
- amc
-
日付を
strftime(3)
フォーマットで表示します。
- dr
-
実際のデバイス名を表示します。
- gu
-
グループまたはユーザの名前を表示します。
- p
-
file
のモードを
ls -lTd のフォーマットで表示します。
- N
-
file
の名前を表示します。
- T
-
file
のタイプを表示します。
- Y
-
出力に
`` -Gt]
''
を挿入します。
Y
に対するデフォルトの出力フォーマットは文字列ですが、
明示的に指定された場合にはこれらの 4 文字が前に付くことに注意してください。
- sub
-
省略可能なサブフィールド指示子 (高・中・低) です。
p , d , r
T
出力フォーマットに対してのみ使用可能です。
サブフィールド指示子は次のいずれかです:
- H
-
``高''
[em]
r
d
に対してはデバイスのメジャー番号、
p
の文字列フォーマットに対しては権限の
``user''
部分、
p
の数値フォーマットに対してはファイルの
``type''
部分、
T
に対しては長い出力フォーマット。
- L
-
``低''
[em]
r
d
に対してはデバイスのマイナ番号、
p
の文字列フォーマットに対しては権限の
``other''
部分、
p
の数値フォーマットに対してはファイルの
``user''
``group''
``other''
部分、
T
に対してはファイルタイプを表現する
ls -F
スタイルの出力文字 (これに対する
L
は省略可能です)。
- M
-
``中''
[em]
p
の文字列フォーマットに対しては権限の
``group''
部分、
p
の数値フォーマットに対してはファイルの
``suid''
``sgid''
``sticky''
部分。
- datum
-
必須のフィールド指示子であり、下記のいずれかひとつです:
- d
-
file
が存在するデバイス。
- i
-
file
の inode 番号。
- p
-
ファイルタイプと権限。
- l
-
file
に対するハードリンク数。
- u , g
-
file
所有者のユーザ ID とグループ ID。
- r
-
キャラクタスペシャルデバイスファイルとブロックスペシャルデバイスファイル
に対する、デバイス番号。
- a , m , c , B
-
それぞれ、
file
の最終アクセス時刻、
file
の最終変更時刻、
inode の最終変更時刻、
inode の生成時刻。
- z
-
バイト単位での
file
の大きさ。
- b
-
file
に対して割り当てられているブロック数。
- k
-
ファイルシステム I/O 操作での最適なブロックサイズ。
- f
-
file
に対するユーザ定義のフラグ。
- v
-
inode の世代番号。
下記の 4 個のフィールド指示子は、
Vt struct stat
から直接取り出せるものではありませんが、指定可能です:
- N
-
ファイル名。
- T
-
ファイルタイプであり、
ls -F
フォーマットか、
sub
フィールド指示子
H
が指定された場合はより記述的なフォーマット。
- Y
-
シンボリックリンクの対象。
- Z
-
キャラクタスペシャルデバイスまたはブロックスペシャルデバイスの
rdev
フィールドからは
``major,minor''
に展開、他のものに対してはサイズ出力。
%
とフィールド指示子のみが必須です。
ほとんどのフィールド指示子の出力フォーマットのデフォルトは
U
です。
例外は次の通りです。
p
のデフォルトは
O
であり、
a , m , c
のデフォルトは
D
であり、
Y , T , N
のデフォルトは
S
です。
索引
終了状態
Ex -std stat readlink
索引
使用例
foo
が
/tmp/foo
から
/
を指すシンボリックリンクの場合、
を次のように使用できます:
Gt] stat -F /tmp/foo
lrwxrwxrwx 1 jschauma cs 1 Apr 24 16:37:28 2002 /tmp/foo@ -Gt] /
Gt] stat -LF /tmp/foo
drwxr-xr-x 16 root wheel 512 Apr 19 10:57:54 2002 /tmp/foo/
シェル変数を初期化するために、
-s
変数を次のように使用できます:
Gt] csh
% eval set `stat -s .cshrc`
% echo $st_size $st_mtimespec
1148 1015432481
Gt] sh
$ eval $(stat -s .profile)
$ echo $st_size $st_mtimespec
1148 1015432481
ファイルの種類の一覧を、
ファイルがシンボリックリンクの場合には指されるファイルを含めて表示するには、
次のフォーマットを使用可能です:
$ stat -f "%N: %HT%SY" /tmp/*
/tmp/bar: Symbolic Link -Gt] /tmp/foo
/tmp/output25568: Regular File
/tmp/blah: Directory
/tmp/foo: Symbolic Link -Gt] /
デバイス一覧を、それらのタイプ・メジャーデバイス番号・マイナデバイス番号
付きで表示し、タブと改行で整形するには、次のフォーマットを使用可能です:
stat -f "Name: %N%n%tType: %HT%n%tMajor: %Hr%n%tMinor: %Lr%n%n" /dev/*
[...]
Name: /dev/wt8
Type: Block Device
Major: 3
Minor: 8
Name: /dev/zero
Type: Character Device
Major: 2
Minor: 12
ファイルに対して設定されたそれぞれの権限を特定するには、
次のフォーマットを使用可能です:
Gt] stat -f "%Sp -Gt] owner=%SHp group=%SMp other=%SLp" .
drwxr-xr-x -Gt] owner=rwx group=r-x other=r-x
最も最近修正された 3 個のファイルを特定するには、
次のフォーマットを使用可能です:
Gt] stat -f "%m%t%Sm %N" /tmp/* | sort -rn | head -3 | cut -f2-
Apr 25 11:47:00 2002 /tmp/blah
Apr 25 10:36:34 2002 /tmp/bar
Apr 24 16:47:35 2002 /tmp/foo
索引
関連項目
file(1),
ls(1),
lstat(2),
readlink(2),
stat(2),
printf(3),
strftime(3)
索引
歴史
ユーティリティは
Nx 1.6
に登場しました。
索引
作者
An -nosplit
ユーティリティは
An Andrew Brown
Aq atatat@NetBSD.org
が記述しました。
このマニュアルページは
An Jan Schaumann
Aq jschauma@NetBSD.org
が記述しました。
索引
Index
- 名称
-
- 書式
-
- 解説
-
- フォーマット
-
- 終了状態
-
- 使用例
-
- 関連項目
-
- 歴史
-
- 作者
-
Time: 07:06:19 GMT, January 12, 2009