Qual é a diferença em vários comandos para compactar arquivos no linux?

0

Quais são os comandos para compactar arquivos no linux e quais são as diferenças entre eles? (por exemplo: tar, gzip, rar).
Eu estou trabalhando no Linux Mint 11 e fazendo um script para compactar arquivos. Eu preciso:

    1. suporte para criptografia de senha (e descriptografia)
    2. suporte para divisão de arquivo
    3. suporte para nível de compressão

Qual tipo de compactação posso usar no Linux Mint 11 (14 eventualmente) e é o melhor para mim?

    
por Nojas 03.05.2013 / 12:11

2 respostas

2

Primeiro de tudo, alguns dos comandos são usados para fazer arquivos - ie. um arquivo que contém outros arquivos, geralmente com estrutura de diretórios, propriedade, permissões e datas. Os mais comuns são ar (usado ao criar bibliotecas), tar (TapeARchive) e cpio (CoPyInOut).

Então nós temos alguns comandos que são usados para comprimir arquivos - ie. fazendo com que o arquivo ocupe menos espaço no disco. A compactação também pode ser feita em arquivos. Os programas de compactação mais comuns são gzip , bzip2 , xz , 7zip ... além dos dois mais antigos, compress e compact .

Isto está de acordo com a filosofia Unix, onde cada comando faz apenas uma coisa (mas faz bem) ... aqui, qualquer cria arquivos ou comprime um arquivo - mas não ambos. É claro que um comando pode chamar outro, pois tar pode chamar gzip ou bzip2 .

Para o Windows, é mais comum criar programas que combinam tarefas relacionadas - ou melhor, para o usuário tarefas aparentemente relacionadas ... Como criar, arquivar e compactar - mesmo que sejam tarefas muito diferentes . Consequentemente, também temos algumas ferramentas no Unix / Linux para manipular - e, às vezes, criar - esses arquivos. zip , rar e arj são exemplos de tais arquivos, que são mais ou menos suportados pelo Linux. Normalmente, eles compactam e arquivam de uma só vez (por exemplo, zip primeiro compactam os arquivos e, em seguida, criam um arquivo dos arquivos compactados).

rar e zip do AFAIK conhecem algum tipo de "criptografia" e senha, mas são bastante ruins. Você provavelmente estaria em melhor situação (bem como mais corretamente no Unix) para usar uma ferramenta separada para criptografar e / ou proteger os arquivos com senha - talvez gnupg ou truecrypt ?

Pelo menos, zip , rar e tar suportam a criação de arquivos de várias partes. No entanto, um outro "caminho Unix" aceitável para fazê-lo; Seria usar split no arquivo descompactado (tar ou cpio) e compactar cada parte separadamente, ou no arquivo compactado (por exemplo, com bzip2) - e depois usando cat para mesclar as partes. Dividir o arquivo compactado talvez seja melhor, pois após a fusão, o programa de compactação (por exemplo, bzip2) detectaria quaisquer erros. Embora a compactação de cada parte individualmente, garantiria que as outras partes pudessem ser recuperadas (com a maioria de seus arquivos) se uma parte estivesse danificada.

    
por 03.05.2013 / 15:32
0

Em geral, o bzip é melhor na compactação do que o (g) zip, e o 7zip é melhor que o bzip. Tar é para agrupar arquivos em um arquivo grande e não se comprime. É frequentemente usado em conjunto com uma ferramenta de compactação. AFAIK todos os formatos podem lidar com criptografia, divisão e o nível de compactação, mas nem todas as ferramentas podem usar essas opções.

Isso vai tar e comprimir. Eu não sei em que ordem, mas acho que o arquivo é primeiro compactado e, em seguida, adicionado ao arquivo. Os arquivos originais ficam onde estão.

tar -czvf test.tgz test

Outra opção é o gzip, mas isso só funciona em arquivos únicos

gzip test

Isso compactará o arquivo e o adicionará a um novo arquivo. Quando tudo estiver pronto, o arquivo de teste é excluído, acredito.

    
por 03.05.2013 / 12:24