Crie um arquivo com o comando "gzip"

Crie um arquivo com o comando "gzip"

Tenho que criar um arquivo com o comando gzip (não tar - é necessário) e o arquivo deve conter arquivos de outro diretório - por exemplo, /etc. Eu tentei usar o comando

gzip myetc.gz /etc

Mas não funcionou.

Responder1

gzipfunciona com arquivos, não com diretórios. Portanto, para criar um arquivo de um diretório que você precisa usar tar(que criará um único tarball a partir de vários arquivos):

tar cvf myetc.tar /etc

ou, para um arquivo compactado:

tar cvzf myetc.tar.gz /etc

Responder2

O Gzip funciona apenas com um único arquivo ou um fluxo de dados canalizados para o gzip. Então você primeiro precisa gerar um arquivo, como no tar, e então você pode compactar ele. A outra opção é compactar todos os arquivos individuais e, em seguida, compactar tudo em um arquivo.

Ambas as soluções são estúpidas e não devem ser usadas. Você deve usar tar com a opção de compactação integrada e fazer tudo em um comando.

Responder3

Se você realmente não tem o tar disponível, você pode usar o gzip para criar um backup de um diretório usando a opção (-r - recursivamente), mas talvez não seja exatamente o que você espera...

Primeiro você precisará copiar seu diretório para outro nome, se quiser manter o diretório original intocável.

#cp -a directory my_gzip_alone_backup

Segundo, você compactará todos os arquivos do diretório recursivamente (-r).

#gzip -r my_gzip_alone_backup

Agora vamos dar uma olhada dentro do my-gzip-alone-backup. Você não terá um único arquivo myfile.gz como espera, mas muitos arquivos compactados recursivamente. Mas não é bom fazer isso com etc por causa dos links simbólicos...

Para descompactar o diretório a mesma lógica pode ser aplicada com gunzip.

Outra forma é converter o diretório em um único arquivo, caso você não tenha tar para fazer isso, mas tenha o utilitário dd, como demonstrado neste post:https://askubuntu.com/questions/626634/converting-a-file-to-directory

informação relacionada