Comandos para o terminal (Windows, macOS e Linux)
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
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.
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:➡ 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