回答:
通常、アーカイブの作成中にルートパーツを保持するにはtar
、--absolute-names
または--absolute-paths
オプションが必要'/'
です。そのように強制しても、抽出は先頭をスキップし'/'
ます。
ただし、先頭にアーカイブがあり、'/'
解凍中にtarがそれをスキップしない場合、NoahDの回答はこの形式で機能するはずです。
pax -r -s ',/mnt,/new/path,' -v -f 13.2.tar
私pax
は圧縮ファイルを処理しないと思いますので、解凍してからにパイプする必要がありますpax
。
それはこのようになります(あなたがgzipされたアーカイブを持っていると仮定します)
gunzip -c 13.2.tar.gz | pax -r -s ',/mnt,/new/path,' -v
たった今、GoogleでこのWikiページを見つけました。
正規(別名:明示的)と相対(おそらく暗黙的と呼んでいるもの)の違いは/
、最初にaを使用するかどうかです。
たとえば、現在の作業ディレクトリがの/usr/home/bob
場合、次のコマンドはまったく同じ効果があります
tar -xvf foo.tar * tar -xvf ./foo.tar * tar -xvf ./foo.tar ./* tar -xvf /usr/home/bob/foo.tar * tar -xvf /usr/home/bob/foo.tar ./* tar -xvf /usr/home/bob/foo.tar / usr / home / bob / *
しかし、これは本当にあなたの質問ではないと思います。ディスク使用量を確認し、いっぱいでないディレクトリを見つける必要があるようです。これはdf
コマンドで行うことができます。
df -k # space on disk in kilobytes
df -m # as above, but in meg
df -g # as above, but in gig
また、を使用mount
して、どのファイルシステムがどのデバイスにマウントされているかを示すことができます。