Sobre o tar
comando
Se for executado o comando:
tar -czf numbers.tar.gz numbers
O numbers.tar.gz
arquivo é criado - do numbers
- no diretório atual
Mas para fins de script - testando - se for executado:
tar -czf ~/numbers.tar.gz /home/username/numbers
tar -czf /home/username/numbers.tar.gz /home/username/numbers
Ambos os comandos funcionam conforme o esperado, mas sempre aparece a seguinte mensagem:
- "tar: Removendo `/' inicial dos nomes dos membros"
Isso acontece porque pelo menos um caminho - neste caso para ambos tem/inclui o /
caractere. Eu sei que não é um erro, mas sendo curioso
Pergunta
- Como evitar mostrar a mensagem "tar: Removendo '/' principal dos nomes dos membros" no terminal?
Estou assumindo que é uma mensagem de informação ou de aviso e, para fins de script, é necessário definir os caminhos para tar.gz
criar e a fonte directory
para compactar - e não quero ver no terminal essa mensagem. É possível? com que opção?
Ter caminhos absolutos como membros do arquivo é uma má ideia. É por isso que o GNU
tar
realmente remove a inicial/
por padrão (dos nomes dos membros do arquivo e dos destinos de links físicos, se houver).Se você está feliz por
tar
fazer essa remoção, mas deseja remover o aviso, você pode fazer a remoção por conta própria:Ou:
Para que os membros do arquivo sejam
numbers/file
em vez dehome/username/numbers/file
.Você pode dizer
tar
para não fazer a remoção com--absolute-names
/-P
nesse caso, você obterá/home/username/numbers/file
como membros do arquivo.Nas extrações, a maioria das
tar
implementações também removerá a liderança/
por padrão como medida de segurança. Se você extraí-lo de dentro do/tmp/test
diretório, os arquivos serão extraídos como/tmp/test/home/username/numbers/file
se estivessem armazenados no arquivo comohome/username/numbers/file
ou/home/username/numbers/file
, a menos que você passe a opção-P
/--absolute-names
novamente (embora fazer acd /
ou passar a-C /
faça mais sentido se você quiser os caminhos para ser interpretado como relativo à raiz, o mesmo que caminhos absolutos).