
Eu sei que há muitas perguntas que parecem idênticas, mas ainda não encontrei minha resposta.
Então, vamos descobrir que estou no diretório de trabalho atual:/teste/ Eu gostaria de adicionar a um arquivo 'test.tar.gz' que estará em/teste/arquivar/ todos os arquivos contidos em/teste/arquivos/e então exclua este diretório files/
Tentei :
tar -cz -C archive -f "test.tar.gz" -C files ./* && rm -rf files
Mas sem sucesso.
Alguma ideia ?
Obrigado ! Nico
Responder1
$ tar -zcvf archive/test.tar.gz files
files/
files/1
files/2
files/3
$ tar -zcvf archive/test.tar.gz -C files .
./
./1
./2
./3
dependendo de como você deseja que seu tar seja estruturado.
Responder2
Um único comando como este funcionará assumindo que você já esteja em/test
(tar -cvf - ./files/* | gzip >./archive/test.tar.gz) && rm -rf files
Ao usar, -
estamos vomitando a saída do tar
comando stdout
e, em seguida, canalizando-a para gzip
o qual, por sua vez, redireciona sua saída para./archive