trilha / arco 2 · mexer em arquivo
o que é mkdir e o que ele faz
o script criou a pasta de logs e não deu erro. a pasta nasceu na raiz do sistema, porque a variável do caminho estava vazia. o mkdir -p cria tudo que falta e não pergunta se o caminho faz sentido.
em poucos minutos: o que o mkdir faz, o que o -p muda, e o erro que cria a pasta no lugar errado. a pílula fica no final.
a aula já funciona: lê, treina no terminal e faz o quiz.
escolhe a camada
em uma frase
é pendurar uma etiqueta numa gaveta nova. o -p monta o armário inteiro até chegar nela.
para quem está começando
cria uma pasta nova com o nome que você passar. se já existe, ele avisa e não mexe em nada.
a fonte da verdade
o mkdir pede ao kernel um nome novo e um inode novo dentro da pasta de cima. o -p olha cada pedaço do caminho, cria só os que faltam e não reclama dos que já existem.
o número por trás do nome
o mkdir pede permissão 777 e a umask 022 tira a escrita do grupo e dos outros: 755. o ls -ld mostra drwxr-xr-x. o -m escolhe outro número, mas só para a última pasta do caminho.
agora você
um linux de verdade, só seu, apagado quando você sai.
cria uma pasta chamada backups.
mkdir backupsroda o mesmo mkdir backups de novo. o que acontece?
cria o caminho backups/2026/outubro de uma vez. a pasta backups já existe, a 2026 e a outubro não.
mkdir -p backups/2026/outubrocria uma pasta só do dono, com permissão 700, e olha a permissão que ela ganhou.
mkdir -m 700 segredos && ls -ld segredoscria três pastas dentro de projeto de uma vez, com chaves, e deixa o -v contar o que criou.
mkdir -pv projeto/{src,docs,tests}
cuidado: mkdir -p com variável vazia cria na raiz
o arquivo ~/preparar.sh cria a pasta de logs dentro do destino que você passa como argumento. ele usa sudo. só que ele não confere o argumento. rodando sem nada, o destino fica vazio, e o caminho vira /logs. passo 1: veja o estrago. rode ~/preparar.sh (sem nada depois) e depois ls -d /logs. a pasta nasceu na raiz do sistema. para desfazer, digite sudo rmdir /logs. passo 2: conserte o script. abra com nano ~/preparar.sh. para salvar: ctrl+o e enter. para sair: ctrl+x. passo 3: teste. rode ~/preparar.sh sem argumento de novo e confira com ls -d /logs que a pasta não nasceu.
a pílula
mkdir pasta | cria a pasta |
mkdir -p a/b/c | cria o caminho inteiro |
mkdir -m 700 pasta | cria com permissão (só a última) |
-p cria tudo. confira o caminho antes.