Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Criando diretórios - Quem conhece o DOS não estranha tanto esses comandos e nem a tela preta, Como foi bom te conhecer, Até hoje facilitando a minha vida

Olá professores!

Quem veio do DOS não estranha tanto esses comandos, como por exemplo o mkdir ou md, no MS-DOS eles criam diretórios ou pastas e para mover:
muitos comandos são até iguais.

No DOS (Windows) é o move
Sintaxe Básicacmdmove [origem] [destino]

Mover arquivos específicos para uma pasta:

cmd
move main.py utils.py app\src\

(Diferente do Linux, no DOS você usa a barra invertida \ para caminhos).

Mover todos os arquivos de um tipo (ex: todos os .py):cmdmove *.py app\src\

A letra A está errada -a não existe no comando mkdir vai gerar erro com mkdir. A letra C vai copiar mas deixa um cópia e isso pode gerar duplicidade e confusão depois com a equipe do projeto. A letra D tem as barras no dois mv, que devem ser removidas, O uso da barra inicial (/app/src) indica a raiz do sistema de arquivos do Linux. Se o seu objetivo era mover para a pasta app/src que acabou de criar no diretório atual, remova a primeira barra. Já a letra E Sem o -p, gera um erro se as pastas anteriores não existirem.

Resposta certa

1 resposta

Olá, Fábio. Como vai?

É muito bacana ver essa conexão que você fez! Quem teve contato com o MS-DOS ou utiliza o Prompt de Comando (CMD) no Windows certamente larga com uma excelente base no terminal Linux. A lógica de navegar por caminhos, criar pastas e gerenciar arquivos segue princípios muito parecidos, o que ajuda muito na curva de aprendizado em DevOps.

O seu resumo sobre a questão está perfeito e demonstra que você compreendeu muito bem os conceitos. Você cirurgicamente apontou os erros das outras alternativas, como o uso incorreto de flags inexistentes (-a), a cópia que gera duplicidade (cp em vez de mv), o perigo da barra inicial (/) que aponta para a raiz do sistema, e a importância fundamental da flag -p.

Para complementar a sua excelente análise e enriquecer ainda mais o tópico para a comunidade, vale destacar alguns pontos interessantes sobre essas diferenças entre os dois mundos:

1. A flag -p do Linux vs. O comportamento do DOS

No Linux, o comando mkdir app/src falharia se a pasta app ainda não existisse. A flag -p (parents) resolve isso criando toda a estrutura de pastas necessárias de uma só vez. Já no MS-DOS/Windows clássico, o comando md ou mkdir não cria caminhos aninhados automaticamente em uma única instrução da mesma forma sem que as pastas anteriores existam, sendo necessário criar uma por uma ou usar scripts.

2. Barras / vs. Barras Invertidas \

Como você bem pontuou, a inversão das barras é um dos tropeços mais comuns para quem migra de um sistema para o outro:

  • Linux: Utiliza a barra convencional (/) para separar diretórios.
  • Windows/DOS: Utiliza a barra invertida (\).

3. Diferença crucial: Case Sensitivity (Sensibilidade a maiúsculas)

Outra grande mudança que quem vem do DOS precisa se atentar no Linux CLI é o Case Sensitivity. No DOS, digitar MOVE ou move, ou tentar acessar a pasta APP ou app dá no mesmo. No Linux, o terminal diferencia rigorosamente letras maiúsculas de minúsculas. O comando mv deve ser sempre em minúsculo, e um arquivo chamado Main.py é completamente diferente de main.py.

A sua postagem é de extremo valor para os alunos que também estão fazendo essa transição do ambiente Windows/DOS para o ecossistema Linux. Parabéns pelo ótimo nível de análise das alternativas do exercício!

Espero que possa ter lhe ajudado!