findコマンドは次の出力を提供します。
[root @ localhost /]#find var / log / -iname anaconda。* var / log / anaconda.log var / log / anaconda.xlog var / log / anaconda.yum.log var / log / anaconda.syslog var / log / anaconda.program.log var / log / anaconda.storage.log
tarと組み合わせると、次の出力が表示されます。
[root @ localhost /]#find var / log / -iname anaconda。* -exec tar -cvf file.tar {} \;
var / log / anaconda.log
var / log / anaconda.xlog
var / log / anaconda.yum.log
var / log / anaconda.syslog
var / log / anaconda.program.log
var / log / anaconda.storage.log
ただし、tarファイルを一覧表示している間、単一のファイルのみが表示されます
[root @ localhost /]#tar -tvf file.tar -rw ------- root / root 208454 2012-02-27 12:01 var / log / anaconda.storage.log
ここで私が間違っているのは何ですか?
xargsを使用すると、この出力が得られます。
[root @ localhost /]#find var / log / -iname anaconda。* | xargs tar -cvf file1.tar
二番目の質問
varの前に/を入力find /var/logしているときに、このメサージュtarを与える理由を意味します:メンバー名から先頭の `/ 'を削除する
[root @ localhost /]#find / var / log / -iname anaconda。* -exec tar -cvf file.tar {} \;
tar:メンバー名から先頭の「/」を削除します
/var/log/anaconda.log
tar:メンバー名から先頭の「/」を削除します
/var/log/anaconda.xlog
tar:メンバー名から先頭の「/」を削除します
/var/log/anaconda.yum.log
tar:メンバー名から先頭の「/」を削除します
/var/log/anaconda.syslog
tar:メンバー名から先頭の「/」を削除します
/var/log/anaconda.program.log
tar:メンバー名から先頭の「/」を削除します
/var/log/anaconda.storage.log
簡単な形式では、次の2つの違いは何ですか?
find var/log そして find /var/log
{} +の代わりに{} \;1つの引数に発見することでしょうグループの結果
findコマンドを進めていくには、検索語を引用する必要があります。時々ではなく常に機能します。