Eu tento compactar um arquivo .csv com tar.gz, enquanto estiver no diretório raiz.
O arquivo myfile.csv
está localizado em /mnt/sdb1/
Portanto, o nome do arquivo completo é/mnt/sdb1/myfile.csv
Eu tento salvar o tar.gz em /mnt/sdb1/old_files
Eu tentei assim:
tar -czf /mnt/sdb1/old_files/new.tar.gz mnt/sdb1/myfile.csv
Mas quando eu extraio o arquivo, uma pasta com o nome "mnt" será extraída e contém outra pasta chamada "sdb1", que contém o arquivo.
É possível compactar apenas o arquivo, em vez de copiar todos os diretórios?
Você precisa primeiro e
cd /mnt/sdb1
, em seguida, inicie otar
comando.Para sua informação, você não precisa usar
tar
aqui, pois seu objetivo é aglomerar vários arquivos em um tarball. Como você tem apenas um arquivo aqui, basta usargzip
.fonte
cd
comando antestar
, para que você possa voltar ou usarcd /mnt/sdb1 && tar -czf new.tar.gz myfile.csv && cd /
se preferir um cmd de linha.cd /mnt/sdb1/
, eu estarei no diretório raiz novamente na próxima execução de um comando. Mas sua segunda solução parece lógica para mim, eu tento.Use a
-C
opção para tar:fonte