Existe diferença entre gunzip -c e gunzip em termos de utilização do sistema?

2

Existe uma diferença entre zcat/gunzip -c e gunzip além da óbvia de que um deles o envia para o terminal e o outro o descompacta para um arquivo? Eu estou olhando de uma perspectiva de utilização da CPU. Um de nossos clientes mencionou que gostaria de ter um utilitário que pudesse visualizar o conteúdo do arquivo compactado sem descompactá-lo. Eles também deram o exemplo de gzcat , mas eu li sobre gzcat e não consegui encontrar evidências definitivas de que é mais eficiente que gunzip . Eu poderia ver gzcat usando menos IO do que gunzip . Existem outras melhorias? Qualquer ajuda é apreciada.

    
por rahul 07.02.2015 / 04:47

1 resposta

4

gunzip e gzcat são ambos os aliases de conveniência para gzip -d e gzip -cd , respectivamente. Na verdade, se você observar, verá que eles são implementados como scripts de shell que chamam gzip com as opções apropriadas. Portanto, há diferença zero na utilização da CPU ou em outras características de desempenho.

A diferença de E / S poderia encontrar depende da saída estar ou não sendo gravada em um arquivo. Mas isso não depende realmente de como gzip é chamado, pois, por exemplo, todos os comandos a seguir gravam sua saída em um arquivo:

gunzip file.gz
gzcat file.gz >file
gzip -cd file.gz >file

Se você não gravar a saída em um arquivo, mas em um canal, por exemplo, assim:

gzcat file.gz | less
gzip -cd file.gz | mail root

Em seguida, você pode notar uma diferença, mas depende de muitas coisas, como o tamanho do arquivo, com que frequência e por quanto tempo o pipeline está parado, a quantidade de memória intermediária no sistema, etc ...

    
por 07.02.2015 / 05:34