Criar recursivamente uma estrutura de diretório aninhada & Todas as subpastas com um único comando

Anonim

A criação de uma série de diretórios aninhados um dentro do outro pode ser feita instantaneamente por meio da linha de comando. Isso facilita muito a criação imediata e recursiva de uma estrutura de diretório complexa de pastas dentro de subpastas de subpastas, sem ter que navegar manualmente em cada diretório para criar um novo diretório e, em seguida, navegar novamente para esse subdiretório para criar outro diretório e assim por diante .Em vez disso, um truque de linha de comando criará o caminho de diretório intermediário completo de uma só vez.

Construir uma estrutura de diretório aninhada da maneira mais fácil requer o uso do familiar comando mkdir, que é usado rotineiramente para criar uma única nova pasta, mas com o anexo do sinalizador -p para especificar um caminho completo para criar. Se você quiser tentar fazer isso sozinho, inicie o aplicativo Terminal encontrado na pasta /Applications/Utilities/ e siga adiante para ver como usar mkdir -p para criar uma série de diretórios em uma única linha de comando usando um caminho especificado.

Criando uma estrutura de diretório recursivamente especificando um caminho

Na forma mais simples, basta especificar o caminho assim para mkdir:

mkdir -p /path/to/make/

O sinalizador -p garante que todas as subpastas sejam feitas recursivamente e no local apropriado.

Como exemplo, digamos que o caminho do diretório aninhado que queremos criar é “/Create/These/Folders/Within/Each/Other/” e nenhuma dessas pastas ou subpastas existe atualmente. Para torná-los todos instantaneamente, basta usar a seguinte string de comando:

mkdir -p ~/Create/These/Folders/Within/Each/Other/

Isso fará com que a pasta “Create” seja o diretório pai, seguido pela série completa de “/These/Folders/Within/Each/Other/” como os diretórios filho aninhados apropriadamente.

Você pode especificar o comprimento de um caminho que deseja construir e ele criará instantaneamente o pai e todos os diretórios filhos intermediários.

Verificando se o diretório e todas as subpastas foram criadas

Para verificar rapidamente se todos os diretórios foram criados e se tudo funcionou conforme o esperado, use o comando 'find' da seguinte forma:

find (diretório pai) -type d -print

Usando o exemplo acima novamente, o comando find seria assim:

find ~/Create/ -type d -print

A saída desse comando seria algo como o seguinte, listando recursivamente do diretório pai para todas as pastas filhas:

$ find ~/Create -type d -print /Criar /Criar/Estas /Criar/Estas/Pastas /Criar/Estas/Pastas/Em /Criar/Estas /Pastas/Em/Cada /Criar/Estas/Pastas/Em/Cada/Outro

Claro, você também pode acessar o Finder para verificar se uma estrutura de pasta complexa foi criada, talvez mais facilmente visualizada na exibição “Lista” e, em seguida, usando os triângulos para abrir recursivamente cada subdiretório e mostre seu conteúdo, parecido com o seguinte:

(Observe que os arquivos .DS_Store são mostrados porque todos os arquivos ocultos estão visíveis)

Esta é uma dica realmente útil que cobrimos há algum tempo como parte de um punhado de truques úteis de linha de comando, mas considerando a conveniência vale a pena cobrir por conta própria.

E sim, usar o Terminal é de longe a maneira mais rápida de fazer isso, já que não há truque semelhante específico para o Mac Finder, embora teoricamente seja possível automatizar a criação de diretórios aninhados por meio do aplicativo Automator no sistema operacional X se assim o desejar. Pelo que vale a pena, o comando mkdir funciona da mesma forma no Mac OS X e no Linux, portanto, você pode usá-lo em várias plataformas, se desejar. Quer mais alguns truques de linha de comando? Estamos protegendo você.

Criar recursivamente uma estrutura de diretório aninhada & Todas as subpastas com um único comando