Estou tentando criar um arquivo zip com alguns arquivos, mas quando extraio o zip, recebo apenas 1 arquivo.
tar cfvz test.zip file1.mp3 file2.mp3 file3.jpg
E depois de extrair test.zip eu só recebo um arquivo de "teste". O tamanho do zip está ok, só não sei como fazer isso funcionar para que na extração eu obtenha os mesmos arquivos: "file1.mp3 arquivo2.mp3 arquivo3.jpg"
Responder1
Isso funcionou para mim:
$ tar -czvf test.tar.gz ./file1 ./file2 ...
$ tar -tzf test.tar.gz
./file1
./file2
# to extract do:
$ tar -xzf test.tar.gz
Depois de passar f
a opção você deve informar o nome do arquivo que está criando.
Ah, e caso você esteja usando zip
para descompactar o arquivo, você não receberá um diretório, mas sim um tarball. Tarball contém todos os seus arquivos. Usar:
tar -xf test
E você deverá ver todos os seus arquivos.
Se você gostaria de ternormalzip, use zip
o comando em vez de tar
/ gz
tandem. Também é uma boa prática adicionar o sufixo de arquivo correto:
- tar com gzip (ou seja
tar czvf ...
): filename.tar.gz - tar com bzip2 (ou seja
tar cjvf ...
): filename.tar.bz2 - tar sem compactação (ou seja
tar cvf ...
): filename.tar
Responder2
Primeiro, mesmo que você tenha nomeado seu arquivo compactado como .zip
, ele não é um arquivo ZIP, mas um arquivo TAR e GZIP, portanto, a extensão de arquivo correta a ser usada seria .tar.gz
ou .tgz
.
Agora, qual é o comando que você usou para extrair o arquivo compactado? Se você usou um utilitário ZIP, pode ter se confundido com a extensão e apenas descompactado o arquivo sem descompactá-lo. Isso explicaria por que o resultado é um único arquivo, que na verdade é um arquivo TAR. Se você usar um utilitário untar (ou o comando tar -xf test
), deverá recuperar todos os seus arquivos de dentro.
Responder3
Para extrair os arquivos você deve fazer
tar xvfz test.zip
e por padrão todos os arquivos aparecerão no caminho relativo a onde você está, então se test.zip contivesse myfile.txt dir1/myfile.txt ambos os arquivos sairiam do zip