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:
pwdJá:
lsA 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]ls -lah /homelsé o comando-lahsã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
| Comando | Para que serve | Exemplo |
|---|---|---|
pwd | Mostra o diretório atual | pwd |
ls | Lista arquivos e diretórios | ls |
cd | Navega entre diretórios | cd /home |
tree | Exibe diretórios em formato de árvore | tree |
find | Procura arquivos e diretórios | find . -name "arquivo.txt" |
locate | Localiza arquivos rapidamente | locate arquivo.txt |
which | Mostra a localização de um executável | which python |
whereis | Localiza binários, fontes e manuais | whereis bash |
basename | Mostra a parte final de um caminho | basename /home/user/arquivo.txt |
dirname | Mostra o diretório de um caminho | dirname /home/user/arquivo.txt |
pwd
O comando pwd mostra o caminho completo do diretório em que você está trabalhando.
pwd/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.
lsls -lls -als -lahcd
O comando cd permite navegar entre diretórios.
cd /homecd ..cd ~tree
O comando tree apresenta a estrutura de diretórios em formato de árvore.
treefind
O comando find permite procurar arquivos e diretórios.
find /home -name "arquivo.txt"find . -name "*.log".log a partir do diretório atual.locate
O locate permite encontrar arquivos utilizando uma base de dados indexada.
locate arquivo.txtwhich
O which mostra onde está localizado um executável.
which pythonwhereis
O whereis procura informações relacionadas a um comando, como binários e páginas de manual.
whereis bashbasename
O basename retorna a última parte de um caminho.
basename /home/usuario/documentos/arquivo.txtResultado:
arquivo.txtdirname
O dirname retorna o diretório presente em um caminho.
dirname /home/usuario/documentos/arquivo.txt2. Comandos Linux para arquivos e diretórios
| Comando | Para que serve | Exemplo |
|---|---|---|
touch | Cria arquivos | touch arquivo.txt |
mkdir | Cria diretórios | mkdir projetos |
cp | Copia arquivos e diretórios | cp arquivo.txt backup.txt |
mv | Move ou renomeia arquivos | mv arquivo.txt novo.txt |
rm | Remove arquivos | rm arquivo.txt |
rmdir | Remove diretórios vazios | rmdir pasta |
ln | Cria links | ln -s arquivo.txt atalho.txt |
file | Identifica o tipo de arquivo | file documento.pdf |
touch
Cria um arquivo vazio ou atualiza sua data de modificação.
touch arquivo.txtmkdir
Cria um novo diretório.
mkdir projetosPara criar vários diretórios de uma vez:
mkdir -p projetos/linux/comandoscp
Copia arquivos ou diretórios.
cp arquivo.txt backup.txtPara copiar um diretório:
cp -r projetos backupmv
Move ou renomeia arquivos e diretórios.
mv arquivo.txt documentos/Também pode ser utilizado para renomear:
mv antigo.txt novo.txtrm
Remove arquivos.
rm arquivo.txtPara 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 diretorioln
Cria links entre arquivos.
Para criar um link simbólico:
ln -s arquivo.txt atalho.txtfile
Identifica o tipo de um arquivo.
file documento.pdf3. Comandos Linux para visualizar e editar arquivos
| Comando | Para que serve | Exemplo |
|---|---|---|
cat | Exibe o conteúdo de arquivos | cat arquivo.txt |
less | Visualiza arquivos página por página | less arquivo.log |
more | Visualiza arquivos por partes | more arquivo.txt |
head | Mostra as primeiras linhas | head arquivo.log |
tail | Mostra as últimas linhas | tail arquivo.log |
nano | Edita arquivos no terminal | nano arquivo.txt |
vim | Edita arquivos usando Vim | vim arquivo.txt |
wc | Conta linhas, palavras e caracteres | wc -l arquivo.txt |
sort | Ordena linhas | sort nomes.txt |
uniq | Trabalha com linhas duplicadas | uniq nomes.txt |
cat
Exibe o conteúdo de um arquivo diretamente no terminal.
cat arquivo.txtTambém pode ser usado para concatenar arquivos:
cat arquivo1.txt arquivo2.txtless
Permite visualizar arquivos grandes página por página.
less arquivo.logmore
Também permite visualizar arquivos de maneira paginada.
more arquivo.txthead
Mostra as primeiras linhas de um arquivo.
head arquivo.logPara visualizar as primeiras 20 linhas:
head -n 20 arquivo.logtail
Mostra as últimas linhas de um arquivo.
tail arquivo.logUma opção muito utilizada para acompanhar logs em tempo real é:
tail -f arquivo.lognano
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.txtPara contar apenas linhas:
wc -l arquivo.txtsort
Ordena as linhas de um arquivo.
sort nomes.txtuniq
Remove ou identifica linhas duplicadas.
uniq nomes.txtUma combinação comum é:
sort nomes.txt | uniq4. Comandos Linux para busca e manipulação de texto
| Comando | Para que serve | Exemplo |
|---|---|---|
grep | Pesquisa textos em arquivos | grep "erro" sistema.log |
egrep | Pesquisa usando expressões regulares | egrep "erro|falha" sistema.log |
awk | Processa e analisa textos | awk '{print $1}' arquivo.txt |
sed | Edita e transforma textos | sed 's/Linux/linux/g' arquivo.txt |
cut | Extrai partes de linhas | cut -d "," -f 1 dados.csv |
tr | Substitui ou remove caracteres | tr 'a-z' 'A-Z' |
diff | Compara arquivos | diff arquivo1.txt arquivo2.txt |
xargs | Usa resultados como argumentos | find . -name "*.log" | xargs ls -l |
grep
O grep procura uma palavra ou padrão dentro de arquivos.
grep "erro" sistema.logPara 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.logAtualmente, 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.txtcut
O cut permite extrair partes específicas de uma linha.
cut -d "," -f 1 dados.csvtr
O tr substitui ou remove caracteres.
echo "linux" | tr 'a-z' 'A-Z'Resultado:
LINUXdiff
Compara dois arquivos e identifica diferenças entre eles.
diff arquivo1.txt arquivo2.txtPode 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 -l5. Comandos Linux para usuários e permissões
| Comando | Para que serve | Exemplo |
|---|---|---|
chmod | Altera permissões | chmod 755 script.sh |
chown | Altera proprietário | chown usuario arquivo.txt |
chgrp | Altera grupo | chgrp desenvolvedores arquivo.txt |
umask | Define permissões padrão | umask |
id | Mostra informações do usuário | id |
whoami | Mostra o usuário atual | whoami |
who | Mostra usuários conectados | who |
groups | Mostra grupos do usuário | groups |
passwd | Altera senha | passwd |
chmod
O chmod altera as permissões de arquivos e diretórios.
chmod 755 script.shEntender 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.txtchgrp
Altera o grupo associado a um arquivo.
chgrp desenvolvedores arquivo.txtumask
Consulta ou define permissões padrão utilizadas na criação de novos arquivos e diretórios.
umaskid
Mostra informações sobre o usuário atual, incluindo identificadores e grupos.
idwhoami
Mostra qual usuário está atualmente conectado.
whoamiwho
Lista usuários conectados ao sistema.
whogroups
Mostra os grupos dos quais um usuário participa.
groupspasswd
Permite alterar a senha de um usuário.
passwd6. Comandos Linux para processos
| Comando | Para que serve | Exemplo |
|---|---|---|
ps | Lista processos | ps aux |
top | Monitora processos em tempo real | top |
htop | Monitora processos de forma interativa | htop |
kill | Envia sinal para um processo | kill 1234 |
killall | Encerra processos pelo nome | killall processo |
jobs | Lista tarefas do shell | jobs |
bg | Executa tarefa em segundo plano | bg |
fg | Traz tarefa para primeiro plano | fg |
nice | Define prioridade de processo | nice -n 10 comando |
renice | Altera prioridade de processo | renice 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.
tophtop
Oferece uma interface interativa para acompanhar processos.
htopDependendo da distribuição Linux, pode ser necessário instalar o pacote antes.
kill
Envia um sinal para um processo.
kill 1234O número representa o PID do processo.
killall
Permite encerrar processos pelo nome.
killall processojobs
Mostra tarefas executadas pelo shell atual.
jobsbg
Coloca uma tarefa em segundo plano.
bgfg
Traz uma tarefa para o primeiro plano.
fgnice
Inicia um processo com uma prioridade específica.
nice -n 10 comandorenice
Altera a prioridade de um processo que já está em execução.
renice 10 -p 12347. Comandos Linux para disco e armazenamento
| Comando | Para que serve | Exemplo |
|---|---|---|
df | Mostra espaço disponível em disco | df -h |
du | Mostra espaço ocupado | du -sh /var/log |
free | Mostra uso de memória | free -h |
mount | Monta sistemas de arquivos | mount |
umount | Desmonta sistemas de arquivos | umount /mnt |
lsblk | Lista dispositivos de armazenamento | lsblk |
blkid | Identifica dispositivos e sistemas de arquivos | blkid |
fdisk | Gerencia partições | sudo fdisk -l |
tar | Compacta e extrai arquivos | tar -czvf backup.tar.gz documentos/ |
df
Mostra o espaço disponível e utilizado nos sistemas de arquivos.
df -hO 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/logfree
Mostra informações sobre memória RAM e swap.
free -hmount
Permite montar sistemas de arquivos.
mountumount
Desmonta um sistema de arquivos.
umount /mntlsblk
Lista dispositivos de armazenamento e suas partições.
lsblkblkid
Exibe informações sobre dispositivos de bloco e seus sistemas de arquivos.
blkidfdisk
É uma ferramenta utilizada para gerenciamento de partições.
sudo fdisk -lOperaçõ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.tarPara criar um arquivo .tar.gz:
tar -czvf backup.tar.gz documentos/8. Comandos Linux para redes
| Comando | Para que serve | Exemplo |
|---|---|---|
ip | Consulta e configura informações de rede | ip addr |
ping | Testa conectividade | ping google.com |
curl | Faz requisições e transfere dados | curl https://example.com |
wget | Baixa arquivos | wget https://example.com/arquivo.zip |
ss | Consulta conexões de rede | ss -tuln |
traceroute | Mostra o caminho de uma conexão | traceroute google.com |
dig | Consulta informações DNS | dig example.com |
nslookup | Consulta servidores DNS | nslookup example.com |
hostname | Consulta o nome do host | hostname |
ip
O comando ip permite consultar e configurar informações relacionadas à rede.
Para visualizar interfaces e endereços:
ip addrPara consultar rotas:
ip routeping
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.zipss
Exibe conexões, portas e sockets de rede.
ss -tulntraceroute
Mostra o caminho percorrido pelos pacotes até determinado destino.
traceroute google.comdig
Consulta informações relacionadas ao DNS.
dig example.comnslookup
Também pode ser utilizado para consultas DNS.
nslookup example.comhostname
Mostra o nome do computador ou servidor.
hostname9. Comandos Linux para informações do sistema
| Comando | Para que serve | Exemplo |
|---|---|---|
uname | Mostra informações do sistema | uname -a |
hostnamectl | Consulta informações do host | hostnamectl |
uptime | Mostra tempo de atividade | uptime |
date | Mostra data e hora | date |
history | Mostra comandos anteriores | history |
env | Mostra variáveis de ambiente | env |
echo | Exibe texto ou variáveis | echo $HOME |
man | Abre manuais de comandos | man ls |
clear | Limpa o terminal | clear |
uname
Exibe informações sobre o sistema operacional e o kernel.
uname -ahostnamectl
Mostra informações relacionadas ao hostname e ao sistema.
hostnamectluptime
Mostra há quanto tempo o sistema está funcionando.
uptimedate
Exibe a data e hora do sistema.
datehistory
Mostra comandos executados anteriormente.
historyVocê também pode pesquisar um comando no histórico:
history | grep sshenv
Mostra as variáveis de ambiente disponíveis.
envecho
Exibe uma mensagem ou o conteúdo de uma variável.
echo "Olá, Linux!"Também pode mostrar uma variável:
echo $HOMEman
O man abre o manual de determinado comando.
man lsSe quiser consultar rapidamente as opções de um comando, também pode utilizar:
ls --helpclear
Limpa o conteúdo exibido no terminal.
clear10. Comandos Linux para administração
| Comando | Para que serve | Exemplo |
|---|---|---|
apt | Gerencia pacotes em Debian e Ubuntu | sudo apt update |
dnf | Gerencia pacotes em sistemas baseados em RPM | sudo dnf install pacote |
yum | Gerencia pacotes em versões mais antigas de sistemas RPM | sudo yum install pacote |
systemctl | Gerencia serviços | systemctl status nginx |
service | Controla serviços | service nginx status |
journalctl | Consulta logs do systemd | journalctl -u nginx |
sudo | Executa comandos com privilégios elevados | sudo apt update |
su | Troca de usuário | su usuario |
apt
O apt é utilizado para gerenciar pacotes em distribuições baseadas em Debian, como Ubuntu.
Para atualizar a lista de pacotes:
sudo apt updatePara instalar um pacote:
sudo apt install nome-do-pacotednf
O dnf é utilizado para gerenciamento de pacotes em distribuições como Fedora e outros sistemas baseados em RPM.
sudo dnf install nome-do-pacoteyum
O yum é encontrado principalmente em versões mais antigas de distribuições baseadas em RPM.
sudo yum install nome-do-pacotesystemctl
O systemctl permite gerenciar serviços controlados pelo systemd.
Para verificar um serviço:
systemctl status nginxPara iniciar:
sudo systemctl start nginxservice
Permite controlar serviços em sistemas que utilizam o mecanismo tradicional de init ou compatibilidade.
sudo service nginx statusjournalctl
Permite consultar logs gerenciados pelo systemd.
journalctlPara consultar os logs de um serviço:
journalctl -u nginxsudo
O sudo permite executar comandos com privilégios administrativos quando o usuário possui autorização.
sudo apt updateTenha 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 usuario10 comandos Linux para aprender primeiro
Se você está começando agora, não tente aprender os 90 comandos de uma vez.
Comece por estes:
| Comando | O que você aprende |
|---|---|
pwd | Localização no sistema |
ls | Listagem de arquivos |
cd | Navegação |
mkdir | Criação de diretórios |
touch | Criação de arquivos |
cp | Cópia |
mv | Movimentação e renomeação |
rm | Remoção |
cat | Leitura de arquivos |
sudo | Administraçã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 estou | pwd |
| Listar arquivos | ls |
| Entrar em uma pasta | cd |
| Criar uma pasta | mkdir |
| Criar um arquivo | touch |
| Copiar um arquivo | cp |
| Mover um arquivo | mv |
| Remover um arquivo | rm |
| Ver conteúdo | cat |
| Procurar texto | grep |
| Procurar arquivo | find |
| Alterar permissão | chmod |
| Alterar proprietário | chown |
| Ver processos | ps |
| Monitorar processos | top |
| Ver espaço em disco | df |
| Ver tamanho de arquivos | du |
| Ver memória | free |
| Testar rede | ping |
| Consultar IP | ip |
| Baixar arquivo | wget |
| Fazer requisição | curl |
| Ver logs | journalctl |
| Gerenciar serviços | systemctl |
| Executar como administrador | sudo |
| Consultar documentação | man |
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 -lahNesse 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 comandoOu utilize a ajuda rápida:
comando --helpConclusã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.

