É possível criar um diretório de destino, semelhante a mkdir -p
, onde eu possa definir um diretório de destino inexistente no meu comando tar, e o tar criará o diretório para mim?
Eu sei que posso redirecionar a saída para um diretório usando tar -C /target/dir
, mas isso não funcionará se o diretório de destino não existir.
Respostas:
fonte
mkdir -p /target/dir && tar -C $_
$_
é um parâmetro especial no Bash que se expande para o último argumento do comando anterior.Na página de manual do comando tar
----- teste
teste 1
// se o nome tgz for igual ao root_dir do archive, nenhum outro efeito
teste 2
// se o nome tgz não for o mesmo que root_dir do archive, crie um diretório de nível superior
fonte
Isso fez mais sentido para mim:
mkdir -p /create/folder && tar -zxf haroopad-v0.13.0_x64.tar.gz -C /create/testfolder
mkdir
faz a pasta, embora eu não entenda bem a-p
opção.&&
permite executar um segundo comando. Eu usei switches tar típicos, mas no final-C
é usado para alterar diretórios e extrair para o local necessário.referência: extrair-arquivos-contidos-em-arquivo-tar-gz-para-novo-diretório-nomeado-arquivo
fonte
/create
se não existir.Se você não conhece os caminhos a serem criados ...
Obtenha os caminhos necessários no arquivo tar e crie-os ...
fonte