アンドロイド

LinuxのStatコマンド

’, Â, � etc... How to fix strange encoding characters in WP or other SQL database

’, Â, � etc... How to fix strange encoding characters in WP or other SQL database

目次:

Anonim

stat は、特定のファイルまたはファイルシステムに関する詳細情報を表示するコマンドラインユーティリティです。

この記事では、 stat コマンドの使用方法について説明します。

stat コマンドの使用

stat コマンドの構文は次のとおりです。

stat… FILE…

stat は、1つ以上の入力 FILE 名を受け入れ、コマンドの動作と出力を制御する多数のオプションを含みます。

次の例を見てみましょう。

stat file.txt

出力は次のようになります。

File: file.txt Size: 4030 Blocks: 8 IO Block: 4096 regular file Device: 801h/2049d Inode: 13633379 Links: 1 Access: (0644/-rw-r--r--) Uid: (1000/ linuxize) Gid: (1000/ linuxize) Access: 2019-11-06 09:52:17.991979701 +0100 Modify: 2019-11-06 09:52:17.971979713 +0100 Change: 2019-11-06 09:52:17.971979713 +0100 Birth: -

オプション stat なしで起動すると、次のファイル情報が表示されます。

  • File-ファイルの名前Size-バイト単位のファイルのサイズBlocks-ファイルに割り当てられたブロックの数IO Block-各ブロックのバイト単位のサイズファイルの種類-(例:通常のファイル、ディレクトリ、シンボリックリンク…)デバイス-16進数および10進数のデバイス番号。Inode-iノード番号。Links-ハードリンクの数。Access-数値およびシンボリックメソッドでのファイルのアクセス許可。所有者のIDと名前Context-SELinuxセキュリティコンテキストAccess-ファイルに最後にアクセスした時刻Modify-ファイルのコンテンツが最後に変更された時刻Change-ファイルの属性またはコンテンツが最後に変更された時刻Birth-ファイル作成時間(Linuxではサポートされていません)。

ファイルシステムに関する情報の表示

ファイル自体に関する情報の代わりに、指定されたファイルが存在するファイルシステムに関する情報を取得するには、 -f 、(-- --file-system )オプションを使用します。

stat -f file.txt

コマンドの出力は次のようになります。

File: "package.json" ID: 8eb53097b4494d20 Namelen: 255 Type: ext2/ext3 Block size: 4096 Fundamental block size: 4096 Blocks: Total: 61271111 Free: 25395668 Available: 22265851 Inodes: Total: 15630336 Free: 13979610

-f オプションを指定して stat を呼び出すと、次の情報が表示されます。

  • ファイル-ファイルの名前ID-hex.NamelenのファイルシステムID-ファイル名の最大長基本ブロックサイズ-ファイルシステム上の各ブロックのサイズブロ​​ック:
    • Total-ファイルシステムの合計ブロック数Free-ファイルシステムの空きブロック数Available-非rootユーザーが利用できる空きブロック数
    iノード:
    • 合計-ファイルシステムの合計iノードの数。フリー-ファイルシステムの空きiノードの数。

参照解除(フォロー)シンボリックリンク

デフォルトでは、 stat はシンボリックリンクを追跡しません。 シンボリックリンクでコマンドを実行すると、出力にはシンボリックリンクが指すファイルではなく、シンボリックリンクに関する情報が含まれます。

stat /etc/resolv.conf

File: /etc/resolv.conf ->../run/systemd/resolve/stub-resolv.conf Size: 39 Blocks: 0 IO Block: 4096 symbolic link Device: 801h/2049d Inode: 8126659 Links: 1 Access: (0777/lrwxrwxrwx) Uid: (0/ root) Gid: (0/ root) Access: 2019-11-06 21:12:26.875956073 +0100 Modify: 2018-07-24 11:11:48.128794519 +0200 Change: 2018-07-24 11:11:48.128794519 +0200 Birth: -

シンボリックリンクを間接参照(フォロー)し、シンボリックリンクが指すファイルに関する情報を表示するには、 -L 、(-- --dereference )オプションを使用します。

stat -L /etc/resolv.conf

File: /etc/resolv.conf Size: 715 Blocks: 8 IO Block: 4096 regular file Device: 17h/23d Inode: 989 Links: 1 Access: (0644/-rw-r--r--) Uid: (101/systemd-resolve) Gid: (103/systemd-resolve) Access: 2019-11-06 20:35:25.603689619 +0100 Modify: 2019-11-06 20:35:25.555689733 +0100 Change: 2019-11-06 20:35:25.555689733 +0100 Birth: -

出力のカスタマイズ

stat コマンドには、 -c 、(-- --format="format" )および --printf="format" ように、ニーズに応じて出力をカスタマイズできる2つのオプションがあります。

これら2つのオプションの違いは、2つ以上のファイルがオペランドとして使用される場合、-- --format は各オペランドの出力の後に自動的に改行を追加することです。 --printf は、バックスラッシュエスケープを解釈します。

--format および --printf 使用できるファイルおよびファイルシステム用の多くのフォーマットディレクティブがあります。

たとえば、使用するファイルのタイプのみを表示するには:

stat --format="%F" /dev/null

character special file

任意の数のフォーマットディレクティブを組み合わせて、オプションでそれらの間にカスタムセパレーターを使用できます。 区切り文字には、単一の文字または文字列を使用できます。

stat --format="%n, %F" /dev/null

/dev/null, character special file

改行やタブなどの特殊文字を解釈するには、 --printf オプションを使用します。

stat --printf='Name: %n\nPermissions: %a\n' /etc

は新しい行を出力します:

Name: /etc Permissions: 755

stat は、情報を簡潔な形式で表示することもできます。 この形式は、他のユーティリティによる解析に役立ちます。

-t (-- --terse )オプションを --terse してコマンドを呼び出し、出力を簡潔な形式で出力します。

stat -t /etc

/etc 12288 24 41ed 0 0 801 8126465 147 0 0 1573068933 1573068927 1573068927 0 4096

ファイルおよびファイルシステムのすべてのフォーマットディレクティブの完全なリストについては、端末で man stat または stat --help してください。

結論

stat コマンドは、指定されたファイルとファイルシステムに関する情報を出力します。

Linuxには、特定のファイルに関する情報を表示できる他のコマンドがいくつかあります ls が最もよく使用されますが、 stat コマンドによって提供される情報のチャンクのみを表示します。

stat端子