2010-07-09 11:58:42 +0000 2010-07-09 11:58:42 +0000
67
67

Comando para 'gzip' uma pasta?

Sou novo no Mac e comecei a comandar coisas rápidas. Como se cria um gzip de uma pasta no Mac OS X? Foi-me dito por algumas pessoas que se quiseres criar um gzip de uma pasta deves ‘tar’ primeiro e depois ‘gzip’. Será isto correcto?

Respostas (6)

132
132
132
2010-07-09 12:10:37 +0000

Tar é a ferramenta de arquivo e gzip é a ferramenta de compressão. A fim de comprimir um directório completo, primeiro é necessário arquivá-lo num único ficheiro. É isso que o trabalho é alcatrão. e depois comprime-se o ficheiro arquivado. Pode fazer ambas as tarefas num único comando de alcatrão com a opção apropriada.

tar -czf folder\_name.tar.gz folder\_name/

Se não quiser fazer um arquivo de alcatrão (pode ser que queira comprimir apenas um único ficheiro), então pode usar o comando gzip directamente.

gzip file.txt

Criará um ficheiro comprimido chamado file.txt.gz

14
14
14
2015-03-25 02:35:06 +0000

Se alguém ainda estiver a encontrar esta pergunta ao procurar “gzip in Mac”, escrevi um guia que pode ser útil a outra pessoa. Aqui vai ele:

Comprimindo

O comando mais básico comprimirá o ficheiro filename.ext e depois substitui-lo por filename.ext.gz no mesmo directório.

gzip filename.ext

Se não quiser perder o seu ficheiro original, então precisa de canalizar a saída de gzip -c para um ficheiro.

gzip -c filename.ext > anotherfile.gz

Podemos também comprimir a partir da entrada padrão, para podermos comprimir a saída de outros comandos.

cat filename.ext | gzip > anotherfile.gz

OS X também vem com os comandos compress e uncompress. Eles fazem um gzip “mais inteligente”, uma vez que não comprime o ficheiro se este crescer após o processo de compressão. O seguinte comando substitui filename.ext por filename.ext.Z no mesmo directório.

compress filename.ext

Descomprimir

Para restaurar um ficheiro ao seu estado natural não comprimido pode usar gzip ou outro dos invólucros. O modo de descompressão do gzip é chamado com a bandeira -d. Este modo irá substituir o ficheiro filename.ext.gz por filename.ext no mesmo directório. Há também um atalho chamado gunzip que fará o mesmo.

gzip -d filename.ext.gz
gunzip filename.ext.gz

Também podemos canalizar o ficheiro descomprimido para a saída padrão para o guardar noutro ficheiro.

gzip -cd filename.ext.gz > anotherfile
gunzip -c filename.ext.gz > anotherfile

Outra forma rápida de ler o conteúdo de um gzip para a saída padrão é zcat, é basicamente o mesmo que chamar gzip -cd mas pode chamar múltiplos ficheiros e tê-los concatenados da mesma forma que os ficheiros de texto concatenados do comando cat. A única desvantagem é que os seus ficheiros precisam de ser sufixados com o sufixo .Z para que funcione…

zcat filename.ext.Z
zcat file_a.Z file_b.Z file_c.Z

Mas não temam! zcat ainda é útil, porque pode descomprimir a partir da saída padrão. Assim, pode basicamente canalizar os seus ficheiros para o zcat para que sejam descomprimidos na janela terminal.

cat filename.ext.gz | zcat

Isto é muito útil se precisar de verificar o conteúdo de um ficheiro muito rapidamente, e pode mesmo guardar a saída do zcat num ficheiro, igualmente fácil.

cat filename.ext.gz | zcat > anotherfile

A embalagem uncompress funciona como gzip -cd mas procura ficheiros com a extensão .Z para os substituir no directório actual, por isso só precisa de especificar o nome do ficheiro que pretende restaurar, mas não há problema se o chamar com a extensão .Z, pois o programa irá ignorá-lo.

compress filename.ext
uncompress filename.ext

Espero que considere o meu guia útil :)

4
4
4
2010-07-09 12:03:04 +0000

MacOS X é Unix pelo que deve funcionar (este trabalho em GNU/Linux)

tar czvf compressed.tar.gz folder
3
3
3
2010-07-09 22:42:42 +0000

Para adicionar à resposta de @taskinoor: se utilizar uma versão de ficheiro único, também conhecido por

gzip file.txt

esteja ciente de que o ficheiro original (file.txt) será removido e terá apenas file.txt.gz

Colocaria isto como comentário mas não teria karma suficiente para o fazer :=)

3
3
3
2010-07-09 12:04:07 +0000

Sim, primeiro tem de fazer alcatrão no directório. O comando de alcatrão pode fazer ambos:

tar -czf archiv.tar.gz mydir/

extraia o seu arquivo:

tar -xzf archiv.tar.gz
1
1
1
2010-07-09 12:04:43 +0000

Sim, isto é correcto. gzip só pode comprimir um ficheiro. tar codifica o conteúdo do directório num único ficheiro, que pode ser posteriormente comprimido usando gzip, bzip2, lzma ou qualquer outra coisa.