tar -C muda de diretório
tar -C /home/user1/ -cvzf dir1.tar.gz dir1
btw, útil para acompanhar as mudanças de diretórios ... use pushd e popd.
pushd .
cd /home/user1
tar cvfz dir1.tar.gz
popd
Digamos que eu tenha um diretório de arquivos em
/home/user1/dir1
e eu quero criar um tar com apenas "dir1" como o diretório principal:
/dir1/file1
/dir1/file2
Eu sei que posso primeiro cd para o diretório
cd /home/user1/
tar czvf dir1.tar.gz dir1
Mas ao escrever scripts, pular de diretório para diretório nem sempre é favorável. Eu estou querendo saber se existe uma maneira de fazer isso com caminhos absolutos sem alterar os diretórios atuais?
Eu sei que sempre posso criar um arquivo tar com caminhos absolutos dentro e usar
--strip-components
ao extrair, mas às vezes nomes de caminho extras são informações particulares extras que você não deseja distribuir com seus arquivos tar.
Obrigado!
Com o gnu tar, você pode criar um arquivo com um diretório base diferente do atual:
tar -c --transform 's,^\.,mybasedir,' .
Adapte a expressão sed às suas necessidades.
OK, também descobri que
tar -czvf file1.tar.gz /home/user1/dir1/../dir1
também funcionou do jeito que eu queria.
tar -C /home/user1/dir -c .
Tags compression tar