Em alguns casos um funciona melhor que o outro, por exemplo tamanho do arquivo, impossibilidade de compactar, etc?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Em alguns casos um funciona melhor que o outro, por exemplo tamanho do arquivo, impossibilidade de compactar, etc?
Opa Max, no geral é a mesma coisa. O que não fica claro é: sem o redirecionamento, o arquivo compactado é criado ou não? Quando você redireciona a saída, você informa ao comando que depois de compactar (em memória) o resultado deve ser gravado em um arquivo. Caso contrário, o arquivo não chega a ser criado. Você chegou a testar?
Vamos em parte estou entendendo: - O comando que compacta sem inserir dados:
zip compac.zip workspace
O comando compactar colocando informações, porém pode não ser colocado infomções e por isso tem que realizar uma verificação
zip -r compac.zip workspace
O comando TAR é feito com redirecionamento, como se fosse uma ligação fechada os dados chegam ao seu destino.
tar -cz workspace > compac.gz
Opa Max, espera, o funcionamento do zip e do tar é que tem essa diferença. O tar não cria o arquivo compactado diretamente, o zip cria. O tar no caso compacta os arquivos na memoria mas não cria o arquivo final pronto, apenas quando você redireciona ou usa a opção -f.
tar -cf compac.gz teste.txt
ou com redirecionamento
tar -cz teste.txt > compac.gz
O comando zip já cria o zip diretamente então você não precisa de redirecionamentos. O -r não é pra verificação em si, é outra coisa.