Para o GNU gzip
1.6 ou superior, FreeBSD e derivados ou versões recentes do NetBSD, veja a resposta do don_cristi .
Com qualquer versão, você pode usar redirecionamentos de shell como em:
gzip < file > file.gz
Quando não é fornecido nenhum argumento, gzip
lê sua entrada padrão, compacta-a e grava a versão compactada em sua saída padrão. Como bônus, ao usar redirecionamentos de shell, você não precisa se preocupar com arquivos chamados "--help"
ou "-"
(esse último ainda é um problema para gzip -c --
).
Outro benefício sobre gzip -c file > file.gz
é que, se file
não puder ser aberto, o comando falhará sem criar um file.gz
vazio (ou sobrescrevendo um file.gz
existente) e sem executar gzip
.
Uma diferença significativa em relação a gzip -k
é que não haverá nenhuma tentativa de copiar os metadados de file
(propriedade, permissões, tempo de modificação, nome do arquivo descompactado) para file.gz
.
Além disso, se o file.gz
já existir, ele irá silenciosamente sobrescrevê-lo, a menos que você tenha ativado a opção noclobber
no seu shell (com set -o noclobber
, por exemplo, em shells POSIX).