Desarquivar um arquivo em um diretório específico

2

Executando o comando, acabo com o arquivo em /home/user/Documents/home/user/Documents/ .

tar -xzvf /tmp/file.tar.gz -C /home/user/Documents/
    
por OrigamiEye 07.09.2016 / 20:27

1 resposta

3

Isso está acontecendo porque você usou caminhos absolutos ao criar o arquivamento e, como está usando -C para fazer chdir(2) antes de desarquivar, você verá os caminhos absolutos a partir de onde tem chdir(2) -ed.

Agora, você tem duas opções se quiser usar -C :

  • Use caminhos relativos ao criar o arquivo morto e, em seguida, você pode usar -C como usou ao desarquivar:

    tar -xzvf /tmp/file.tar.gz -C /home/user/Documents/
    

    escolha o destino com cuidado para garantir que ele não tenha a possibilidade de substituir qualquer coisa existente.

  • Altere o diretório para / e use os caminhos absolutos durante o arquivamento e, claro, escolha o caminho chdir(2) com muito cuidado neste caso, pois isso poderia substituir qualquer arquivo existente:

     tar -xzvf /tmp/file.tar.gz -C /
    

    com base no seu exemplo, isso colocará o (s) arquivo (s) em /home/user/Documents/ .

por heemayl 07.09.2016 / 20:37