まず、私はシェルコマンドについて全く知りません。だから忍耐を持ってください。また、私はOS Xを使用していますが、可能であればUnix互換の答えを受け取ることができればと思います。
コマンドを実行しようとしていますstat -f [some parameters here] [volume name]
。
他の参考文献によると、この形式の最も簡単なコマンドはstat -f /dev/disk0s2
構文的に正確です。しかし、私は以下を持っています:
stat -f /dev/disk0s2
/dev/disk0s2
ここによると(https://www.computerhope.com/unix/stat.htm)たとえば、情報がいっぱいの段落を取得する必要があります。私の場合、statコマンドで取得したブロックサイズに最も興味があります。
こちらも(https://apple.stackexchange.com/questions/42509/how-to-get-hfs-filesystem-blocksize)、ここには「%k、%z、%b」パラメータが記載されています。ただし、統計マニュアル(例:を使用してman stat
)ではそのようなパラメータを見つけることができません。また、そこでなぜ引用符が使用されるのかわかりません(たとえば、見たstat -f %k
ことがあります)。stat -f "%k"
要約すると、3つの質問があります。
1)stat -f /dev/disk0s2
期待した結果が出ないのはなぜですか?
2)%k、%z、%bのパラメータは何ですか?マニュアルに記載されていますか?
3)上記のパラメータの周りの引用符(例:stat -f %k
と)stat -f "%k"
はどういう意味ですか?これはUnixコマンド構文でよく見られるものですか?
よろしくお願いします。
答え1
OS XにプリインストールされているコマンドラインツールはFreeBSDで提供されていますが、多くのオンラインガイドではLinux環境とGNUツールを想定できます。常に同じではありません。
2つのマニュアルページの比較FreeBSD統計そしてGNU統計。 FreeBSDは-f
出力フォーマットを設定し、適切なパラメータを使用します。 GNU stat は、-f
指定されたファイルではなくファイルシステムへの出力を要求し、引数を使用しません。
したがって、1)異なるツールを使用するため、結果が異なり、2)FreeBSDのマニュアルページの「フォーマット」の下にフォーマットオプションが記載されています。 3)引用符は実際にはそれ自体とは関係がなく、stat
シェルに関連しています。シェル特殊文字(スペース、グローバル文字など)を含む?*[]
コマンドラインパラメータは、引用符で囲む必要があります。シェルそれらを扱うことから。しかし、%
特別なものではないので(少なくともこの場合ではない)参照するかどうかは重要ではありません。