Como extrair arquivos para outro diretório usando 'tar' comando?

Eu pensei que o ar archive.tar /users/mylocation iria funcionar, mas não funciona't. Como eu posso fazer isso?

Solução

Para extrair um arquivo para um diretório diferente do atual, utilize a opção -C', ou--diretório', tar, como em

tar -xf archive.tar -C /target/directory

Note que o diretório alvo tem que existir antes de executar esse comando (ele pode ser criado por mkdir /target/directory).

Leia a página do manual (comando: man tar) para outras opções.

Comentários (8)

Note que se o seu tarball já contém um nome de diretório que você quer mudar, adicione a opção --strip-components=1:

tar xf archive.tar -C /target/directory --strip-components=1
Comentários (3)

Combinando as respostas e comentários anteriores:

Para simplesmente extrair o conteúdo e criar o diretório de destino, se ele estiver faltando:

mkdir -p /target/directory && tar xf archive.tar -C /target/directory

Para extrair e também remover o diretório raiz (primeiro nível) no zip

mkdir -p /target/directory && tar xf archive.tar -C /target/directory --strip-components=1
Comentários (0)