Linux / Comando / mkdir / Comando para criar diretórios
No Linux, mkdir é o comando para criar um novo diretório. Para criar um caminho com vários níveis de uma vez, use -p, que permite manter os diretórios existentes como estão enquanto cria quaisquer diretórios pai que estejam faltando.
Criando e verificando diretórios
mkdir é abreviação da expressão inglesa make directory (criar diretório). O seguinte comando cria um diretório com o nome projects no diretório atual, se ele não existir, e verifica o resultado. Execute-o em um diretório de prática vazio para evitar confusão com dados existentes.
pwd
mkdir projects
ls -ld projects
Primeiro, verifique o local de trabalho atual com pwd e depois verifique se as informações do novo diretório são exibidas em ls -ld. mkdir geralmente não exibe nenhuma mensagem se for bem-sucedido. Se um arquivo ou diretório com o mesmo nome já existir, o comando padrão mostra um erro.
Os caminhos relativos são baseados na localização atual, e caminhos absolutos que começam como /, como /home/user/projects, são especificados a partir do diretório raiz. Verifique o caminho real e as permissões de acesso de acordo com seu ambiente.
Criar junto com diretórios pai
O seguinte comando cria os diretórios pai necessários se eles não existirem. Por exemplo, se work não existir no local de prática, ele criará work, work/reports e work/reports/2024 na ordem.
mkdir -p work/reports/2024
ls -ld work work/reports work/reports/2024
Se você executar mkdir work/reports/2024 sem -p, ele falhará quando o caminho pai não existir. Adicionar -p não causará um erro apenas porque o caminho já existe como um diretório. Ele não exclui conteúdos existentes nem altera as permissões do diretório existente.
No entanto, se houver um arquivo comum com o mesmo nome no meio do caminho ou se você não tiver as permissões necessárias para o diretório pai, ele pode falhar mesmo se você usar -p. Verifique a mensagem de erro, o status de saída e o caminho real juntos para confirmar o sucesso.
Múltiplos diretórios e nomes com espaços
Você pode listar nomes separados por espaços para criar vários diretórios. O seguinte é um exemplo quando os dois nomes ainda não existem no local atual.
mkdir documents images
ls -ld documents images
Se o próprio nome contiver espaços, coloque todo o caminho entre aspas para passá-lo como um único nome. Se não houver aspas, o shell o dividirá nos espaços e os passará como argumentos separados.
mkdir "project files"
ls -ld "project files"
Nomes que começam com um hífen podem ser interpretados como opções. Por exemplo, mkdir -- -archive coloca o nome depois de --, então ele não é tratado como uma opção.
Verifique permissões e resultados ao criar
Geralmente, as permissões padrão de um novo diretório são influenciadas pelo umask do shell atual e pelas configurações do sistema de arquivos. Verifique a máscara atual com umask e confirme as permissões reais do diretório criado com ls -ld.
Você também pode definir as permissões de um diretório recém-criado usando a opção -m do GNU mkdir. O seguinte é um exemplo onde permissões de leitura, escrita e execução são concedidas ao proprietário e nenhuma permissão é dada ao grupo e a outros quando private ainda não existe.
mkdir -m 700 private
ls -ld private
Mesmo se -p e -m forem usados juntos, -m é aplicado ao novo diretório especificado na linha de comando e não é aplicado aos diretórios pai criados automaticamente. Também não aplica novas permissões a diretórios que já existem. Listas de controle de acesso ou políticas do sistema de arquivos podem afetar o acesso real, portanto, verifique os resultados no ambiente necessário. Para o comportamento detalhado das opções, consulte o manual do GNU mkdir.
Quando a criação falha
- Já existe: Use
ls -ld namepara verificar se o item existente é um arquivo ou um diretório.-pé apropriado apenas se você quiser usar o diretório existente como está. - Caminho pai não encontrado: Verifique a ortografia do caminho e sua localização atual, e então decida se você pode criar os diretórios pai ausentes usando
-p. - Permissão negada: Verifique se você possui as permissões de escrita e acesso necessárias para o diretório pai e solicite-as ao administrador se necessário.
Você pode remover um diretório vazio criado durante a prática com rmdir após confirmar que ele não contém nenhum conteúdo. rmdir geralmente não remove diretórios que não estão vazios.




