いくつかのファイルから zip ファイルを作成しようとしていますが、zip を解凍すると 1 つのファイルしか取得されません。
tar cfvz test.zip file1.mp3 file2.mp3 file3.jpg
そして、test.zip を解凍すると、「test」ファイルだけが取得されます。zip のサイズは問題ありませんが、解凍時に同じファイル (「file1.mp3 file2.mp3 file3.jpg」) を取得するように動作させる方法がわかりません。
答え1
これは私にとってはうまくいきました:
$ tar -czvf test.tar.gz ./file1 ./file2 ...
$ tar -tzf test.tar.gz
./file1
./file2
# to extract do:
$ tar -xzf test.tar.gz
オプションを渡した後、f
作成するアーカイブのファイル名を指定する必要があります。
ああ、ファイルを解凍する場合zip
、ディレクトリは取得されませんが、代わりに tarball が取得されます。tarball にはすべてのファイルが含まれています。以下を使用します。
tar -xf test
そして、すべてのファイルが表示されるはずです。
もしご希望であれば普通zip ファイルの場合は、/ tandemzip
の代わりにコマンドを使用します。また、正しいファイル サフィックスを追加するのも良い方法です。tar
gz
- gzip 付きの tar (例
tar czvf ...
): filename.tar.gz - bzip2 を使用した tar (例
tar cjvf ...
): filename.tar.bz2 - 圧縮なしの tar (例
tar cvf ...
): filename.tar
答え2
まず、圧縮ファイルに という名前を付けたとしても.zip
、それは ZIP ファイルではなく TAR および GZIP ファイルなので、使用する正しいファイル拡張子は.tar.gz
または になります.tgz
。
さて、圧縮ファイルを解凍するのに使用したコマンドは何でしょうか? ZIP ユーティリティを使用した場合、拡張子によって混乱し、ファイルを解凍せずに圧縮解除しただけかもしれません。その結果、実際には TAR ファイルである単一のファイルが作成される理由がこれで説明できます。untar ユーティリティ (または コマンドtar -xf test
) を使用すると、その中のすべてのファイルが復元されるはずです。
答え3
ファイルを抽出するには
tar xvfz test.zip
デフォルトでは、すべてのファイルは現在の場所からの相対パスから取り出されるので、test.zipにmyfile.txt dir1/myfile.txtが含まれている場合は、両方のファイルがzipから取り出されます。