linux.playground

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.

o vídeo desta aula sai em breve.
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ê

terminal fechado

um linux de verdade, só seu, apagado quando você sai.

  1. cria uma pasta chamada backups.

    mkdir backups

  2. roda o mesmo mkdir backups de novo. o que acontece?

  3. 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/outubro

  4. cria uma pasta só do dono, com permissão 700, e olha a permissão que ela ganhou.

    mkdir -m 700 segredos && ls -ld segredos

  5. cria 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 pastacria a pasta
mkdir -p a/b/ccria o caminho inteiro
mkdir -m 700 pastacria com permissão (só a última)

-p cria tudo. confira o caminho antes.

quiz

1. mkdir -p backups/2026/outubro, e só o backups existe. o que acontece?
2. o script faz sudo mkdir -p "$DESTINO/logs" e o DESTINO está vazio. onde a pasta nasce?
3. mkdir -m 700 a/b/c: quem ganha a permissão 700?

próxima: o que é touch e o que ele faz