Eu sou novo no material de prompt de comando do Mac. Como você cria um gzip de uma pasta no Mac OS X? Algumas pessoas me disseram que, se você deseja criar um gzip de uma pasta, deve 'tar' primeiro e depois 'gzip'. Isso está correto?
macos
mac
command-line
compression
gzip
thndrkiss
fonte
fonte
objective-c
mas você está perguntando sobre a linha de comando.Respostas:
O Tar é a ferramenta de arquivamento e o gzip é a ferramenta de compactação. Para compactar um diretório completo, primeiro você precisa arquivá-lo em um único arquivo. É isso que o trabalho é alcatrão. e então você comprime o arquivo arquivado. Você pode executar as duas tarefas em um único comando tar com a opção adequada.
Se você não deseja criar um arquivo tar (pode ser que você queira compactar apenas um único arquivo), então você pode usar o comando gzip diretamente.
Ele criará um arquivo compactado chamado file.txt.gz
fonte
-czf
seguirtar
:c
indica que você deseja criar um arquivo tar,z
aplicagzip
- se ao arquivo tar intermediário ef
é o nome do arquivo final subsequentefolder_name.tar.gz
.gzip file.txt
substitui o arquivo original.gzip -k file.txt
para "manter" (não excluir) o arquivo de entrada.Se alguém ainda encontrar essa pergunta ao pesquisar "gzip no Mac", escrevi um guia que pode ser útil para outra pessoa. Aqui vai:
Compressing
O comando mais básico compactará o arquivo
filename.ext
e o substituiráfilename.ext.gz
no mesmo diretório.Se você não quiser perder o arquivo original, precisará canalizar a saída
gzip -c
para um arquivo.Também podemos compactar a partir da entrada padrão, para compactar a saída de outros comandos.
O OS X também vem com os comandos
compress
euncompress
. Eles criam um gzip "mais inteligente", pois ele não comprime o arquivo se ele crescer após o processo de compactação. O comando a seguir substituifilename.ext
porfilename.ext.Z
no mesmo diretório.Descomprimir
Para restaurar um arquivo para seu estado natural descompactado, você pode usar o gzip ou outro dos wrappers. O modo de descompressão do gzip é chamado com a
-d
flag. Este modo irá substituir o arquivofilename.ext.gz
comfilename.ext
no mesmo diretório. Há também um atalho chamadogunzip
que fará o mesmo.Também podemos canalizar o arquivo descompactado para a saída padrão para salvá-lo em outro arquivo.
Outra maneira rápida de ler o conteúdo de um gzip na saída padrão é
zcat
que é basicamente o mesmo que chamar,gzip -cd
mas você pode chamar vários arquivos e concatená-los da mesma maneira que ocat
comando concata os arquivos de texto. A única desvantagem é que seus arquivos precisam ser sufixados com o.Z
sufixo para que funcionem ...Mas não tema!
zcat
ainda é útil, porque pode descomprimir da saída padrão. Então você pode basicamente canalizar seus arquivos para o zcat para descomprimir na janela do terminal.Isso é muito útil se você precisar verificar o conteúdo de um arquivo muito rapidamente, e você pode até salvar a saída do zcat em um arquivo, com a mesma facilidade.
O
uncompress
wrapper funciona assim,gzip -cd
mas procura arquivos com a extensão .Z para substituí-los no diretório atual; portanto, você só precisa especificar o nome do arquivo que deseja restaurar, mas tudo bem se você chamá-lo com a extensão .Z, como o programa irá ignorá-lo.Espero que você ache meu guia útil :)
fonte
MacOS X é Unix, portanto, isso deve funcionar (este trabalho no GNU / Linux)
fonte
Sim, você deve tar o diretório primeiro. O comando tar pode fazer as duas coisas:
extraia seu arquivo:
fonte
Para adicionar à resposta por @taskinoor: se você usar a versão de arquivo único, também conhecida como
esteja ciente de que o arquivo original (file.txt) será removido e você terá apenas file.txt.gz
Eu colocaria isso como comentário, mas não tenho karma suficiente para fazer isso: =)
fonte
gzip --keep file.txt
manterá o original e criaráfile.txt.gz
. Vejagzip --help
.Sim isto está correcto.
gzip
pode compactar apenas um arquivo.tar
codifica o conteúdo do diretório em um único arquivo, que pode ser ainda mais comprimidos usandogzip
,bzip2
,lzma
ou qualquer outra coisa.fonte