Ir para conteúdo principal
Lucas Caton

Comandos para o terminal (Windows, macOS e Linux)

Lucas Caton

Lucas Caton

@lucascaton
image_description
Há alguns dias, escrevi um artigo explicando a diferença entre Terminal, IDE e Editor de Textos.
Basicamente, terminal é um programa que usamos para gerenciar recursos mais avançados do sistema. É geralmente uma tela preta, sem botões e sem elementos gráficos, a qual você interage digitando linhas de comandos.
Como você deve imaginar, existem vários comandos que já vem por padrão em cada sistema operacional. Esses comandos executam tarefas distintas e resolvem diferentes tipos de problemas, muitos dos quais são relevantes para programadores.
Entretanto, para quem está começando no mundo da programação, pode ser um pouco assustador ver a quantidade de comandos disponíveis. Na prática, essa quantidade é infinita, já que programas e pacotes instalados também podem disponibilizar comandos próprios para serem executados, também conhecidos como CLIs (Command-line interface, ou Interface de Linha de Comando).
Vou listar abaixo alguns comandos úteis (os mais básicos) que os sistemas operacionais já trazem por padrão, mas antes vamos entender como executá-los e o que podemos esperar após cada execução.

Como executar os comandos

O processo é bem simples: você digita algum comando e pressiona enter. O resultado do comando, na maioria das vezes, será exibido na tela. Nesse momento, várias coisas podem acontecer:
  • O comando é executado corretamente e uma mensagem de sucesso aparece.
  • O comando é executado corretamente porém nada é exibido (raro de acontecer).
  • O comando é executado e um erro é exibido.
  • O comando é executado, um erro acontece, porém nada é exibido na tela (muito raro de acontecer).

Case-sensitive

Lembre-se que os comandos são case-sensitive (sensíveis à caixa), ou seja, há diferença entre digitar um comando em maiúsculas e minúsculas. Na grande maioria das vezes, tudo deve ser digitado com minúsculas.

Comandos para Windows

image_description
Todos os comandos foram testados no Windows 10.
O terminal no Windows é conhecido como "Prompt de Comando" (apesar de existirem outros como o PowerShell e o novo Windows Terminal).
Para abri-lo, clique no Menu Iniciar, digite cmd e pressione enter.
Se você estiver usando o PowerShell, alguns comandos podem ser ligeiramente diferentes (eles podem se parecer mais com os comandos do Linux/macOS).

date

Exibir a data atual.
C:\> date
A data atual é: Qui 23/10/2019

time

Exibir a hora atual.
C:\> time
A hora atual é:  1:42:29.68

echo %cd%

Exibir qual é o diretório atual.
bash
C:\> echo %cd%
C:\

dir

Exibir arquivos/diretórios do diretório atual.
C:\> dir
Volume in drive C has no label.
Volume Serial Number is 82C2-03F2

Directory of C:\

10/21/2019  09:34 PM    <DIR>          PerfLogs
10/22/2019  10:52 PM    <DIR>          Program Files
10/21/2019  11:08 PM    <DIR>          Program Files (x86)
10/21/2019  10:07 PM    <DIR>          samples
10/21/2019  09:45 PM    <DIR>          Scripts
10/21/2019  09:30 PM    <DIR>          Users
10/22/2019  10:50 PM    <DIR>          Windows
              0 File(s)              0 bytes
              7 Dir(s)  99,198,668,800 bytes free

cd

Mudar o diretório atual.
C:\> cd Documentos

C:\Documentos>
Voltar para o diretório acima.
C:\Documentos> cd ..

C:\>

mkdir

Criar uma pasta.
C:\> mkdir meus_projetos

C:\> dir
(...)
23/10/2019  07:34  <DIR>  meus_projetos
Criar pasta e subdiretórios (de uma só vez).
C:\> mkdir meus_projetos\repositorios\ruby

C:\> cd meus_projetos
C:\meus_projetos> cd repositorios
C:\meus_projetos\repositorios> cd ruby
C:\meus_projetos\repositorios\ruby>

copy

Copiar (duplicar) um arquivo.
C:\Documentos> copy arquivo1.txt arquivo2.txt
        1 arquivo(s) copiado(s).

move

Mover (ou renomear) um arquivo ou pasta.
C:/> move nome_antigo.txt nome_novo.txt
(O arquivo será renomeado)
C:/Documentos> move telefones.txt meus_projetos
(O arquivo será movido para a pasta `meus_projetos`)

del

Deletar um arquivo.
Cuidado: o terminal não pede confirmação antes de deletar; tome muito cuidado para não deletar o arquivo errado!
C:/Documentos> del telefones.txt

rmdir

Deletar uma pasta vazia.
Cuidado: o terminal não pede confirmação antes de deletar; tome muito cuidado para não deletar a pasta errada!
C:/Documentos> rmdir meus_projetos

rmdir /s

Deletar uma pasta que não esteja vazia.
C:/Documentos> rmdir /s meus_projetos

type

Exibir o conteúdo de um arquivo.
C:/Documentos> type telefones.txt
(11) 1111-1111
(22) 2222-2222
(33) 3333-3333

cls

Limpar o terminal.
C:\> cls

Comandos para macOS e Linux

Para abrir o terminal no macOS, abra a pasta de Aplicativos (Applications) e em seguida a pasta Utilitários (Utilities). Agora basta abrir o aplicativo Terminal.
Duas alternativas bastante interessantes (e populares entre programadores) são o iTerm2 (screenshot abaixo) e o Hyper.
image_description
Já para abrir o terminal no Ubuntu Linux, clique no ícone do Ubuntu no canto superior-esquerdo, digite terminal e selecione o aplicativo Terminal na lista de resultados que vai aparecer:
image_description

date

Exibir a data e hora atuais.
bash
$ date
# Wed 23 Oct 2019 07:36:36 AEST

cal

Exibir um calendário.
bash
$ cal
#     October 2019
# Su Mo Tu We Th Fr Sa
#        1  2  3  4  5
#  6  7  8  9 10 11 12
# 13 14 15 16 17 18 19
# 20 21 22 23 24 25 26
# 27 28 29 30 31

uptime

Exibir há quanto tempo você não desliga/reinicia seu computador.
bash
$ uptime
# 18:58:47 up 34 days, 9:20, 1 user, load average: 0.00, 0.01, 0.05

pwd

Exibir qual é o diretório atual.
bash
$ pwd
# /Users/usuario/Documents

ls

Exibir arquivos/diretórios do diretório atual.
bash
$ ls
# foto.png      telefones.txt
Exibir arquivos/diretórios do diretório atual em formato de lista.
bash
$ ls -l
# -rw-r--r--@ 1 usuario  staff  4787  6 Mar 17:55 foto.png
# -rw-r--r--  1 usuario  staff  8186  6 Mar 17:54 telefones.txt
Exibir arquivos/diretórios do diretório atual incluindo arquivos ocultos.
bash
$ ls -la
# drwx------+  7 usuario  staff   238  6 Mar 17:57 .
# drwxr-xr-x+ 80 usuario  staff  2720  6 Mar 17:57 ..
# -rw-r--r--   1 usuario  staff     0  6 Mar 17:56 .arquivo_oculto.txt
# -rw-r--r--@  1 usuario  staff  4787  6 Mar 17:55 foto.png
# -rw-r--r--   1 usuario  staff     0  6 Mar 17:54 telefones.txt

cd

Mudar o diretório atual.
bash
$ pwd
# /Users/usuario

$ cd Documents

$ pwd
# /Users/usuario/Documents
Voltar para o diretório acima.
bash
$ pwd
# /Users/usuario/Documents

$ cd ..

$ pwd
# /Users/usuario
Voltar para o diretório do seu usuário (conhecido como pasta "home").
bash
$ cd ~

$ pwd
# macOS: /Users/usuario
# Linux: /home/usuario

mkdir

Criar uma pasta.
bash
$ mkdir meus_projetos

$ ls
# meus_projetos
Criar pasta e subdiretórios.
bash
$ mkdir -p meus_projetos/repositorios/ruby

$ ls
# meus_projetos

$ cd meus_projetos

$ ls
# repositorios

$ cd ruby

$ ls
# Diretório vazio

cp

Copiar (duplicar) um arquivo.
bash
cp arquivo1.txt arquivo2.txt

mv

Mover (ou renomear) um arquivo ou pasta.
bash
mv nome_antigo.txt nome_novo.txt
# O arquivo será renomeado
bash
mv telefones.txt ~/Documents/
# O arquivo será movido para a pasta ~/Documents/

rm

Deletar um arquivo.
Cuidado: o terminal não pede confirmação antes de deletar; tome muito cuidado para não deletar o arquivo errado!
bash
rm telefones.txt

rm -rf

Deletar uma pasta.
Cuidado: o terminal não pede confirmação antes de deletar; tome muito cuidado para não deletar a pasta errada!
bash
$ rm -rf meus_projetos

touch

Criar um arquivo em branco (vazio).
bash
$ touch emails.txt

cat

Exibir o conteúdo de um arquivo.
bash
$ cat telefones.txt
# (11) 1111-1111
# (22) 2222-2222
# (33) 3333-3333

clear

Limpar o terminal (o atalho Ctrl+l também funciona na maioria dos terminais).
bash
$ clear

Como conseguir ajuda com um determinado comando?

Digite o comando acompanhado de -h ou --help no final, ou ainda utilize o comando man <comando>. Exemplos:
bash
$ rails -h
bash
$ vim --help
bash
$ man cat

Post atualizado em 23/10/2019, 07:43:11