Início
» LINUX
»
Como usar o Bash para criar diretórios no Linux com o comando mkdir
Como usar o Bash para criar diretórios no Linux com o comando mkdir
Para criar um diretório a partir do Bash no Linux, use o mkdircomando seguido pelo nome do diretório. Por exemplo, ` mkdir projectscd` cria uma pasta chamada `<nome_da_pasta>` projectsdentro do seu diretório de trabalho atual. Você não precisa de um gerenciador de arquivos separado ou de um pacote adicional para criar diretórios normalmente.
Estritamente falando, mkdirnão é um comando interno do Bash. O Bash executa o utilitário de criação de diretórios instalado no sistema; em distribuições GNU/Linux típicas, esse utilitário vem do GNU Coreutils. A documentação atual do GNU Coreutils mkdir descreve a sintaxe padrão e opções úteis como -p, -m, e -v.
Crie um diretório com o comando mkdir.
Abra um terminal e, se necessário, use o comando pwdpara verificar sua localização atual. Em seguida, execute:
mkdir projects
Se o comando for bem-sucedido, normalmente nada será impresso. Confirme o novo diretório com:
ls
Criando um diretório no local atual com mkdir.
Você também pode especificar mkdirum caminho. No Bash, um caminho sem aspas ~se expande para o seu diretório pessoal, então isso cria um diretório archivesdentro da sua pasta pessoal:
mkdir ~/archives
O manual do Bash sobre expansão de til explica como o til ~é expandido. Se o diretório pai não existir, o comando simples mkdirfalha; use `~` -ppara caminhos aninhados.
Crie diretórios aninhados com mkdir -p
A opção -p`or` --parentscria os diretórios pai ausentes conforme necessário. Esta é a escolha mais conveniente ao construir uma árvore de diretórios mais profunda:
mkdir -p ~/work/client/site/assets
Se work`<path>` client, `<path>` ou `<path> site` ainda não existirem, mkdir -po programa os cria. Além disso, não reporta um erro simplesmente porque um componente de caminho existente já é um diretório.
mkdir -pCria diretórios pai ausentes em um único comando.
Para scripts, você pode adicionar -vquando desejar uma confirmação visual do que foi criado:
mkdir -pv ~/work/client/site/assets
Crie vários diretórios de uma só vez.
mkdirAceita mais de um nome de diretório, permitindo criar várias pastas com um único comando:
mkdir docs images backups
Como este guia usa Bash, você também pode usar a expansão de chaves quando vários nomes de diretório compartilham o mesmo caminho:
mkdir -p project/{src,tests,docs}
O Bash expande essa expressão antes de executar o comando mkdir, produzindo `\` project/src, project/tests`\` e ` project/docs\`. O GNU Bash documenta esse comportamento em sua referência de expansão de chaves . A expansão de chaves é um recurso do Bash, portanto, não presuma que um script executado por um sistema estritamente POSIX sho interpretará da mesma maneira.
A expansão de chaves no Bash é uma maneira compacta de criar vários diretórios relacionados.
Nomes de diretórios com espaços e permissões personalizadas
Se o nome de um diretório contiver espaços, coloque-o entre aspas quando for relativo ao diretório atual:
mkdir "Project Files"
Para um caminho dentro do seu diretório pessoal, usar $HOMEaspas duplas internas é mais seguro do que usar um til literal como aspa:
mkdir "$HOME/Project Files"
Não escreva mkdir "~/Project Files"esperando ~que o caractere se expanda; o uso de til impede a expansão normal do til.
O GNU mkdirtambém oferece suporte -mpara definir o modo de permissão do novo diretório. Por exemplo:
mkdir -m 750 private
Essa solicitação concede permissões de leitura, gravação e execução para o proprietário, permissão de leitura e execução para o grupo e nenhuma permissão para os demais. Verifique o resultado com:
ls -ld private
As aspas protegem nomes com espaços, enquanto -mdefinem o modo de permissão de diretório solicitado.
Erros comuns de mkdir
O arquivo já existe: o nome de destino já existe. Se for um diretório existente em um caminho aninhado, mkdir -ppode ser apropriado.
Arquivo ou diretório inexistente: um caminho pai está faltando. Use esta opção mkdir -p path/to/new/folderquando desejar que os caminhos pais ausentes sejam criados automaticamente.
Permissão negada: sua conta não tem permissão para gravar nesse local. Crie o diretório em um local de sua propriedade ou use privilégios administrativos somente quando o local do sistema realmente os exigir.
Os espaços separam o nome: coloque o caminho entre aspas, por exemplo mkdir "$HOME/My Projects".
Remova um diretório que você criou.
Para um diretório vaziormdir , use :
rmdir projects
A documentação do GNU Coreutils rmdir confirma que ele rmdirremove diretórios vazios. Se um diretório contiver arquivos, rmdirele se recusará a removê-lo. A exclusão recursiva com rmdir rm -restá disponível para diretórios não vazios, mas verifique o caminho cuidadosamente primeiro, pois ela remove o diretório e seu conteúdo.
Referência rápida de comandos
mkdir name— Crie um diretório no local atual.
mkdir ~/name— Crie um diretório dentro do seu diretório pessoal.
mkdir -p a/b/c— criar uma árvore de diretórios aninhados e diretórios pais ausentes.
mkdir one two three— criar vários diretórios de uma só vez.
mkdir -p project/{src,tests,docs}— Use a expansão de chaves do Bash para pastas relacionadas.
mkdir "$HOME/Project Files"— Crie com segurança um caminho para o diretório inicial que contenha espaços.
mkdir -m 750 private— criar um diretório com um modo de permissão específico.
mkdir --helpou man mkdir— veja a ajuda do comando local.