Linux, コマンド · 1 min read · Sep 15, 2025

初心者のためのLinux statコマンドチュートリアル(5つの例)

時々、Linuxのコマンドラインで作業していると、ファイルについてもっと知りたいと思うことがあります。たとえば、ファイルのサイズ、iノード番号、アクセス権、最終アクセスまたは変更の時間などの情報が必要になることがあります。このすべての情報を一度に提供するコマンドラインユーティリティstatが存在することを知って嬉しいでしょう。

このチュートリアルでは、いくつかのわかりやすい例を使ってstatの基本を説明します。しかし、その前に、ここで言及されているすべての例はUbuntu 16.04LTSでテストされていることを言及する価値があります。

Linux statコマンド

Linuxのstatコマンドは、ファイル(またはファイルシステム)の状態を表示することを可能にします。コマンドの構文は次のとおりです:

stat [OPTION]... FILE...

以下は、statがどのように機能するかをよく理解できるQ&Aスタイルの例です。

Q1. statコマンドの使い方は?

ツールの基本的な使い方は非常に簡単です。知りたいファイルの名前を指定して’stat’コマンドを実行するだけです。

stat [filename]

たとえば:

stat test.txt

これにより、ファイル名、サイズ、ファイルの種類、アクセス権、UIDおよびGID、さらにアクセス/変更/変更時間などの詳細が表示されます。

Q2. statを使って情報を簡潔に表示するには?

簡潔な形式の出力は、他のプログラムが出力を解析しやすくします。’stat’にこの形式で情報を出力させるには、-tコマンドラインオプションを使用します。

stat -t test.txt

Q3. statを使ってカスタム形式で情報を出力するには?

これには、–formatオプションを使用します。このオプションでは、有効な形式シーケンスを入力する必要があり、多くの形式が利用可能です。たとえば、人間が読みやすい形式でアクセス権/権利を取得するには、%Aを使用します。

たとえば:

stat --format=%A test.txt

次の出力が生成されます:

同様に、ファイル名には%n、サイズには%s、ファイル所有者のユーザー名には%Uを使用できます。

Q4. –formatオプションは–printfとどう違うのか?

本質的には、両方のオプションは同じことを行います。違いは出力が生成される方法にあります。–formatは各使用後に改行を出力しますが、–printfの場合は改行が追加されません。マニュアルページでは次のように説明されています:

       -c  --format=FORMAT  
              use the specified FORMAT instead of the default; output  a  new?  
              line after each use of FORMAT  
  
       --printf=FORMAT  
              like  --format, but interpret backslash escapes, and do not out?  
              put a mandatory trailing newline; if you want a newline, include  
              \n in FORMAT

Q5. 入力ファイルがリンクの場合、statが参照解除することを確認するには?

これには専用のオプションもあります:-L。したがって、入力ファイルがリンクであり、コマンド実行時にstatがそれに従うようにしたい場合は、次のように実行します:

stat -L [filename]

結論

statに学習曲線がないと言うのは間違いですが、ツールが要求する努力の量はそれほど多くありません。提供されるコマンドラインオプションの数は限られています。ここでほとんどのオプションについてすでに説明しました。詳細については、ツールのマニュアルページを参照してください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。