
これを行うことは有効ですか:
{
tar -c dir1
tar -c dir2
} | cat > file.tar
結果の file.tar は有効な tar ボールですか?
そうでない場合、tar ボールをその場で連結するにはどうすればよいでしょうか?
答え1
はい、方法を少し変更すれば可能です。
tar は複数の tar ファイルを連結することをサポートしています。歴史を思い出してください。これはテープ アーカイブです。これは読み取り/書き込みヘッドを通り過ぎるテープ スプールを連想させるデータ ストリームです。これは tar プログラムにとっては単なるデータ ブロックです。
私のテストによれば、どこかに少なくとも 1 つの tar ファイルが必要なようです...
tar cf one.tar buncha files to add
この時点で、さらにファイルを追加するか、別の tar (または複数の tar) を追加することができます。
tar rf one.tar even more files to fill up this pseudo tape
tar Af one.tar two.tar three.tar four.tar
この例では、すべてが「one.tar」に圧縮されます...
'を使用する場合無線周波数'、指定されたtarに新しいファイルを追加します(1.tarここで)一方、アフ、元の tar ファイルに 1 つ以上の tar ファイルを追加します (urk! 再帰的な tar! スティッキー!)
いつものように、マニュアル ページはあなたの友達です。(ゆっくりと、かすかに光るリンのような緑色の友達... でも友達です)
答え2
このように tarball を連結するだけでは期待どおりの動作はしません。次のコマンドを使用して tarball の内容を確認できます。
tar tf file.tar
dir1
これはなしでの内容のみを印刷しますdir2
。 と の 2 つのディレクトリを にアーカイブするにはdir1
、次を使用します。dir2
file.tar
tar cf file.tar dir1 dir2
マニュアルは以下から入手可能です。http://www.gnu.org/software/tar/manual/