日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
STAT(1) FreeBSD 一般コマンドマニュアル STAT(1) 名称 stat, readlink -- ファイルの状態を表示する 書式 stat [-FHLnq] [-f format | -l | -r | -s | -x] [-t timefmt] [file ...] readlink [-fn] [file ...] 解説 stat ユーティリティは、file によって指されるファイルに関する情報を表示し ます。指定されたファイルの読み込み、書き込みまたは実行パーミッションは、 要求されませんが、ファイルに至るパス名でリストされているすべてのディレク トリは、検索可能でなければなりません。引数が与えられないなら、stat は、標 準入力のためのファイル記述子に関する情報を表示します。 readlink として起動されるとき、シンボリックリンクのターゲットだけが印刷 (表示) されます。与えられた引数がシンボリックリンクでなく、-f オプション が指定されないなら、readlink は、何も表示せず、エラーで終了します。-f オ プションが指定されるなら、出力は、再帰的に与えられたパスのあらゆる構成要 素のあらゆるシンボリックリンクをたどることによって、正規化されます。 readlink は、絶対パスと相対パスの両方を解決して、file に対応する絶対パス 名を返します。この場合、引数は、シンボリックリンクである必要はありませ ん。 表示される情報は、与えられた引数で lstat(2) を呼び出し、返される構造体を 評価することによって取得されます。デフォルトの形式は、st_dev, st_ino, st_mode, st_nlink, st_uid, st_gid, st_rdev, st_size, st_atime, st_mtime, st_ctime, st_birthtime, st_blksize, st_blocks と st_flags フィールドの順 序で表示します。 オプションは、次の通りです: -F ls(1) などのように、ディレクトリである各パス名の直後にスラッシュ (`/') を、実行形式であるそれぞれの後にアスタリスク (`*') を、各シ ンボリックリンクであるそれぞれの後にアット記号 (`@') を、各ホワイ トアウトの後にパーセント記号 (`%') を、各ソケットの後に等号 (`=') を、FIFO であるそれぞれの後に縦棒 (`|') を表示します。-F の使用 は、-l の意味も含みます。 -H NFS ファイルハンドルの 16 進数表現として各引数を扱い、lstat(2) の 代わりに fhstat(2) を使用します。これは、root の特権を要求しま す。 -L lstat(2) の代わりに stat(2) を使用します。stat によって報告された 情報は、ファイルがシンボリックリンクであり、file 自体でないなら、 file のターゲットを参照します。リンクが壊れているか、またはター ゲットが存在しないなら、lstat(2) のエラーが表示され、リンクに関す る情報を報告します。 -n 出力の各部分の終わりに現われる改行を強制しません。 -q stat(2) または lstat(2) への呼び出しが失敗するなら、失敗メッセー ジを抑制します。readlink として実行されるとき、エラーメッセージ は、自動的に抑制されます。 -f format 指定された形式を使用して情報を表示します。有効な形式の記述につい ては、「書式」セクションを参照してください。 -l ls -lT 形式で出力を表示します。 -r 生の情報を表示します。すなわち、stat 構造体のすべてのフィールドに ついて、生の数値 (例えば、基準時点以来の秒単位の時間、など) を表 示します。 -s 変数を初期化するために適切な ``シェルの出力'' 形式で情報を表示し ます。 -t timefmt 指定された形式を使用してタイムスタンプを表示します。この形式は、 strftime(3) に直接渡されます。 書式 書式文字列は、% で始まり、次に、書式化された文字のシーケンスが続き、書式 化される struct stat のフィールドを選択する文字で終る点において、 printf(3) の形式に似ています。% の直後に n, t, % または @ の 1 つが続くな ら、改行文字、タブ文字、パーセント文字、または現在のファイル番号が、印刷 (表示) され、そうでなければ、文字列は、次のように検査されます: 次のオプションのフラグのいずれかは、次の通りです: # 8 進数と 16 進数の出力のために代わりの出力形式を選択します。0 で ない 8 進数の出力は、先導する 0 があり、0 でない 16 進数の出力 は、それに ``0x'' を前に付けます。 + 数値が正または負であるかどうかを示す符号が常に印刷されるべきであ ことをアサートします。負でない数値は、通常、符号を付けて印刷 (表 示) されません。 - 右の代わりに、フィールドの左に文字列出力を整列します。 0 残されたパディングのための充てんする文字を、空白の代わりに、`0' 文字に設定します。 space 負でない符号が付けられた出力フィールドの前に空白を入れます。両方 が使用されるなら、`+' は、空白に優先します。 -x いくつかの Linux 配布で知られているような、より冗長な方法で情報を 表示します。 その後に次のフィールドが続きます: size 最小のフィールド幅を指定するオプションの 10 進数の数値文字列。 prec オプションの精度は、小数点 `.' と最大の文字列長、浮動小数点出力の 小数点の後に現われる数値の数、または、数値の出力に現われる数値の 最小数を示す 10 進数文字列から成ります。 fmt D, O, U, X, F または S の 1 つであるオプションの出力形式指定子。 これらは、それぞれ、符号付き 10 進数出力、8 進数出力、符号なし 10 進数出力、16 進数出力、浮動小数点出力と文字列出力表わします。いく つかの出力形式は、すべてのフィールドに適用されません。浮動小数点 出力は、timespec フィールド (a, m と c フィールド) にのみ適用され ます。 特別な出力指定子 S は、適用可能な文字列形式であるべきなら、出力を 示すために使用されます。次のものと組み合わせて使用されます: amc strftime(3) 形式で日付を表示します。 dr 実際のデバイス名を表示します。 f ls -lTdo のように file のフラグを表示します。 gu グループまたはユーザ名を表示します。 p ls -lTd と同じように file のモードを表示します。 N file の名前を表示します。 T file のタイプを表示します。 Y 出力に `` -> '' を挿入します。Y のためのデフォルト出力形 式は、文字列ですが、明示的に指定されるなら、これらの 4 文 字が先頭に追加されることに注意してください。 sub オプションのサブフィールド指定子 (高い、中間、低い)。p, d, r と T の出力形式にのみ適用します。それは、次のの 1 つを指定できます: H ``高い'' -- r または d からのデバイスのためのメジャー番 号、p の文字列の形式からのパーミッションのための ``user'' ビット、p の数値形式からのファイル ``type'' ビット、と T の長い出力形式を指定します。 L ``低い'' -- r または d からのデバイスのためのマイナ番号、 p の文字列の形式からのパーミッションのための ``other'' ビット、p の数値形式からのファイル ``user'', ``group'' と ``other'' ビット、と T とともに使用されるとき、(このため の L の使用はオプションです) ファイルのタイプのための ls -F スタイルの出力文字を指定します。 M ``中間'' -- p の文字列の出力形式からのパーミッションのた めの ``group'' ビット、または p の数値形式のための ``suid'', ``sgid'' と ``sticky'' ビットを指定します。 datum 次の 1 つである、要求されるフィールド指定子: d file が存在するデバイス (st_dev)。 i file の inode 番号 (st_ino)。 p ファイルのタイプとパーミッション (st_mode)。 l file へのハードリンク数 (st_nlink)。 u, g file の所有者のユーザ ID とグループ ID (st_uid, st_gid)。 r キャラクタとブロックデバイス特殊ファイルのためのデバイス 番号 (st_rdev)。 a, m, c, B file が最後にアクセスされた時刻か、または更新された時刻、 または、inode が最後に変更されたとき、または inode の生成 時刻 (st_atime, st_mtime, st_ctime, st_birthtime)。 z バイト単位の file のサイズ (st_size)。 b file のための割り付けられたブロックの数 (st_blocks)。 k 最適なファイルシステム I/O 操作のブロックサイズ (st_blk- size)。 f file のためのユーザ定義フラグ。 v inode の世代番号 (st_gen)。 次の 5 つのフィールド指定子は、struct stat のデータから直接取り出 されませんが、次の通りです: N ファイルの名前。 R ファイルに対応する絶対パス名。 T ls -F と同じように、または sub フィールドの指定子 H が与 えられるなら、より記述的な形式のいずれかのファイルタイ プ。 Y シンボリックリンクのターゲット。 Z キャラクタまたはブロック特殊ファイルのための rdev フィー ルドから ``major,minor'' に展開し、すべての他のものに対し てサイズ出力を与えます。 % とフィールド指定子だけが必要とされます。O をデフォルトとする p、D をデ フォルトとする a, m と c、と S をデフォルトとする Y, T と N を除いて、ほ とんどのフィールド指定子は、出力形式として U をデフォルトとします。 終了ステータス ユーティリティ stat および readlink は、成功すると 0 で、エラーがあった場 合は >0 で終了します。 使用例 オプションが指定されないなら、デフォルトの形式は、"%d %i %Sp %l %Su %Sg %r %z \"%Sa\" \"%Sm\" \"%Sc\" \"%SB\" %k %b %#Xf %N" です。 > stat /tmp/bar 0 78852 -rw-r--r-- 1 root wheel 0 0 "Jul 8 10:26:03 2004" "Jul 8 10:26:03 2004" "Jul 8 10:28:13 2004" "Jan 1 09:00:00 1970" 16384 0 0 /tmp/bar /tmp/foo から / を指す、シンボリックリンク ``foo'' と仮定すると、次のよう に stat を使用します: > stat -F /tmp/foo lrwxrwxrwx 1 jschauma cs 1 Apr 24 16:37:28 2002 /tmp/foo@ -> / > stat -LF /tmp/foo drwxr-xr-x 16 root wheel 512 Apr 19 10:57:54 2002 /tmp/foo/ いくつかのシェル変数を初期化するために、次のように -s フラグを使用するこ とができます: > csh % eval set `stat -s .cshrc` % echo $st_size $st_mtimespec 1148 1015432481 > sh $ eval $(stat -s .profile) $ echo $st_size $st_mtimespec 1148 1015432481 ファイルがシンボリックリンクであるなら、指されたファイルを含むファイルの 種類のリストを得るために、次の形式を使用することができます: $ stat -f "%N: %HT%SY" /tmp/* /tmp/bar: Symbolic Link -> /tmp/foo /tmp/output25568: Regular File /tmp/blah: Directory /tmp/foo: Symbolic Link -> / タブと改行で書式化された、デバイス、それらのタイプとメジャーとマイナデバ イス番号のリストを取得するために、次の形式を使用することができます: 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 個別のファイルでで設定されたパーミッションを確定するために、次の形式を使 用することができます: > stat -f "%Sp -> owner=%SHp group=%SMp other=%SLp" . drwxr-xr-x -> owner=rwx group=r-x other=r-x 最も最近修正された 3 つのファイルを確定するために、次の形式を使用すること ができます: > 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 ファイルの変更時間を表示するために: > stat -f %m /tmp/foo 1177697733 読み込み可能な形式で同じ変更時間を表示するために: > stat -f %Sm /tmp/foo Apr 27 11:15:33 2007 読み込み可能でソート可能な形式で同じ変更時間を表示するために: > stat -f %Sm -t %Y%m%d%H%M%S /tmp/foo 20070427111533 UTC で同じように表示するために: > sh $ TZ= stat -f %Sm -t %Y%m%d%H%M%S /tmp/foo 20070427181533 関連項目 file(1), ls(1), lstat(2), readlink(2), stat(2), printf(3), strftime(3) 歴史 stat ユーティリティは、NetBSD 1.6 と FreeBSD 4.10 で登場しました。 作者 stat ユーティリティは、Andrew Brown <atatat@NetBSD.org> によって書かれま した。このマニュアルページは、Jan Schaumann <jschauma@NetBSD.org> によっ て書かれました。 FreeBSD 11.2 June 22, 2017 FreeBSD 11.2