Como compactar um arquivo no UNIX?

7

Eu quero fazer uma coisa comum " zip ", então meu CW3 o arquivo se torna CW3.zip. Eu tentei usar alguns exemplos de comandos encontrados na internet, mas eles não parecem funcionar.

Eu tentei o seguinte, resultando no erro abaixo:

$ zip CW3
zip error: Nothing to do! (CW3.zip)

Eu também tentei:

compress -If CW3

Bottomline: como faço para compactar um arquivo no UNIX?

Duijf
fonte
Poste o que você tentou e porque está falhando (por exemplo, mensagens de erro).
O pacote zip está instalado? zip são incomuns em * nixes, já que eles usam mais frequentemente derivados de alcatrão (ou seja, tar + gz tar + bzip2 e cada vez mais tar + xz).
Maciej Piechotka
@Macej: Eu acho que está instalado corretamente, "nada a fazer!" é um costume zip saída.
schnaader
Não é uma questão de programação, suspeito. Uma questão de comando do Unix. Site errado.
Tom Zych

Respostas:

7

a sintaxe do zip é

zip archivefile1 file1 file2 file3

para compressão,

unzip archivefile1

para descompressão.

Então, no seu caso, para compactação:

zip CW3.zip CW3

Vejo Aqui .

schnaader
fonte
3

Se você é flexível sobre o formato, você pode compactar um arquivo no Unix fazendo exatamente isso :-)

 compress some_file

desvantagem: você precisa especificar cada arquivo para compactar.

Você também pode usar zip, nem sempre disponível em plataformas UNIX ou gzip. Enquanto compress e gzip apenas comprima um único arquivo, zip é uma ferramenta que lida com pacotes de um ou vários arquivos ou diretórios e compactação de uma só vez. A filosofia tradicional do UNIX é ter uma ferramenta para um trabalho, tornando mais fácil para o criador da ferramenta fazer com que a ferramenta seja excelente em um único trabalho, explicando porque compress e gzip compactam apenas e não empacotam. Para você, como usuário, isso significa que você usará uma ferramenta para empacotamento e outra para compactar o pacote (ou "arquivamento"), se você não estiver usando o zip, mas o UNIX nativo tar, o arquivador de fitas, para empacotar primeiro:

tar -c -f archive_name.tar some_file some_dir

vai embalar some_file e some_dir, recursivamente, no arquivo archive_name.tar.

agora comprima:

gzip archive_name.tar

lhe dará o arquivo compactado archive_name.tar.gz (e elimine o original archive_name.tar ).

Mas espere, há mais: na verdade, é tão comum compactar arquivos, que o tar pode chamar gzip, em um comando:

tar -c -z -f archive_name.tar.gz some_file some_dir

Darei à você archive_name.tar.gzcontendo some_file e some_dir, empacotado recursivamente e compactado.

Para mais informações:

man 1 tar
Florenz Kley
fonte
cara, se você realmente gasta tempo fazendo julgamentos de gosto sobre minhas declarações, por que não corrigir os erros de digitação também?
Florenz Kley
1

zip geralmente não é instalado por padrão. É mais uma ferramenta de arquivamento do que uma única ferramenta de compactação de arquivos.

Ou gzip ou compress deve ser instalado. São ferramentas de compactação de arquivos que adicionam .gz ou .Z extensão para o arquivo compactado. o bzip2 programa também pode ser instalado.

gzip e bzip2 são geralmente instalar com um conjunto de programas para cat, diffou grep arquivos. Estes seriam zcat, zdiffe zgrep ou bzcat, bzdiffe bzgrep respectivamente.

BillThor
fonte
0

Existem muitas maneiras de fazer

primeira maneira: zip            exemplo zip cw3.zip * .sh

O comando acima irá zipar todos os arquivos * .sh em cw3.zip

segunda maneira: Se você quiser zipar todos os arquivos que estão em sub-diretórios também            zip -r            exemplo zip cw3.zip * .sh

Harkirat Singh
fonte