Se você está começando a estudar Linux, provavelmente já encontrou comandos como ls, cd, sudo ou chmod e ficou se perguntando o que cada um realmente faz.

A boa notícia é que você não precisa decorar dezenas de comandos de uma vez.

O terminal Linux permite navegar pelo sistema, criar e manipular arquivos, consultar processos, administrar usuários, verificar recursos, trabalhar com redes e executar tarefas administrativas diretamente pela linha de comando.

Neste guia, você vai conhecer 90 comandos básicos Linux, organizados por categoria e acompanhados de exemplos práticos.

O objetivo não é apenas apresentar uma lista de comandos, mas mostrar o que cada comando faz, como utilizá-lo e em quais situações ele pode ser útil.

E uma dica importante: você não precisa memorizar todos eles. Mesmo profissionais experientes consultam a documentação quando precisam utilizar uma opção específica. No Linux, o comando man permite consultar os manuais diretamente pelo terminal.

O que são comandos Linux?

Os comandos Linux são instruções utilizadas para interagir com o sistema operacional por meio da linha de comando.

Quando você abre um terminal, está utilizando uma interface de linha de comando, também conhecida como CLI. O shell interpreta o comando digitado e executa a ação correspondente.

Por exemplo:

pwd
O comando mostra o diretório atual.

Já:

ls
lista os arquivos e diretórios disponíveis naquele local.

A linha de comando é uma das principais formas de interação com sistemas Linux, especialmente em ambientes de servidores, Cloud Computing, DevOps e administração de infraestrutura.

Por que aprender comandos Linux?

Aprender comandos Linux é importante porque o terminal está presente em diversas atividades de tecnologia.

Ele é utilizado em:

  • Administração de servidores
  • Desenvolvimento de software
  • DevOps
  • Cloud Computing
  • Segurança da informação
  • Automação
  • Bancos de dados
  • Infraestrutura
  • Containers
  • Monitoramento
  • Troubleshooting

Além disso, muitos servidores Linux são administrados remotamente e podem não possuir uma interface gráfica.

Por isso, saber utilizar o terminal ajuda profissionais de tecnologia a executar tarefas com mais autonomia e eficiência.

Como usar um comando Linux?

De forma geral, um comando pode seguir esta estrutura:

comando [opções] [argumentos]
Por exemplo:
ls -lah /home
Nesse caso:
  • ls é o comando
  • -lah são as opções
  • /home é o argumento

Também é importante lembrar que o Linux diferencia letras maiúsculas de minúsculas. ls e LS, por exemplo, não representam necessariamente o mesmo comando.

90 comandos básicos Linux

 

1. Comandos Linux para navegação

ComandoPara que serveExemplo
pwdMostra o diretório atualpwd
lsLista arquivos e diretóriosls
cdNavega entre diretórioscd /home
treeExibe diretórios em formato de árvoretree
findProcura arquivos e diretóriosfind . -name "arquivo.txt"
locateLocaliza arquivos rapidamentelocate arquivo.txt
whichMostra a localização de um executávelwhich python
whereisLocaliza binários, fontes e manuaiswhereis bash
basenameMostra a parte final de um caminhobasename /home/user/arquivo.txt
dirnameMostra o diretório de um caminhodirname /home/user/arquivo.txt

pwd

O comando pwd mostra o caminho completo do diretório em que você está trabalhando.

pwd
Exemplo de resultado:
/home/usuario

É um dos primeiros comandos Linux que vale aprender porque ajuda você a entender sua localização dentro do sistema de arquivos.

ls

O comando ls lista os arquivos e diretórios do local atual.

ls
Para visualizar informações detalhadas:
ls -l
Para incluir arquivos ocultos:
ls -a
Para combinar as opções:
ls -lah

cd

O comando cd permite navegar entre diretórios.

cd /home
Para voltar um nível:
cd ..
Para acessar seu diretório pessoal:
cd ~

tree

O comando tree apresenta a estrutura de diretórios em formato de árvore.

tree
É especialmente útil para visualizar rapidamente a organização de projetos e pastas.

find

O comando find permite procurar arquivos e diretórios.

find /home -name "arquivo.txt"
Outro exemplo:
find . -name "*.log"
Nesse caso, o comando procura arquivos com extensão .log a partir do diretório atual.

locate

O locate permite encontrar arquivos utilizando uma base de dados indexada.

locate arquivo.txt

which

O which mostra onde está localizado um executável.

which python

whereis

O whereis procura informações relacionadas a um comando, como binários e páginas de manual.

whereis bash

basename

O basename retorna a última parte de um caminho.

basename /home/usuario/documentos/arquivo.txt

Resultado:

arquivo.txt

dirname

O dirname retorna o diretório presente em um caminho.

dirname /home/usuario/documentos/arquivo.txt

2. Comandos Linux para arquivos e diretórios

ComandoPara que serveExemplo
touchCria arquivostouch arquivo.txt
mkdirCria diretóriosmkdir projetos
cpCopia arquivos e diretórioscp arquivo.txt backup.txt
mvMove ou renomeia arquivosmv arquivo.txt novo.txt
rmRemove arquivosrm arquivo.txt
rmdirRemove diretórios vaziosrmdir pasta
lnCria linksln -s arquivo.txt atalho.txt
fileIdentifica o tipo de arquivofile documento.pdf

touch

Cria um arquivo vazio ou atualiza sua data de modificação.

touch arquivo.txt

mkdir

Cria um novo diretório.

mkdir projetos

Para criar vários diretórios de uma vez:

mkdir -p projetos/linux/comandos

cp

Copia arquivos ou diretórios.

cp arquivo.txt backup.txt

Para copiar um diretório:

cp -r projetos backup

mv

Move ou renomeia arquivos e diretórios.

mv arquivo.txt documentos/

Também pode ser utilizado para renomear:

mv antigo.txt novo.txt

rm

Remove arquivos.

rm arquivo.txt

Para remover um diretório e seu conteúdo:

rm -r diretorio

É importante ter cuidado com esse comando, especialmente quando combinado com privilégios administrativos.

rmdir

Remove diretórios vazios.

rmdir diretorio

ln

Cria links entre arquivos.

Para criar um link simbólico:

ln -s arquivo.txt atalho.txt

file

Identifica o tipo de um arquivo.

file documento.pdf

3. Comandos Linux para visualizar e editar arquivos

ComandoPara que serveExemplo
catExibe o conteúdo de arquivoscat arquivo.txt
lessVisualiza arquivos página por páginaless arquivo.log
moreVisualiza arquivos por partesmore arquivo.txt
headMostra as primeiras linhashead arquivo.log
tailMostra as últimas linhastail arquivo.log
nanoEdita arquivos no terminalnano arquivo.txt
vimEdita arquivos usando Vimvim arquivo.txt
wcConta linhas, palavras e caractereswc -l arquivo.txt
sortOrdena linhassort nomes.txt
uniqTrabalha com linhas duplicadasuniq nomes.txt

cat

Exibe o conteúdo de um arquivo diretamente no terminal.

cat arquivo.txt

Também pode ser usado para concatenar arquivos:

cat arquivo1.txt arquivo2.txt

less

Permite visualizar arquivos grandes página por página.

less arquivo.log
É bastante útil para consultar arquivos de log.

more

Também permite visualizar arquivos de maneira paginada.

more arquivo.txt

head

Mostra as primeiras linhas de um arquivo.

head arquivo.log

Para visualizar as primeiras 20 linhas:

head -n 20 arquivo.log

tail

Mostra as últimas linhas de um arquivo.

tail arquivo.log

Uma opção muito utilizada para acompanhar logs em tempo real é:

tail -f arquivo.log

nano

O nano é um editor de texto simples para utilização diretamente no terminal.

nano arquivo.txt

É uma boa opção para quem está começando a editar arquivos pelo terminal.

vim

O vim é um editor de texto avançado disponível para terminal.

vim arquivo.txt

É bastante utilizado por administradores de sistemas e desenvolvedores.

wc

O comando wc permite contar linhas, palavras e caracteres.

wc arquivo.txt

Para contar apenas linhas:

wc -l arquivo.txt

sort

Ordena as linhas de um arquivo.

sort nomes.txt

uniq

Remove ou identifica linhas duplicadas.

uniq nomes.txt

Uma combinação comum é:

sort nomes.txt | uniq

4. Comandos Linux para busca e manipulação de texto

ComandoPara que serveExemplo
grepPesquisa textos em arquivosgrep "erro" sistema.log
egrepPesquisa usando expressões regularesegrep "erro|falha" sistema.log
awkProcessa e analisa textosawk '{print $1}' arquivo.txt
sedEdita e transforma textossed 's/Linux/linux/g' arquivo.txt
cutExtrai partes de linhascut -d "," -f 1 dados.csv
trSubstitui ou remove caracterestr 'a-z' 'A-Z'
diffCompara arquivosdiff arquivo1.txt arquivo2.txt
xargsUsa resultados como argumentosfind . -name "*.log" | xargs ls -l

grep

O grep procura uma palavra ou padrão dentro de arquivos.

grep "erro" sistema.log

Para ignorar diferenças entre letras maiúsculas e minúsculas:

grep -i "erro" sistema.log

É um comando extremamente útil para análise de logs e troubleshooting.

egrep

Permite realizar pesquisas utilizando expressões regulares estendidas.

egrep "erro|falha" sistema.log

Atualmente, grep -E também pode ser utilizado para esse tipo de pesquisa.

awk

O awk é utilizado para processamento e análise de texto.

awk '{print $1}' arquivo.txt

É bastante utilizado em automações e administração de sistemas.

sed

O sed permite substituir e transformar textos.

sed 's/Linux/linux/g' arquivo.txt

cut

O cut permite extrair partes específicas de uma linha.

cut -d "," -f 1 dados.csv

tr

O tr substitui ou remove caracteres.

echo "linux" | tr 'a-z' 'A-Z'

Resultado:

LINUX

diff

Compara dois arquivos e identifica diferenças entre eles.

diff arquivo1.txt arquivo2.txt

Pode ser muito útil para comparar arquivos de configuração.

xargs

O xargs utiliza informações recebidas como entrada para executar outro comando.

find . -name "*.log" | xargs ls -l

5. Comandos Linux para usuários e permissões

ComandoPara que serveExemplo
chmodAltera permissõeschmod 755 script.sh
chownAltera proprietáriochown usuario arquivo.txt
chgrpAltera grupochgrp desenvolvedores arquivo.txt
umaskDefine permissões padrãoumask
idMostra informações do usuárioid
whoamiMostra o usuário atualwhoami
whoMostra usuários conectadoswho
groupsMostra grupos do usuáriogroups
passwdAltera senhapasswd

chmod

O chmod altera as permissões de arquivos e diretórios.

chmod 755 script.sh

Entender permissões é fundamental para quem trabalha com Linux, principalmente em servidores e ambientes corporativos.

chown

Altera o proprietário de um arquivo ou diretório.

chown usuario arquivo.txt

chgrp

Altera o grupo associado a um arquivo.

chgrp desenvolvedores arquivo.txt

umask

Consulta ou define permissões padrão utilizadas na criação de novos arquivos e diretórios.

umask

id

Mostra informações sobre o usuário atual, incluindo identificadores e grupos.

id

whoami

Mostra qual usuário está atualmente conectado.

whoami

who

Lista usuários conectados ao sistema.

who

groups

Mostra os grupos dos quais um usuário participa.

groups

passwd

Permite alterar a senha de um usuário.

passwd

6. Comandos Linux para processos

ComandoPara que serveExemplo
psLista processosps aux
topMonitora processos em tempo realtop
htopMonitora processos de forma interativahtop
killEnvia sinal para um processokill 1234
killallEncerra processos pelo nomekillall processo
jobsLista tarefas do shelljobs
bgExecuta tarefa em segundo planobg
fgTraz tarefa para primeiro planofg
niceDefine prioridade de processonice -n 10 comando
reniceAltera prioridade de processorenice 10 -p 1234

ps

Lista processos em execução.

ps aux

É uma das formas mais comuns de consultar processos ativos no sistema.

top

Exibe processos e utilização de recursos em tempo real.

top

htop

Oferece uma interface interativa para acompanhar processos.

htop

Dependendo da distribuição Linux, pode ser necessário instalar o pacote antes.

kill

Envia um sinal para um processo.

kill 1234

O número representa o PID do processo.

killall

Permite encerrar processos pelo nome.

killall processo

jobs

Mostra tarefas executadas pelo shell atual.

jobs

bg

Coloca uma tarefa em segundo plano.

bg

fg

Traz uma tarefa para o primeiro plano.

fg

nice

Inicia um processo com uma prioridade específica.

nice -n 10 comando

renice

Altera a prioridade de um processo que já está em execução.

renice 10 -p 1234

7. Comandos Linux para disco e armazenamento

ComandoPara que serveExemplo
dfMostra espaço disponível em discodf -h
duMostra espaço ocupadodu -sh /var/log
freeMostra uso de memóriafree -h
mountMonta sistemas de arquivosmount
umountDesmonta sistemas de arquivosumount /mnt
lsblkLista dispositivos de armazenamentolsblk
blkidIdentifica dispositivos e sistemas de arquivosblkid
fdiskGerencia partiçõessudo fdisk -l
tarCompacta e extrai arquivostar -czvf backup.tar.gz documentos/

df

Mostra o espaço disponível e utilizado nos sistemas de arquivos.

df -h

O parâmetro -h apresenta os valores em um formato mais fácil de interpretar.

du

Mostra o espaço ocupado por arquivos e diretórios.

du -sh /var/log

free

Mostra informações sobre memória RAM e swap.

free -h

mount

Permite montar sistemas de arquivos.

mount

umount

Desmonta um sistema de arquivos.

umount /mnt

lsblk

Lista dispositivos de armazenamento e suas partições.

lsblk

blkid

Exibe informações sobre dispositivos de bloco e seus sistemas de arquivos.

blkid

fdisk

É uma ferramenta utilizada para gerenciamento de partições.

sudo fdisk -l

Operações de particionamento exigem atenção, pois alterações incorretas podem resultar em perda de dados.

tar

O tar é utilizado para criar e extrair arquivos compactados.

Para criar um arquivo:

tar -cvf backup.tar documentos/

Para extrair:

tar -xvf backup.tar

Para criar um arquivo .tar.gz:

tar -czvf backup.tar.gz documentos/

8. Comandos Linux para redes

ComandoPara que serveExemplo
ipConsulta e configura informações de redeip addr
pingTesta conectividadeping google.com
curlFaz requisições e transfere dadoscurl https://example.com
wgetBaixa arquivoswget https://example.com/arquivo.zip
ssConsulta conexões de redess -tuln
tracerouteMostra o caminho de uma conexãotraceroute google.com
digConsulta informações DNSdig example.com
nslookupConsulta servidores DNSnslookup example.com
hostnameConsulta o nome do hosthostname

ip

O comando ip permite consultar e configurar informações relacionadas à rede.

Para visualizar interfaces e endereços:

ip addr

Para consultar rotas:

ip route

ping

Testa a conectividade entre o computador e outro host.

ping google.com

É uma ferramenta simples e bastante utilizada em diagnósticos de rede.

curl

O curl permite fazer requisições e transferir dados utilizando diferentes protocolos.

curl https://example.com

É muito utilizado em APIs, desenvolvimento, automação e troubleshooting.

wget

Permite baixar arquivos pela internet.

wget https://example.com/arquivo.zip

ss

Exibe conexões, portas e sockets de rede.

ss -tuln

traceroute

Mostra o caminho percorrido pelos pacotes até determinado destino.

traceroute google.com

dig

Consulta informações relacionadas ao DNS.

dig example.com

nslookup

Também pode ser utilizado para consultas DNS.

nslookup example.com

hostname

Mostra o nome do computador ou servidor.

hostname

9. Comandos Linux para informações do sistema

ComandoPara que serveExemplo
unameMostra informações do sistemauname -a
hostnamectlConsulta informações do hosthostnamectl
uptimeMostra tempo de atividadeuptime
dateMostra data e horadate
historyMostra comandos anterioreshistory
envMostra variáveis de ambienteenv
echoExibe texto ou variáveisecho $HOME
manAbre manuais de comandosman ls
clearLimpa o terminalclear

uname

Exibe informações sobre o sistema operacional e o kernel.

uname -a

hostnamectl

Mostra informações relacionadas ao hostname e ao sistema.

hostnamectl

uptime

Mostra há quanto tempo o sistema está funcionando.

uptime

date

Exibe a data e hora do sistema.

date

history

Mostra comandos executados anteriormente.

history

Você também pode pesquisar um comando no histórico:

history | grep ssh

env

Mostra as variáveis de ambiente disponíveis.

env

echo

Exibe uma mensagem ou o conteúdo de uma variável.

echo "Olá, Linux!"

Também pode mostrar uma variável:

echo $HOME

man

O man abre o manual de determinado comando.

man ls

Se quiser consultar rapidamente as opções de um comando, também pode utilizar:

ls --help

clear

Limpa o conteúdo exibido no terminal.

clear

10. Comandos Linux para administração

ComandoPara que serveExemplo
aptGerencia pacotes em Debian e Ubuntusudo apt update
dnfGerencia pacotes em sistemas baseados em RPMsudo dnf install pacote
yumGerencia pacotes em versões mais antigas de sistemas RPMsudo yum install pacote
systemctlGerencia serviçossystemctl status nginx
serviceControla serviçosservice nginx status
journalctlConsulta logs do systemdjournalctl -u nginx
sudoExecuta comandos com privilégios elevadossudo apt update
suTroca de usuáriosu usuario

apt

O apt é utilizado para gerenciar pacotes em distribuições baseadas em Debian, como Ubuntu.

Para atualizar a lista de pacotes:

sudo apt update

Para instalar um pacote:

sudo apt install nome-do-pacote

dnf

O dnf é utilizado para gerenciamento de pacotes em distribuições como Fedora e outros sistemas baseados em RPM.

sudo dnf install nome-do-pacote

yum

O yum é encontrado principalmente em versões mais antigas de distribuições baseadas em RPM.

sudo yum install nome-do-pacote

systemctl

O systemctl permite gerenciar serviços controlados pelo systemd.

Para verificar um serviço:

systemctl status nginx

Para iniciar:

sudo systemctl start nginx

service

Permite controlar serviços em sistemas que utilizam o mecanismo tradicional de init ou compatibilidade.

sudo service nginx status

journalctl

Permite consultar logs gerenciados pelo systemd.

journalctl

Para consultar os logs de um serviço:

journalctl -u nginx

sudo

O sudo permite executar comandos com privilégios administrativos quando o usuário possui autorização.

sudo apt update

Tenha atenção especial com comandos executados com sudo, principalmente quando você não conhece exatamente o que eles fazem.

su

Permite trocar de usuário.

su usuario

10 comandos Linux para aprender primeiro

Se você está começando agora, não tente aprender os 90 comandos de uma vez.

Comece por estes:

ComandoO que você aprende
pwdLocalização no sistema
lsListagem de arquivos
cdNavegação
mkdirCriação de diretórios
touchCriação de arquivos
cpCópia
mvMovimentação e renomeação
rmRemoção
catLeitura de arquivos
sudoAdministração

Depois, avance para:

grep, find, chmod, chown, ps, top, df, du, ip e systemctl.

Essa sequência ajuda a construir uma base prática antes de partir para comandos mais avançados.

Comandos Linux mais usados no dia a dia

Se você quer uma pequena “cola” para deixar salva, estes são alguns dos comandos mais úteis:

Quero fazer...Comando
Ver onde estoupwd
Listar arquivosls
Entrar em uma pastacd
Criar uma pastamkdir
Criar um arquivotouch
Copiar um arquivocp
Mover um arquivomv
Remover um arquivorm
Ver conteúdocat
Procurar textogrep
Procurar arquivofind
Alterar permissãochmod
Alterar proprietáriochown
Ver processosps
Monitorar processostop
Ver espaço em discodf
Ver tamanho de arquivosdu
Ver memóriafree
Testar redeping
Consultar IPip
Baixar arquivowget
Fazer requisiçãocurl
Ver logsjournalctl
Gerenciar serviçossystemctl
Executar como administradorsudo
Consultar documentaçãoman

Como aprender Linux na prática?

A melhor forma de aprender Linux é praticar.

Em vez de tentar memorizar uma lista de comandos, crie pequenas tarefas no terminal.

Por exemplo:

mkdir laboratorio-linux
cd laboratorio-linux
touch arquivo.txt
echo "Meu primeiro arquivo Linux" > arquivo.txt
cat arquivo.txt
cp arquivo.txt backup.txt
ls -lah

Nesse pequeno exercício, você já praticou criação de diretório, navegação, criação de arquivo, escrita, leitura, cópia e listagem.

Depois, você pode avançar para tarefas mais próximas da rotina profissional, como analisar logs, verificar processos, investigar problemas de rede e acompanhar o uso de recursos do sistema.

Cuidados ao executar comandos Linux

*Nem todo comando encontrado na internet deve ser copiado e executado automaticamente.

Tenha atenção principalmente com comandos que utilizam sudo, removem arquivos, alteram permissões, modificam partições ou interferem em serviços.

Antes de executar um comando que você não conhece, procure entender:

  • O que ele faz?
  • Quais arquivos ele modifica?
  • Ele precisa de privilégios administrativos?
  • Quais argumentos estão sendo utilizados?
  • Existe risco de perda de dados?
  • É possível testá-lo em um ambiente seguro primeiro?

Quando estiver em dúvida, consulte a documentação:

man comando

Ou utilize a ajuda rápida:

comando --help

Conclusão

Aprender os comandos básicos Linux é um dos primeiros passos para desenvolver autonomia no terminal e avançar em áreas como desenvolvimento, infraestrutura, DevOps, Cloud Computing e administração de sistemas.

Você não precisa decorar os 90 comandos apresentados neste guia.

Comece pelos comandos de navegação e manipulação de arquivos, depois avance para permissões, processos, armazenamento, redes e administração.

O mais importante é transformar os comandos em prática.

Quanto mais você utiliza o terminal para resolver problemas reais, mais natural o Linux se torna.

E se você quer ir além dos comandos básicos e entender Linux de forma mais estruturada, continue seus estudos sobre administração de sistemas, processos, permissões, redes, shell e servidores.

Quer aprofundar seus conhecimentos em Linux?

 

Se você quer sair da teoria e entender como o Linux funciona na prática, conheça o ebook Linux: Da Teoria à Administração de Sistemas.

Você vai encontrar conteúdos para avançar dos fundamentos até conceitos importantes para administração de ambientes Linux.

Ebook Linux para iniciantes - Monte de Dados