Como faço recursivamente criar uma pasta dentro de outra pasta inexistente?

7

Eu quero criar esta pasta: $HOME/a/b/c/d enquanto $HOME/a não é criado! É possível por uma linha no Terminal?

    
por mini 15.03.2014 / 05:41

2 respostas

13

Você pode usar a opção mkdir with -p do comando para criar uma pasta dentro de outra pasta inexistente. Considere um exemplo,

mkdir -p "$HOME/a/b/c/d"

Onde as pastas a , b , c e d não existem na página inicial antes de executar o comando. Após a execução do comando, todas essas pastas serão criadas recursivamente uma dentro da outra.

Você pode ver em man mkdir

-p, --parents
          no error if existing, make parent directories as needed
    
por souravc 15.03.2014 / 05:48
1

Aqui está a resposta para a pergunta, abaixo o comando fará o trabalho que você quer da maneira que você quiser :) Isso pode ser feito com o comando mkdir (make directory) como mostrado abaixo:

root@test:~# sudo mkdir -p /abcd/efgh/ijkl/mnop/qrst/uvwx/yz/  
root@test:~#   

Se você quiser mostrar os diretórios que criou enquanto está funcionando, use verbose como mostrado abaixo:

root@test:~# sudo mkdir -pv /abcd/efgh/ijkl/mnop/qrst/uvwx/yz/  
mkdir: created directory '/abcd'
mkdir: created directory '/abcd/efgh'  
mkdir: created directory '/abcd/efgh/ijkl'  
mkdir: created directory '/abcd/efgh/ijkl/mnop'  
mkdir: created directory '/abcd/efgh/ijkl/mnop/qrst'  
mkdir: created directory '/abcd/efgh/ijkl/mnop/qrst/uvwx'  
mkdir: created directory '/abcd/efgh/ijkl/mnop/qrst/uvwx/yz/'  
root@test:~#  

Aprecie !! :)

    
por Hrish 17.02.2015 / 11:35