Pacote de arquivos com tar.gz do diretório raiz

8

Eu tento empacotar um arquivo .csv com tar.gz, estando no diretório raiz.

O arquivo myfile.csv está localizado em /mnt/sdb1/ Portanto, o nome completo do arquivo é /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, o que 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?

    
por Black 20.07.2015 / 15:21

3 respostas

12

use a opção --directory de man tar :

-C,- -directory DIR

change to directory DIR

ou seja:

tar -C /mnt/sdb1/ -czf /mnt/sdb1/old_files/new.tar.gz myfile.csv
    
por 20.07.2015 / 15:31
3

Você tem primeiro cd /mnt/sdb1 e, em seguida, lança o comando tar .

FYI, você não precisa usar tar aqui, pois sua finalidade é aglomerar vários arquivos em um tarball. Como você tem apenas um arquivo aqui, use apenas gzip .

    
por 20.07.2015 / 15:30
1

Use a opção -C para tar:

   -C Directory
        Causes the tar command to perform a chdir subroutine to the
        directory specified by the Directory variable.
    
por 20.07.2015 / 15:31

Tags