CodeGym /Cursos /Docker SELF /Fundamentos da linha de comando (CLI): estrutura dos coma...

Fundamentos da linha de comando (CLI): estrutura dos comandos, trabalhando com o terminal

Docker SELF
Nível 1 , Lição 4
Disponível

1. Conhecendo a linha de comando do Linux

Por que usar a linha de comando?

Antes de mergulhar de cabeça, bora responder a pergunta principal: pra que serve a linha de comando se no Linux tem um monte de interface gráfica bonitona? A linha de comando (Command Line Interface, CLI) é a ferramenta dos profissionais, dos sysadmins e dos programadores. Com a CLI, tu consegue fazer as paradas mais rápido, automatizar tarefas chatas e até fazer umas magias de bastidor sem tirar a mão do teclado. CLI é tipo um superpoder no mundo Linux, que vai te deixar muito mais eficiente.

Terminais, shells e CLI

Antes de digitar seu primeiro comando, bora entender o que rola por trás da mágica do terminal.

1. Terminal

Terminal é um programa que te dá acesso à linha de comando. Ele permite interagir com o sistema operacional via texto. No Linux, os terminais mais famosos são:

  • GNOME Terminal (no GNOME).
  • Konsole (no KDE).
  • xterm (lendário, mas antiguinho).
  • Windows Terminal pra WSL

2. Shell

Shell é o software que interpreta os comandos e passa eles pro sistema operacional. No Linux, o shell mais popular é o Bash (Bourne Again Shell). Outras opções:

  • Zsh: shell avançado pra quem curte customizar tudo.
  • Sh: shell Unix clássico (bem minimalista).

Pra começar, a gente vai usar o Bash, que é o padrão.


2. Estrutura de um comando

Comando na CLI tem um formato certinho, e entender isso é chave pra mandar bem.

Formato básico do comando

Cada comando tem três partes:

[Comando] [Opções] [Argumentos]
  • Comando: é o que tu tá pedindo pro sistema fazer. Tipo ls (mostrar lista de arquivos).
  • Opções (ou flags): mudam o comportamento do comando. Tipo -l (lista detalhada pro ls).
  • Argumentos: dados extras que tu passa pro comando, tipo o caminho de um arquivo ou pasta.

Exemplo:

ls -l /home

Aqui:

  • ls — comando;
  • -l — opção pra mostrar lista detalhada;
  • /home — argumento (pasta que a gente quer ver o conteúdo).

3. Navegação e comandos básicos da CLI

Vamos começar com os comandos mais simples, só pra sentir como é interagir com o sistema.

1. Quem sou eu? Onde estou?

  • whoami: mostra o usuário atual.

    $ whoami
    estudante
    
  • pwd (print working directory): mostra o diretório atual.

    $ pwd
    /home/estudante
    
Importante!

Na maioria dos shells Unix/Linux, o símbolo $ é usado como prompt no terminal. Ele mostra que o sistema tá pronto pra receber um comando. O $ serve pra separar o que tu digita do que o terminal responde.

2. Dando uma olhada em volta

  • ls (list): mostra o conteúdo da pasta atual.

      $ ls
      Documentos  Downloads  Música
    

    Opções úteis:

    • -l: info detalhada dos arquivos e pastas.
    • -a: mostra arquivos ocultos.

Exemplo:

ls -la

3. Navegando entre pastas

  • cd (change directory): serve pra trocar de pasta.
    $ cd /home
    $ pwd
    /home
    

4. Atalhos de teclado do terminal

A linha de comando tem vários atalhos massa:

  • Ctrl+C: cancela o comando atual.
  • Ctrl+D: encerra a sessão atual.
  • Tab: autocompleta nome de arquivo ou pasta. Muito útil, usa sempre!
  • Seta pra cima/baixo: navega pelos últimos comandos.

Dica prática: se quiser bancar o hacker, aperta Ctrl+C olhando pro lado — é o estilo perfeito.


5. Exemplos de comandos simples: bora praticar!

Bora criar um exercício prático e resolver usando a CLI.

Desafio:

  1. Descobrir o usuário atual.
  2. Ir pra pasta home.
  3. Ver o que tem lá.
  4. Criar uma pasta test_folder.
  5. Verificar se a pasta apareceu.

Resolução:


# Descobrindo o usuário atual
whoami

# Indo pra pasta home
cd ~

# Vendo o que tem na pasta
ls

# Criando a pasta
mkdir test_folder

# Conferindo se ela existe
ls -l

Explicação dos passos:

  1. Com o whoami a gente viu com qual usuário tá logado.
  2. Com cd ~ foi pra pasta home. O ~ sempre aponta pra pasta do usuário atual.
  3. O comando ls mostrou o conteúdo da pasta antes e depois de criar a nova pasta.

6. Erros comuns e como evitar

Usar a linha de comando sempre dá uns erros, principalmente no começo. Olha só alguns casos clássicos:

  • Espaços em nomes de arquivos/pastas. Se o nome tiver espaço, coloca entre aspas. Exemplo:

    mkdir "Minha Pasta"
    
  • Caminhos errados. Se aparecer No such file or directory, é porque o caminho não existe.

    cd /caminho/desconhecido
    
  • Erro de digitação nos comandos. Terminal não perdoa: lss no lugar de ls é outro comando (ou nem existe).


7. Pra que serve tudo isso?

CLI é uma ferramenta poderosa pra gerenciar qualquer sistema. Tá em tudo: desde configurar servidores até escrever scripts de automação. Em entrevistas, sempre perguntam comandos pra fazer tarefas no terminal, então o que tu tá aprendendo agora vai ser útil no teu arsenal.

Além disso, CLI vai te ajudar a mexer com sistemas de controle de versão tipo git, desenvolver apps de servidor e escrever scripts pra automatizar tarefas. Tudo começa entendendo o básico: estrutura dos comandos, navegar entre pastas e os atalhos principais.

Um pouco de prática

Tenta fazer esse desafio:

  1. Descobrir a data atual.
  2. Criar uma pasta logs.
  3. Dentro dela, criar um arquivo log.txt com a data atual.
Exemplo de solução

# Descobrindo a data atual
date

# Criando a pasta logs
mkdir logs

# Gravando a data no arquivo log.txt
date > logs/log.txt

# Conferindo o conteúdo do arquivo
cat logs/log.txt

Agora tu tá pronto pro próximo nível — trabalhar com o sistema de arquivos e o que tem dentro dele!

8. O que é o plugin CodeGym e pra que serve?

Tu pode resolver os exercícios no site ou na IDE JetBrains com o plugin CodeGym instalado e o Shell Script (normalmente o Shell Script já vem instalado).

Se não tiver uma IDE instalada, recomendo baixar o IntelliJ IDEA Community Edition.

  1. Guia de como instalar o IntelliJ IDEA.
  2. Como criar seu primeiro projeto.

Tu pode baixar o plugin CodeGym direto do marketplace da Jetbrains, dentro da tua IDE.

  1. Vai em "Configurações", Windows/Linux File - Settings, MacOS IntelliJ IDEA - Preferences. Se não aparecer o menu de configurações, abre qualquer projeto ou cria um novo.

  2. No menu lateral da janela que abrir, escolhe Plugins e abre a aba Marketplace. Na busca, digita codegym

  3. Escolhe o plugin e clica em Install.
  4. Reinicia (Restart IDE) o IntelliJ IDEA pra começar a usar o plugin.
  5. Tu vai ver a interface um pouco diferente e um botão Entrar na conta na barra superior.
  6. Quando clicar, vai abrir uma janela pra tu entrar na tua conta, onde precisa colocar tua chave secreta. Lembrando que a chave secreta tu encontra em “Configurações” → “Segurança e login”.

  7. Pra abrir um novo exercício, clica em Tasks no painel lateral esquerdo, depois na tarefa na barra lateral, e na janela que abrir clica em Abrir:

  8. Vai abrir uma janela com duas abas. Uma com o enunciado, outra pra digitar o código. E uma mensagem do shellcheck pra checar teus shell scripts — só aceitar.
  9. Agora escreve a solução e clica em Validate pra enviar o exercício pra correção ou roda localmente.

Plugin instalado! Agora é só resolver os exercícios.

Sincronizando exercícios site — plugin

A lista de exercícios e status atualiza sozinha, a cada cinco minutos ou depois de enviar qualquer exercício pra correção (servidor CodeGym).

Então, se tu resolveu um exercício no site, no plugin ele também vai aparecer como resolvido. Se quiser atualizar o status na hora, clica no teu avatar (canto superior direito) e no menu escolhe Sincronizar exercícios:

Modo iniciante no plugin

É uma versão simplificada pra quem não tem (ou tem pouca) experiência com o IntelliJ IDEA e outras IDEs. Algumas funções do IntelliJ IDEA ficam escondidas. Pra desativar esse modo, clica no teu avatar (canto superior direito) e no menu escolhe Configurações:

Como esconder a barra de navegação do plugin no modo PRO

Clica em Configurações (⚙️) e desmarca a opção "Mostrar barra de navegação do plugin":

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION