Tenho certeza de que não sou o único com o seguinte problema: toda vez que preciso descompactar um arquivo no * nix, não consigo lembrar de todas as opções e acabo pesquisando no Google, o que é surpreendente, considerando quantas vezes preciso fazem isto.
Você tem uma boa folha de dicas de compressão? Ou que tal um mnemônico para todas aquelas mudanças desagradáveis no alcatrão?
Estou transformando este artigo em um wiki para que possamos criar uma boa folha de dicas aqui.
Ah, e nas páginas de manual: há uma coisa para a qual elas não são úteis: é descobrir como descompactar um arquivo.
Respostas:
Ou que tal usar o shell com recursos avançados de conclusão (como zsh ou versões recentes do bash) que completarão as opções para você, com ajuda abrangente? :))
Em relação ao alcatrão: basta olhar para o teclado "qwerty". Existem letras "zxcvf" próximas uma da outra. Você precisa dos arquivos "tar czvf file.tar.gz" ou "tar xzvf file.tar.gz".
fonte
z
opção (ou aj
opção para.bz2
arquivos) não é necessária ao extrair com versões modernas do tar. Descompacta automaticamente o arquivo.Resumo da opção Tar
Vocês podem editar isso para adicionar mais opções esotéricas, mas aqui estão os princípios básicos:
Exemplos
Descompacte um arquivo tar.gz: tar zxf tarball.tar.gz
Descompacte um arquivo tar.bz2: tar jxf tarball.tar.bz2
Crie um arquivo tar.gz: tar zcvf tarvall.tar.gz mydir / *
fonte
Há um pequeno script Perl chamado "unp".
... e extrai tudo. Funciona com qualquer arquivo compactado, desde que você tenha os binários certos. E você simplesmente esquece a sintaxe ou qualquer coisa desse tipo. Verifique os repositórios da sua distribuição Linux. Deveria estar lá (pelo menos no Arch, Debian e Ubuntu).
fonte
Realmente, com um uso frequente, faço a diferença entre extrair (x) dados e compactar (c) dados:
Extrair:
Para comprimir:
Além disso, você pode adicionar duas funções também ao seu .bashrc:
Há outra boa função de extração, que detecta a extensão do seu arquivo compactado e faz o trabalho para você:
fonte
Basta digitar
tar --help
e aqui está sua folha de dicas.fonte
Se você tiver problemas para lembrar as opções de alcatrão, tente usar pipes:
zcat file.tar.gz | tar xvf -
bzcat file.tar.bz2 | tar xvf -
Substitua
tar xv
portar tv
para ver apenas o conteúdo do tarball.Pessoalmente, eu uso os seguintes mnemônicos:
Embora "j" e "bzip2" pareçam não ter nada a ver um com o outro, acho fácil lembrar dessa exceção.
Além disso, acho engraçado que o Google substitua o "tar do homem".
fonte
f
opção: apenas recentemente as distribuições de alcatrão são padrãof -
, o padrão histórico éf /dev/rmt0
ou semelhante. Afinal, o tar é o Tape ARchiver.O homem é seu amigo.
man tar
fonte
As três operações mais usadas :
Crie um novo arquivo tar.
Listar o conteúdo de um arquivo.
Extraia um ou mais membros de um arquivo.
As cinco operações avançadas de alcatrão :
Adicione novas entradas a um arquivo morto que já existe.
Adicione cópias mais recentes dos membros do arquivo ao final de um arquivo, se elas existirem.
Adicione um ou mais arquivos preexistentes ao final de outro arquivo.
Excluir itens de um arquivo (não funciona em fitas).
Compare os membros do arquivamento aos seus homólogos no sistema de arquivos.
fonte
Eu sempre leio os comandos em minha mente enquanto digito
comprimir arquivo zip detalhado
extrair arquivo zip detalhado FILE
fonte
Eu faço o seguinte
Para criar um alcatrão:
Para desarmar:
Esses devem ser os principais switches com os quais você precisa se preocupar:
Você pode fazer coisas mais sofisticadas, como tar e untar inline, enquanto tenta mover arquivos entre diretórios da seguinte maneira:
fonte
90% do tempo eu apenas uso
x: extrair
v: ser detalhado (opcional)
f: arquivo de entrada (tar, gz, bzip2, etc ...)
Calma, né? :)
Use o Fileroller ou Ark se você não estiver em um console.
fonte
Eu tenho usado um script Perl chamado
aunpack
, parte do projeto atool , há muitos anos. Então você acabou de executar:aunpack foo.{zip/tar.gz/tar.bz2}
e ele faz a coisa correta com base na extensão do arquivo.O outro benefício
aunpack
é que ele não poluirá o diretório atual com muitos arquivos. Digamos que haja 20 arquivosfoo.zip
que não estejam em um subdiretório. Em vez de vomitar esses arquivos no diretório atual,aunpack
criará umfoo
subdiretório e colocará todos os arquivos lá.fonte
Tudo que você precisa é
tar x
(extrato de stdin),tar c
(tar para stdout),gzip -c
(gzip de stdin para stdout;-1
a-9
para níveis de compressão; mesmo vale parabzip2
) egunzip -c
(gunzip de stdin para stdout) - tudo o resto é tubos.Para tar e gzip:
Para descompactar e descompactar
Se você quiser barras de progresso doces, use pv, que é semelhante ao gato, mas mostra barras de progresso:
fonte
Eu acho que é fácil pensar no que você quer e não apenas em algumas letras.
Para ilustrar, usarei um exemplo de como extrair file.tar.gz:
Como é um arquivo tar, você deve usar o programa tar. Então são as opções:
Isso é demonstrado no exemplo abaixo:
fonte
A maneira que eu lembro é que é sempre "tar XXvf", onde os dois Xs são
Ocasionalmente, você encontra arquivos compactados, mas não tarados, onde você adiciona um ao qualquer tipo de compactação. por exemplo, g un zip ou b un zip2.
Se alguma coisa, eu esqueço o 2 e às vezes digite "bzip".
fonte
você também pode criar um alias. basta adicionar estas duas linhas ao seu
~/.bash_aliases
arquivo:você pode usar
untar foo.tar.gz
para extrair edotar foo.bar
compactar. você pode usar outros aliases fáceis de lembrar.fonte
C reate Z ip para F ilename
e X tracto Z ip com F ilename
fonte