この質問の構文を見ました。ext4の生成が空です。
sudo debugfs -R "stat <$(stat -c %i /home/user/path/to/file)>" /dev/sda5
私はコマンドの置き換え$()
と``
。
私は<()
構文>()
を漠然と知っています。
しかし、私はそのようなことを見たことがありません<$()>
。
それで、それは何をしますか?
答え1
<$()>
<
これは、ファイル(部分)から読み取るコマンドの有効なbash構文です。ここで、ファイル名は$()
コマンド置換(部分)を使用して生成され、出力を別のファイル(>
部分)にリダイレクトします。例:
$ echo text > FILE
$ wc < "$(echo FILE)" > WC_OUT
$ cat WC_OUT
1 1 5
ただし、あなたがリンクした回答では、<$()>
パラメータにtoが使用されましたdebugfs
。内容man debugfs
は次のとおりです。
統計ファイルの仕様
inode filespecのinode構造の内容を表示します。
そして:
filespecパラメーターは2つの形式で指定できます。最初の形式は、<2>のように山かっこで囲まれたinode番号です。
この場合:
sudo debugfs -R "stat <$(stat -c %i FILE)>" /dev/sda5
シェルでは、次のように展開されます。
sudo debugfs -R "stat <4476834>" /dev/sda5
これは有効なdebugfs
コマンドです。確認してくださいecho
:
$ echo sudo debugfs -R "stat <$(stat -c %i FILE)>" /dev/sda5
sudo debugfs -R stat <4476834> /dev/sda5