A partir do momento em que escrevemos isto, o Linux tem uma participação de mercado mundial de 2,68% em desktops, mas mais de 90% de toda a infraestrutura de nuvem e serviços de hospedagem são executados neste sistema operacional. Somente por esta razão, é crucial estar familiarizado com os comandos populares do Linux.

De acordo com a pesquisa StackOverflow, Linux é o sistema operacional mais utilizado pelos desenvolvedores profissionais, com uma impressionante participação de 55,9% do mercado. Não é apenas uma coincidência. O Linux é gratuito e de código aberto, tem melhor segurança do que seus concorrentes e possui uma poderosa linha de comando que torna os desenvolvedores e os usuários poderosos mais eficientes. Você também tem acesso a um poderoso gerenciador de pacotes e um monte de ferramentas de desenvolvimento como o DevKinsta.

Seja você um Sysadmin experiente ou um iniciante no Linux, você pode tirar proveito deste guia.

Vamos começar!

O que é um comando Linux?

Um comando Linux é um programa ou utilitário que roda na linha de comando. Uma linha de comando é uma interface que aceita linhas de texto e as processa em instruções para o seu computador.

Qualquer interface gráfica de usuário (GUI) é apenas uma abstração dos programas de linha de comando. Por exemplo, quando você fecha uma janela clicando no “X”, há um comando rodando atrás dessa ação.

Uma flag é uma forma de passarmos opções para o comando que você executa. A maioria dos comandos Linux tem uma página de ajuda que nós podemos chamar com a flag -h. Na maioria das vezes, as flags são opcionais.

Um argument ou parâmetro é a input que damos a um comando para que ele possa funcionar corretamente. Na maioria dos casos, o argument é um caminho de arquivo, mas ele pode ser qualquer coisa que você digitar no terminal.

Você pode invocar flags usando hífens(-) e hífens duplos(--), enquanto a execução do argument depende da ordem na qual você as passa para a função.

Os 40 comandos Linux mais usados

Antes de pular para os comandos Linux mais utilizados, certifique-se de abri um terminal. Na maioria das distribuições Linux, você usaria Ctrl + Alt + T para fazer isso. Se isto não funcionar, procure em seu painel do aplicativo por “terminal”.

O emulador de terminal Linux
O emulador de terminal Linux

Agora vamos mergulhar nos 40 comandos Linux mais utilizados. Muitos deles têm múltiplas opções que você pode utilizar, então certifique-se de verificar o manual de comandos.

1. Comando ls

ls é provavelmente o primeiro comando que cada usuário do Linux digita em seu terminal. Ele permite que você liste o conteúdo do diretório que você quer (o diretório atual por padrão), incluindo arquivos e outros diretórios aninhados.

ls

Ela tem muitas opções, então pode ser bom obter alguma ajuda usando a flag --help. Esta flag retorna todas as flags que você pode usar com ls.

Por exemplo, para colorir a saída do comando ls, você pode usar o seguinte:

ls --color=auto
O comando colorido ls
O comando colorido ls

Agora o comando ls está colorido, e você pode apreciar a diferença entre um diretório e um arquivo.

Mas digitar ls com a flag colorida seria ineficiente; é por isso que nós usamos o comando alias.

2. Comando alias

O comando alias permite que você defina alias temporários em sua sessão shell. Ao criar um alias, você instrui seu shell a substituir uma palavra por uma série de comandos.

Por exemplo, para definir ls para ter cor sem digitar a flag --color sempre, você usaria:

alias ls="ls --color=auto"

Como você pode ver, o comando alias toma um parâmetro de par de valores chave: alias NAME="VALUE". Note que o valor deve estar dentro de aspas.

Se você quiser listar todos os apelidos que você tem em sua sessão shell, você pode executar o comando de alias sem argumentos.

alias
O comando alias
O comando alias

3. Comando unalias

Como o nome sugere, o comando unalias visa remover um alias dos pseudônimos já definidos. Para remover o apelido ls anterior, você pode usar:

unalias ls

4. Comando pwd

O comando pwd significa “print working directory” (imprimir diretório de trabalho), e ele produz o caminho absoluto do diretório em que você está. Por exemplo, se o seu nome de usuário é “john” e você está em seu diretório de Documentos, seu caminho absoluto seria: /home/john/Documents.

Para usá-lo, simplesmente digite pwd no terminal:

pwd

# My result: /home/kinsta/Documents/Documents/linux-commands

5. Comando cd

O comando cd é altamente popular, junto com o ls. Ele se refere a “change directory” e, como o nome sugere, muda você para o diretório que você está tentando acessar.

Por exemplo, se você está dentro do seu diretório de Documentos e está tentando acessar uma de suas subpastas chamada Videos, você pode digitá-la:

cd Videos

Você também pode fornecer o caminho absoluto da pasta:

cd /home/kinsta/Documents/Videos

Há alguns truques com o comando cd que podem economizar muito tempo quando se brinca com ele:

1) Ir para a pasta home

cd

2) Subir um nível

cd ..

3) Voltar para o diretório anterior

cd -

6. Comando cp

É tão fácil de copiar arquivos e pastas diretamente no terminal Linux que às vezes ele pode substituir os gerenciadores de arquivos convencionais.

Para usar o comando cp, basta digitá-lo junto com os arquivos de origem e destino:

cp file_to_copy.txt new_file.txt

Você também pode copiar diretórios inteiros usando a flag recursiva:

cp -r dir_to_copy/ new_copy_dir/

Lembre-se de que no Linux, as pastas terminam com uma barra (/).

7. Comando rm

Agora que você sabe como copiar arquivos, será útil saber como removê-los.

Você pode usar o comando rm para remover arquivos e diretórios. Mas tenha cuidado ao usá-lo, pois é muito difícil (mas não impossível) recuperar arquivos excluídos dessa forma.

Para excluir um arquivo normal, você digitaria:

rm file_to_copy.txt

Se você quiser apagar um diretório vazio, você pode usar a flag recursiva (-r):

rm -r dir_to_remove/

Por outro lado, para remover um diretório com conteúdo dentro dele, você precisa usar a força (-f) e flags recursivas:

rm -rf dir_with_content_to_remove/

8. Comando mv

Você usa o comando mv para mover (ou renomear) arquivos e diretórios através do seu sistema de arquivos.

Para usar este comando, você digitaria seu nome com os arquivos de origem e destino:

mv source_file destination_folder/

mv command_list.txt commands/

Para utilizar caminhos absolutos, você usaria:

mv /home/kinsta/BestMoviesOfAllTime ./

…onde ./ é o diretório onde você está atualmente.

Você também pode usar o mv para renomear arquivos enquanto os mantém no mesmo diretório:

mv old_file.txt new_named_file.txt

9. Comando mkdir

Para criar pastas na shell, você usa o comando mkdir. Basta especificar o nome da nova pasta, garantir que ela não existe e que você está pronto para ir.

Por exemplo, para fazer um diretório para manter todas as suas imagens, basta digitar:

mkdir images/

Para criar subdiretórios com um simples comando, use o parent flag (-p):

mkdir -p movies/2004/

10. Comando man

Outro comando essencial do Linux é o man. Ele exibe a página de manual de qualquer outro comando (desde que ele tenha um).

Para ver a página do manual do comando mkdir, digite:

man mkdir

Você poderia até mesmo consultar a página de manual man:

man man
A página do manual do "man"
A página do manual “man”

11. Comando touch

O comando touch permite a você atualizar os tempos de acesso e modificação dos arquivos especificados.

Por exemplo, eu tenho um arquivo antigo que foi modificado pela última vez em 12 de abril:

Data antiga
Data antiga

Para mudar sua data de modificação para a hora atual, nós precisamos usar a flag -m:

touch -m old_file

Agora a data corresponde à data de hoje (que no momento em que escrevemos foi 8 de agosto).

Nova data
Nova data

No entanto, na maioria das vezes, você não vai usar touch para modificar datas de arquivos, mas sim para criar novos arquivos vazios:

touch new_file_name

12. Comando chmod

O comando chmod permite que você mude o modo de um arquivo (permissões) rapidamente. Ele tem um monte de opções disponíveis com ele.

As permissões básicas que um arquivo pode ter são:

  • r (read)
  • w (write)
  • x (execute)

Um dos casos mais comuns de uso do chmod é tornar um arquivo executável pelo usuário. Para fazer isso, digite chmod e a flag +x, seguida do arquivo no qual você quer modificar as permissões:

chmod +x script

Você usa isso para tornar os scripts executáveis, permitindo que você os execute diretamente, usando a notação ./.

13. Comando ./

Talvez a notação ./ não seja um comando em si, mas vale a pena mencionar nesta lista. Ele permite que seu shell execute um arquivo executável com qualquer interpretador instalado em seu sistema diretamente do terminal. Chega de fazer duplo clique em um arquivo em um gerenciador de arquivos gráfico!

Por exemplo, com este comando, você pode executar um script Python ou um programa disponível apenas no formato .run, como o XAMPP. Ao executar um executável, certifique-se de que ele tenha permissões executáveis (x), que você pode modificar com o comando chmod.

Aqui está um simples script Python e como nós o executaríamos com a notação ./:


#! /usr/bin/python3

# filename: script

for i in range(20):

print(f"This is a cool script {i}")

Veja como nós converteríamos o script em um executável e o executaríamos:

chmod +x script

./script

14. Comando exit

O comando exit faz exatamente o que seu nome sugere: Com ele, você pode terminar uma sessão shell e, na maioria dos casos, fechar automaticamente o terminal que você está usando:

exit

15. Comando sudo

Este comando significa “superuser do”, e permite que você aja como um superusuário ou usuário root enquanto você estiver executando um comando específico. É como o Linux se protege e evita que os usuários modifiquem acidentalmente o sistema de arquivos da máquina ou instalem pacotes inadequados.

O Sudo é comumente usado para instalar software ou para editar arquivos fora do diretório home do usuário:

sudo apt install gimp

sudo cd /root/ 

Ele irá pedir a senha do administrador antes de executar o comando que você digitou após ele.

16. Comando shutdown

Como você pode adivinhar, o comando de shutdown permite que você desligue sua máquina. No entanto, ele também pode ser usado para pará-lo e reiniciá-lo.

Para desligar o seu computador imediatamente (o padrão é um minuto), digite:

shutdown now

Você também pode programar para desligar o seu sistema em um formato de 24 horas:

shutdown 20:40

Para cancelar uma chamada shutdown anterior, você pode usar a flag -c:

shutdown -c

17. Comando htop

htop é um visualizador de processos interativo que permite a você gerenciar os recursos da sua máquina diretamente do terminal. Na maioria dos casos, ele não é instalado por padrão, então certifique-se de ler mais sobre ele em sua página de download.

htop
A interface "htop"
A interface “htop”

18. Comando unzip

O comando unzip permite que você extraia o conteúdo de um arquivo .zip do terminal. Mais uma vez, este pacote pode não ser instalado por padrão, então certifique-se de instalá-lo com seu gerenciador de pacotes.

Aqui, estamos extraindo um arquivo .zip cheio de imagens:

unzip images.zip

19. Comandos apt, yum, pacman

Não importa qual distribuição Linux você esteja usando, é provável que você use gerenciadores de pacotes para instalar, atualizar e remover o software que você usa todos os dias.

Você pode acessar esses gerentes de pacotes através da linha de comando, e você usaria um ou outro dependendo da distro que sua máquina estiver rodando.

Os exemplos a seguir irão instalar o GIMP, um software gratuito e de código aberto normalmente disponível na maioria dos gerentes de pacotes:

Baseado no Debian (Ubuntu, Linux Mint)

sudo apt install gimp

Baseado no Red Hat (Fedora, CentOS)

sudo yum install gimp

Baseado no Arco (Manjaro, Arco Linux)

sudo pacman -S gimp

20. Comando echo

O comando echo exibe o texto definido no terminal – é tão simples quanto isso:

echo "Cool message"
O comando echo
O comando echo

Seu principal uso é imprimir variáveis ambientais dentro dessas mensagens:

echo "Hey $USER"

# Hey kinsta

21. Comando cat

Cat, abreviação de “concatenate”, permite a você criar, visualizar e concatenar arquivos diretamente do terminal. É usado principalmente para pré-visualizar um arquivo sem abrir um editor de texto gráfico:

cat long_text_file.txt
O comando cat
O comando cat

22. Comando ps

Com ps, você pode dar uma olhada nos processos que sua sessão de shell atual está rodando. Ele imprime informações úteis sobre os programas que você está executando, como ID do processo, TTY (TeleTYpewriter), tempo e nome do comando.

ps
O comando ps
O comando ps

No caso de você querer algo mais interativo, você pode usar htop.

23. Comando kill

É irritante quando um programa não responde, e você não pode fechá-lo de forma alguma. Felizmente, o comando kill resolve este tipo de problema.

Simplificando, kill envia um TERM ou sinal de matar para um processo que o encerra.

Você pode matar processos digitando o PID (Process ID) ou o nome binário do programa:

kill 533494

kill firefox

Tenha cuidado com este comando – com kill, você corre o risco de apagar acidentalmente o trabalho que você tem feito.

24. Comando ping

ping é o mais popular utilitário de terminal de rede usado para testar a conectividade de rede. ping tem uma tonelada de opções, mas na maioria dos casos, você vai usá-lo para solicitar um domínio ou endereço IP:

ping google.com

ping 8.8.8.8

25. Comando vim

vim é um editor de texto de terminal gratuito e de código aberto que é usado desde os anos 90. Ele permite que você edite arquivos de texto simples usando eficientemente keybindings.

Algumas pessoas consideram difícil de usar – sair de Vim é uma das perguntas mais vistas do StackOverflow – mas uma vez que você se acostuma, ele se torna seu melhor aliado na linha de comando.

Para ligar o Vim, basta digitar:

vim
O editor de texto vim
O editor de texto vim

26. Comando history

Se você está lutando para lembrar de um comando, history vem a calhar. Este comando exibe uma lista enumerada com os comandos que você já usou no passado:

history
O comando history
O comando history

27. Comando passwd

passwd permite que você altere as senhas das contas de usuário. Primeiro, ele solicita que você insira sua senha atual, depois pede uma nova senha e uma confirmação.

É semelhante a qualquer outra mudança de senha que você tenha visto em outro lugar, mas neste caso, está diretamente no seu terminal:

passwd
O comando passwd
O comando passwd

Tenha cuidado ao usá-la – você não quer bagunçar sua senha de usuário!

28. Comando which

O comando which produz o caminho completo dos comandos shell. Se ele não conseguir reconhecer o comando dado, ele vai lançar um erro.

Por exemplo, podemos usar isso para verificar o caminho binário para Python e o navegador da web Brave:

which python

# /usr/bin/python

which brave

# /usr/bin/brave

29. Comando shred

Se você já quis que um arquivo fosse quase impossível de recuperar, shred pode ajudá-lo com esta tarefa. Este comando substitui o conteúdo de um arquivo repetidamente e, como resultado, o arquivo dado torna-se extremamente difícil de ser recuperado.

Aqui está um arquivo com pouco conteúdo nele:

Arquivo para triturar
Arquivo para triturar

Agora, vamos fazer shred sua parte digitando o seguinte comando:

shred file_to_shred.txt
Conteúdo sobrescrito
Conteúdo sobrescrito

Se você quiser apagar o arquivo imediatamente, você pode usar a flag -u:

shred -u file_to_shred.txt

30. Comando less

less (ao contrário de more) é um programa que permite que você inspecione arquivos para trás e para frente:

less large_text_file.txt
O comando less
O comando less

O mais legal do less é que ele inclui mais comandos vim em sua interface. Se você precisa de algo mais interativo que o cat, less é uma boa opção.

31. Comando tail

Similar ao cat, o tail imprime o conteúdo de um arquivo com uma grande ressalva: ela só produz as últimas linhas. Por padrão, ele imprime as últimas 10 linhas, mas você pode modificar esse número com -n.

Por exemplo, para imprimir as últimas linhas de um arquivo de texto grande, você usaria:

tail long.txt
O comando tail
O comando tail

Para ver apenas as últimas quatro linhas:

tail -n 4 long.txt
tail quatro linhas
tail quatro linhas

32. Comando head

Este é complementar ao comando tail. O head produz as primeiras 10 linhas de um arquivo de texto, mas você pode definir qualquer número de linhas que você queira exibir com a flag -n:

head long.txt

head -n 5 long.txt
O comando head
O comando head

33. Comando grep

Grep é uma das mais poderosas utilidades para trabalhar com arquivos de texto. Ele procura por linhas que correspondam a uma expressão regular e as imprime:

grep "linux" long.txt
O comando grep
O comando grep

Você pode contar o número de vezes que o padrão se repete, usando a flag -c:

grep -c "linux" long.txt

# 2

34. Comando whoami

O comando whoami (abreviação para “who am i”) exibe o nome de usuário atualmente em uso:

whoami

# kinsta

Você obteria o mesmo resultado usando echo e a variável ambiental $USER:

echo $USER

# kinsta

35. Comando whatis

whatis imprime uma descrição de uma única linha de qualquer outro comando, tornando-a uma referência útil:

whatis python

# python (1) - an interpreted, interactive, object-oriented programming language

whatis whatis

# whatis (1) - display one-line manual page descriptions

36. Comando wc

Wc significa “word count”, e como o nome sugere, ele retorna o número de palavras em um arquivo de texto:

wc long.txt

# 37 207 1000 long.txt

Vamos quebrar a saída deste comando:

  • 37 linhas
  • 207 palavras
  • Tamanho de 1000 bytes
  • O nome do arquivo (long.txt)

Se você só precisa do número de palavras, use a flag -w:

wc -w long.txt

207 long.txt

37. Comando uname

uname(abreviação de “Unix name”) imprime as informações operacionais do sistema, o que vem a calhar quando você conhece sua versão atual do Linux.

Na maioria das vezes, você estará usando a flag -a (–all), já que a saída padrão não é tão útil:

uname

# Linux

uname -a

# Linux kinstamanjaro 5.4.138-1-MANJARO #1 SMP PREEMPT Thu Aug 5 12:15:21 UTC 2021 x86_64 GNU/Linux

38. Comando neofetch

Neofetch é uma ferramenta CLI (command-line interface) que exibe informações sobre seu sistema – como versão do kernel, shell e hardware – ao lado de um logotipo ASCII da sua distro Linux:

neofetch
O comando neofetch
O comando neofetch

Na maioria das máquinas, este comando não está disponível por padrão, então certifique-se de instalá-lo com seu gerenciador de pacotes primeiro.

39. Comando find

O comando find procura por arquivos em uma hierarquia de diretórios baseada em uma expressão regex. Para usá-lo, siga a sintaxe abaixo:

find [flags] [path] -name [expression]

Para procurar por um arquivo chamado long.txt no diretório atual, digite isto:

find ./ -name "long.txt" # ./long.txt 

Para procurar por arquivos que terminam com uma extensão .py (Python), você pode usar o seguinte comando:

find ./ -type f -name "*.py" ./get_keys.py ./github_automation.py ./binarysearch.py 

40. Comando wget

wget (World Wide Web get) é um utilitário para recuperar conteúdo da internet. Ele tem uma das maiores coleções de flags por aí.

Aqui está como você baixaria um arquivo Python de um repo do GitHub:

wget https://raw.githubusercontent.com/DaniDiazTech/Object-Oriented-Programming-in-Python/main/object_oriented_programming/cookies.py

Resumo dos comandos do Linux

Sempre que você quiser uma referência rápida, basta rever a tabela abaixo:

Comando Uso
ls Lista o conteúdo de um diretório
alias Define ou exibe pseudônimos
unalias Remove definições do alias
pwd Imprime o diretório de trabalho
cd Diretório de mudanças
cp Copia arquivos e diretórios
rm Remove arquivos e diretórios
mv Movimenta (renomeia) arquivos e diretórios
mkdir Cria diretórios
man Exibe página de manual de outros comandos
touch Cria arquivos vazios
chmod Muda as permissões dos arquivos
./ Executa um executável
exit Sai da atual sessão shell
sudo Executa comandos como superusuário
shutdown Desliga a sua máquina
htop Exibe informações sobre processos e recursos
unzip Extrai arquivos compactados ZIP
apt, yum, pacman Gerenciadores de pacotes
echo Exibe linhas de texto
cat Imprime o conteúdo do arquivo
ps Relata o status do processo shell
kill Termina programas
ping Testa a conectividade de rede
vim Edição eficiente de textos
history Mostra uma lista de comandos anteriores
passwd Muda a senha do usuário
which Retorna o caminho binário completo de um programa
shred Sobreescreve um arquivo para esconder seu conteúdo
less Inspeciona arquivos de forma interativa
tail Exibe as últimas linhas de um arquivo
head Exibe as primeiras linhas de um arquivo
grep Imprime linhas que combinam padrões
whoami Produz o nome de usuário
whatis Mostra descrições de uma linha
wc Arquivos de contagem de palavras
uname Exibe informações do sistema operacional
neofetch Exibe informações de sistema operacional e hardware
find Busca por arquivos que seguem um padrão
wget Recupera arquivos da internet

Resumo

Pode levar algum tempo para aprender Linux, mas uma vez que você domine algumas de suas ferramentas, ele se torna seu melhor aliado, e você não se arrependerá de tê-lo escolhido como seu motorista diário.

Uma das coisas notáveis sobre o Linux é que mesmo que você seja um usuário experiente, você nunca vai parar de aprender a ser mais produtivo usando-o.

Há muito mais comandos Linux úteis. Se deixamos algo de fora, por favor, compartilhe seus comandos favoritos do Linux nos comentários abaixo!


Perguntas frequentes sobre comandos do Linux

Qual é o comando básico do Linux?

Na verdade, existem uma série de comandos básicos que são perfeitos para quem está começando com o Linux:

  • pwd (Imprime o diretório de trabalho atual)
  • cat (Imprime o conteúdo do arquivo)
  • cp (Copia arquivos e diretórios)
  • mv (Move e renomeia arquivos e diretórios)
  • rm (Remove arquivos e diretórios)
  • touch (Cria arquivos vazios)
  • mkdir (Cria diretórios)

Quantos comandos o Linux tem?

Existem milhares de comandos (e novos são escritos diariamente). Mas não se preocupe: não é preciso lembrar de todos eles. Você sempre pode procurá-los on-line.

É possível aprender Linux sozinho?

É possível. Você pode encontrar recursos sólidos on-line para ajudá-lo a começar. Mas se você sentir que precisa de ajuda, aqui estão alguns cursos bem recomendados:

Daniel Diaz

Daniel é um Desenvolvedor Python autodidata, Escritor Técnico e aprendiz por toda a vida. Ele gosta de criar software do zero e explicar esse processo através de artigos incríveis. Siga-o no X: @DaniDiazTech