Respostas:
A maneira mais fácil, se você particularmente não precisa usar -C
para contar tar
a mudança para algum outro diretório, é simplesmente especificar o caminho completo para o arquivo na linha de comando. Em seguida, você pode estar no diretório que preferir para criar a estrutura de diretório que deseja dentro do arquivo morto.
A seguir, será criado o arquivo /var/www/file.tar.gz
morto e colocado a file1
partir do diretório atual (o que quer que seja) nele, sem informações do caminho do arquivo morto .
tar czf /var/www/file.tar.gz file1
O caminho (para o arquivo morto, os arquivos constituintes ou ambos) também pode ser relativo. Se file1
estiver dentro /tmp
, você estiver dentro /var/spool
e quiser criar o arquivo morto /var/www
, poderá usar algo como:
tar czf ../www/file1.tar.gz /tmp/file1
Há um milhão de variações sobre o tema, mas isso deve ajudá-lo a começar. Adicione a v
bandeira se você quiser ver o que tar
realmente faz.
$PWD
é, parecia mais seguro usar um caminho absoluto no exemplo.
file1
arquivo tar será /tmp
. Isso pode ou não ser o que você espera.
Transformo os dados compactados em um fluxo (-) e renomeio e localizo facilmente (>) onde quer que eu escolha (também sempre tar o caminho relativo (./), para que seja mais fácil lidar com a descompressão)
tar -cvf - ./dir-to-compress/* > /location-of-new-file/filename.tar
-C
é muito mais idiomático (e mais curto).
Eu acho que deveria ser:
tar czf file.tar.gz -C /var/www/ file1
O que funciona para mim. Diz para mudar de diretório e depois escolher o arquivo.
-C
(que não é estranho, pois está documentado vagamente). Para detalhes, consulte serverfault.com/q/416002/86283 .