web-dev-qa-db-ja.com

メンバー名から先頭の「/」を削除するtar

追加したときにエラーが発生しました> /dev/null tarコマンドについては、2番目の例で何が起こっているか誰でも知っていますか?

良い:

 tar -cvf $kname /var/www

悪い:

 tar -cvf $kname /var/www > /dev/null

 error:tar: Removing leading `/' from member names
12
Hebing

「良い」バージョンには、見逃したばかりの同じメッセージも表示されます。

動作が気に入らない場合は、マニュアルで「リーディング」を検索してください。最初のヒット:

-P, --absolute-names
       don't strip leading '/'s from file names
12
Karoly Horvath

これは、ファイル($kname)先行する/

これを修正するには、-Cアーカイブファイルのフルパスを指定する代わりに、ディレクトリを変更します。

5
kenorb

バックアップに「/」を付けずにファイルを残し、エラーメッセージを無視するのが最善かもしれません。ファイルをtarで解凍すると、ファイルは自動的に元のディレクトリに戻されるため、Tarは安全対策としてこれを行います。これは危険な場合があり、ほとんどの人はこれを避けたいと思っています。個人的には、 '/'が削除され、復元はディレクトリパスの絶対パスではなく相対パスになるという事実に満足しています。その後、手動でファイルを適切な場所または別の場所に移動できます。これを投稿するだけで、人々が元のファイルを誤って置き換えないようになります。

3
pvella