Comando de compactação do Linux
Nos sistemas operacionais do tipo Unix, o comando compress compacta um arquivo para que ele se torne menor. O nome do arquivo compactado recebe a extensão .Z .
Este documento cobre a versão GNU / Linux do compress .
Descrição
O utilitário de compactação reduz o tamanho dos arquivos usando a codificação adaptável Lempel – Ziv . Cada arquivo é renomeado com o mesmo nome mais a extensão .Z . Um argumento de arquivo com extensão .Z será ignorado, exceto que causará uma saída de erro após o processamento de outros argumentos. Se a compactação não reduzir o tamanho de um arquivo, o arquivo será ignorado.
Na maior parte do tempo de modificação, tempo de acesso, sinalizadores de arquivo, modo de arquivo, ID do usuário e ID do grupo, conforme permitido pelas permissões, são mantidos no novo arquivo.
Se nenhum arquivo for especificado ou um argumento de arquivo for um traço único (‘ – ‘), a entrada padrão será compactada na saída padrão. Se os arquivos de entrada e saída não forem arquivos regulares, as verificações de redução de tamanho e substituição de arquivo não serão executadas, o arquivo de entrada não será removido e os atributos do arquivo de entrada não serão mantidos no arquivo de saída.
O utilitário de compactação usa um algoritmo Lempel-Ziv modificado. Substrações comuns no arquivo são substituídas primeiro pelos códigos de 9 bits 257 e superiores. Quando o código 512 é atingido, o algoritmo alterna para códigos de 10 bits e continua a usar mais bits até que o limite especificado pela opção -b ou seu padrão seja atingido.
Depois que o limite é atingido, a compactação verifica periodicamente a taxa de compactação. Se estiver aumentando, o compress continuará usando o dicionário de código existente. No entanto, se a taxa de compactação diminuir, a compactação descarta a tabela de substrings e a reconstrói do zero, o que permite que o algoritmo se adapte ao próximo “bloco” do arquivo.
A quantidade de compactação obtida depende do tamanho da entrada, do número de bits por código e da distribuição de substrings comuns. Normalmente, textos como código fonte ou inglês são reduzidos de 50 a 60%! A compactação geralmente é muito melhor do que a alcançada pela codificação de Huffman (conforme usada no pacote de comandos histórico) ou pela codificação adaptativa de Huffman (conforme usada no comando histórico ” compact “) e leva menos tempo para calcular.
Sintaxe
comprimir [-fv] [-b bits ] [ arquivo ...]
comprimir -c [-b bits ] [ arquivo ]
Opções
-b bits | O tamanho do código é limitado a bits , que devem estar no intervalo 9 .. 16 . O padrão é 16 . |
-c | A saída compactada ou não compactada é gravada na saída padrão. Nenhum arquivo foi modificado. A opção -v é ignorada. A compactação é tentada mesmo se os resultados forem maiores que o original. |
-f | Os arquivos são substituídos sem solicitar confirmação. Além disso, os arquivos são compactados, mesmo que não sejam realmente reduzidos em tamanho. |
-v | Imprima a redução percentual de cada arquivo. Esta opção será ignorada se a opção -c também for usada. |
Exemplos
comprimir -v bigfile.exe
Compacte bigfile.exe e renomeie esse arquivo para bigfile.exe.Z .
Comandos relacionados
ln – Crie um link, ou um link simbólico, para um arquivo ou diretório.
descompactar – Extrai arquivos de arquivos compactados.
zcat – Imprima o conteúdo não compactado dos arquivos compactados.
zip – Um utilitário de compactação e arquivamento.