Como posso desfazer um gzip incorreto?

1

Antecedentes

Eu estava tentando compactar uma pasta e todos os seus arquivos de forma recursiva. Eu tentei um comando fora do topo da minha cabeça, e foi obviamente errado.

O resultado é que a pasta, e todas as suas subpastas e arquivos, ainda estão no lugar, mas todos os arquivos são compactados.

Por exemplo,

#Folder - filename.php.gz - file2.txt.gz #Subfolder -filename.php.gz etc.

Não tenho certeza de qual comando causou isso. Eu tentei alguns, e mais resultou em um erro. Mas obviamente um deles "funcionou" mas não fez o que eu queria.

Suspeito que este é o comando que causou o problema: gzip -r ocloud/ ocloud.zip

Pergunta

Qual é o comando que eu usaria para reverter isso? Ou seja, deixar todas as pastas e arquivos no lugar, mas descompactá-los?

    
por inspirednz 08.08.2016 / 00:20

2 respostas

3

Você deve poder usar a opção -d para isso:

gzip -r -d ocloud/ ocloud.zip.gz
    
por 08.08.2016 / 00:31
2

O Antron tem a melhor solução com gzip -r -d ocloud/ ocloud.zip.gz , mas só porque outras opções são boas de se ter, você também pode fazer gzip -d $(find directory) quando o diretório é o que contém todos os arquivos gziped. Só para esclarecer, find recursivamente lista todos os arquivos encontrados no diretório especificado. Quando você usa $(someCommand) , someCommand será executado e sua saída substituirá $(someCommand) . Então, na verdade, você estaria fazendo gzip -d file1 subdirectory/file2 subdirectory/subsubdirectory/file3 e assim por diante.

Além disso, a maneira correta de compactar um diretório com o gzip é primeiro transformá-lo em um tarball descompactado com tar -cvf tarball.tar directory e, em seguida, compactar o tarball com gzip tarball.tar . Ao descompactar, você pode repetir isso para trás, como gzip -d tarball.tar.gz e, em seguida, tar -xvf tarball.tar , ou pode deixar o tar fazer tudo para você com tar -xvf tarball.tar.gz .

    
por 08.08.2016 / 02:13

Tags