bzip2 -c versus -z

1

Queria verificar a compreensão; Ao revisitar o tópico de usar o dd over netcat, experimentei compactar os dados com o bzip2. Na página man, há -c (comprimir ou descomprimir para a saída padrão) e há -z (complemento para -d : força a compactação, independentemente do nome da invocação)

-c é simplesmente uma maneira de forçar a saída para a saída padrão e usar o bzip2 em invocação, o que significa que você deseja compactar os dados se não usar -d ?

    
por Bart Silverstrim 18.03.2014 / 20:09

2 respostas

1

Da página man :

-d --decompress

Force decompression. bzip2, bunzip2 and bzcat are really the same program, and the decision about what actions to take is done on the basis of which name is used. This flag overrides that mechanism, and forces bzip2 to decompress

Como isso diz, bzip2 , bunzip2 e bzcat são realmente os mesmos binários (binários estranhamente hardlinked em vez de links simbólicos para um único binário bzip2 no meu sistema). Quando o programa é executado, ele verifica o nome em que foi executado e age de forma apropriada. bzip2 será compactado por padrão, mas -d fará com que ele seja descompactado. bunzip2 será descompactado por padrão, mas -z fará com que seja compactado. bzcat será descompactado para stdout por padrão, enquanto as outras invocações exigem que a opção -c seja enviada para stdout em vez de um arquivo.

É -c simplesmente uma maneira de forçar a saída para saída padrão e usar bzip2 em invocação, o que significa que você deseja compactar dados se não usar -d?

Então, para responder simplesmente - sim.

    
por 18.03.2014 / 20:28
0

Isso é explicado no manual:

   -d --decompress
          Force  decompression.   bzip2,  bunzip2 and bzcat are really the
          same program, and the decision about what  actions  to  take  is
          done  on  the  basis of which name is used.  This flag overrides
          that mechanism, and forces bzip2 to decompress.

Portanto, quando você chamar bunzip2 , na verdade você está chamando bzip2 , a idéia das sinalizações -c e -d é permitir que você force [de] a compactação, independentemente do nome pelo qual o programa foi chamado .

    
por 18.03.2014 / 20:24