30 comandos que todo usuário de Linux deveria saber
Descubra os comandos essenciais para gerenciar servidores Linux e que podem facilitar seu dia a dia ao usar o terminal
A linha de comando é uma ferramenta fundamental para qualquer usuário do sistema operacional Linux. Ao contrário das interfaces gráficas, que podem ser limitadas em termos de controle e personalização, a linha de comando oferece um nível de flexibilidade e poder que pode melhorar significativamente a eficiência na administração do sistema, especialmente em ambientes de servidor. Compreender e dominar os comandos básicos é essencial para quem deseja explorar todo o potencial do Linux.
Neste texto, iremos explorar trinta comandos fundamentais que todo usuário de Linux deve conhecer. Desde tarefas simples, como navegar pelos diretórios do sistema e criar arquivos, até operações mais avançadas, como gerenciar processos e configurar permissões de arquivo, cada comando será acompanhado de exemplos práticos para facilitar o entendimento e a aplicação no mundo real. Ao final deste guia, você estará equipado com um conhecimento sólido para usar o terminal no Linux, pronto para aproveitar ao máximo o seu sistema operacional.
1. ls
O comando ls
é utilizado para listar o conteúdo de um diretório. Ele permite visualizar arquivos e pastas, e oferece várias opções para personalizar a saída.
Exemplo:
ls
Este comando exibe todos os arquivos e diretórios no diretório atual.
ls -l
A opção -l
fornece uma lista detalhada, incluindo permissões, número de links, proprietário, grupo, tamanho e data de modificação de cada arquivo.
ls -a
Com a opção -a
, o comando também lista arquivos ocultos (aqueles cujo nome começa com um ponto. Exemplo: .config).
2. cd
O cd
(change directory) é usado para navegar entre diretórios.
Exemplo:
cd /home
Este comando leva você ao diretório home.
cd ..
Utilizando cd ..
, você sobe um nível na estrutura de diretórios, retornando ao diretório pai.
cd /home/usuario/Documentos
Aqui, você navega diretamente para o diretório “Documentos” do usuário “usuario”.
Dica: Digitar apenas cd
e teclar Enter dentro de qualquer pasta leva direto para o diretório do usuário que está logado no terminal, como “/home/usuario”.
3. pwd
O comando pwd
(print working directory) exibe o caminho completo do diretório atual, ajudando você a se orientar dentro da estrutura de diretórios.
Exemplo:
pwd
Este comando retorna algo como /home/usuario/Downloads/Filmes
, indicando que você está em “Filmes”, dentro do diretório “Downloads” do seu usuário.
4. mkdir
Para criar um novo diretório, utilize mkdir
.
Exemplo:
mkdir projeto
Este comando cria um diretório chamado “projeto” no diretório atual.
mkdir -p /home/usuario/projetos/novo_projeto
Com a opção -p
, você pode criar diretórios e seus subdiretórios de uma vez só, mesmo que eles ainda não existam. Basta digitar o caminho incluindo até o último subdiretório. No exemplo acima, foi criado um diretório chamado “projetos” e um subdiretório “novo_projeto” dentro dele.
5. rm
O comando rm
é usado para remover arquivos. Para remover um diretório e todo o seu conteúdo, utilize rm -r
.
Exemplo:
rm arquivo.txt
Este comando remove o arquivo “arquivo.txt”.
rm -r diretorio
A opção -r
(recursiva) permite remover um diretório e todos os seus arquivos e subdiretórios.
6. cp
Com cp
, você pode copiar arquivos e diretórios.
Exemplo:
cp arquivo.txt /home/usuario/
Este comando copia “arquivo.txt” para o diretório “/home/usuario/”. Note que é necessário a presença de uma barra ao final do caminho para sinalizar que “usuário”, na ação, é um diretório e não um arquivo e que “arquivo.txt” deve ser copiado dentro dele.
cp -r /home/usuario/projeto /home/usuario/projeto_backup
A opção -r
permite copiar recursivamente um diretório e seu conteúdo. Neste caso, o diretório “projeto” e todo seu conteúdo são copiados para “projeto_backup”. Nesse caso, não é necessário a barra ao final dos caminhos dos diretórios “projeto” e “projeto_backup”, já que ambos os caminhos são diretórios.
7. mv
O mv
serve para mover ou renomear arquivos e diretórios.
Exemplo:
mv arquivo.txt novo_nome.txt
Este comando renomeia “arquivo.txt” para “novo_nome.txt”.
mv /home/usuario/arquivo.txt /home/usuario/Documentos/
Aqui, o arquivo “arquivo.txt” é movido para o diretório “Documentos”.
8. touch
O comando touch
é usado para criar arquivos vazios ou atualizar a data de modificação de um arquivo existente.
Exemplo:
touch novo_arquivo.txt
Este comando apenas cria um arquivo vazio chamado “novo_arquivo.txt” dentro do diretório que está sendo acessado.
Se “novo_arquivo.txt” já existir dentro daquele diretório, o comando atualiza a data de modificação do arquivo.
9. chmod
Para alterar as permissões de um arquivo ou diretório, utilize chmod
.
Exemplo:
chmod 755 script.sh
Este comando concede permissões de leitura, escrita e execução ao proprietário, e permissões de leitura e execução aos demais usuários para o arquivo “script.sh”.
chmod +x script.sh
Com +x
, você adiciona permissão de execução ao arquivo “script.sh”.
Você pode entender melhor como funcionam as permissões de permissões de leitura, escrita e execução no Linux com este tutorial que escrevi.
Veja também: Guia básico de permissões de leitura, escrita e execução de arquivos no Linux
10. chown
O chown
(change owner) altera o proprietário de um arquivo ou diretório.
Exemplo:
chown usuario:grupo arquivo.txt
Este comando define “usuario” como proprietário e “grupo” como o grupo do arquivo “arquivo.txt”.
chown -R usuario:grupo /home/usuario/projeto
A opção -R
permite alterar recursivamente o proprietário e o grupo de um diretório e todo o seu conteúdo. Neste caso, o diretório “projeto” e todos os seus arquivos e subdiretórios terão o proprietário e grupo alterados para “usuario” e “grupo”, respectivamente.
11. echo
O comando echo
é usado para exibir uma linha de texto na tela ou redirecionar essa linha para um arquivo.
Exemplo:
echo "Olá, Mundo!"
Este comando imprime “Olá, Mundo!” no terminal.
echo "Linha de texto" >> arquivo.txt
Aqui, “Linha de texto” é adicionada ao final do arquivo “arquivo.txt”.
12. cat
O cat
(concatenate) é usado para exibir o conteúdo de um arquivo ou concatenar vários arquivos.
Exemplo:
cat arquivo.txt
Este comando exibe o conteúdo de “arquivo.txt” no terminal.
cat arquivo1.txt arquivo2.txt > arquivo3.txt
Aqui, os conteúdos de “arquivo1.txt” e “arquivo2.txt” são concatenados e redirecionados para “arquivo3.txt”.
13. grep
O comando grep
é usado para procurar por padrões específicos dentro de arquivos.
Exemplo:
grep "palavra" arquivo.txt
Este comando procura por “palavra” dentro de “arquivo.txt” e exibe as linhas que contêm a palavra.
grep -r "palavra" /home/usuario/projetos
Com a opção -r
, o grep
procura recursivamente em todos os arquivos dentro de “/home/usuario/projetos”.
14. find
O comando find
é usado para buscar arquivos e diretórios com base em critérios específicos.
Exemplo:
find /home/usuario -name "arquivo.txt"
Este comando busca por “arquivo.txt” dentro do diretório “/home/usuario”.
find /home -type f -size +1M
Aqui, find
procura por arquivos (-type f
) maiores que 1 MB (-size +1M
) dentro do diretório “/home/usuario”.
15. tar
O tar
é usado para criar, extrair e manipular arquivos .tar
(arquivos de arquivamento, como o .zip
no Windows).
Exemplo:
tar -cvf arquivo.tar diretorio/
Este comando cria um arquivo .tar
chamado “arquivo.tar” a partir do conteúdo do diretório “diretorio”.
tar -xvf arquivo.tar
Aqui, o conteúdo de “arquivo.tar” é e extraído no diretório que está sendo acessado no terminal.
Você também pode criar aquivos compactados com a biblioteca XZ e seu algoritmo de compressão apenas adicionando .xz
ao final do nome do aquivo, como em tar -cvf arquivo.tar.xz
e descompactar como tar -xvf arquivo.tar.xz
.
16. wget
O wget
é uma ferramenta para baixar arquivos da web via linha de comando.
Exemplo:
wget http://example.com/arquivo.zip
Este comando baixa o arquivo “arquivo.zip” do site “example.com”.
wget -r http://example.com/
Com a opção -r
, o wget
baixa todo o conteúdo do site “example.com” recursivamente.
17. ps
O comando ps
exibe informações sobre os processos em execução no sistema.
Exemplo:
ps aux
Este comando mostra uma lista detalhada de todos os processos em execução, incluindo informações como o usuário, PID, uso de CPU e memória.
ps -ef
Outra forma de listar todos os processos, mas com um formato de saída diferente.
18. kill
O kill
é usado para encerrar processos com base no seu PID (Process ID).
Exemplo:
kill 1234
Este comando envia um sinal de término ao processo com o PID 1234.
kill -9 1234
O sinal -9
força a finalização imediata do processo com o PID 1234.
Além do kill
, existe o comando killall
, que encerra todos os processos com um determinado nome. Ele é útil quando você precisa parar vários processos ao mesmo tempo sem saber seus PIDs.
Exemplo:
killall nome_do_processo
Este comando envia um sinal de término para todos os processos com o nome especificado.
killall -9 nano
Assim como o kill -9
, o killall -9
força a finalização imediata de todos os processos do editor de textos nano
que estejam rodando.
19. df
O comando df
exibe informações sobre o uso de espaço em disco das partições do sistema.
Exemplo:
df -h
A opção -h
mostra a saída em um formato legível para humanos, exibindo tamanhos em KB, MB ou GB.
20. du
O du
(disk usage) mostra o uso de espaço em disco por arquivos e diretórios.
Exemplo:
du -sh /home/usuario
Este comando exibe o tamanho total do diretório “/home/usuario” em um formato legível.
du -a /home/usuario
Aqui, o du
exibe o uso de espaço em disco para todos os arquivos e subdiretórios dentro de “/home/usuario”.
21. head
O comando head
é utilizado para exibir as primeiras linhas de um arquivo.
Exemplo:
head arquivo.txt
Este comando exibe as primeiras 10 linhas de “arquivo.txt”.
head -n 5 arquivo.txt
Com a opção -n
, você pode especificar o número de linhas a serem exibidas. Neste caso, serão exibidas as primeiras 5 linhas.
22. tail
O tail
é utilizado para exibir as últimas linhas de um arquivo. É especialmente útil para monitorar logs.
Exemplo:
tail arquivo.txt
Este comando exibe as últimas 10 linhas de “arquivo.txt”.
tail -f /var/log/pacman.log
A opção -f
permite seguir o arquivo log do gerenciador de pacotes do Arch Linux em tempo real, mostrando novas linhas à medida que são adicionadas. Para encerrar o monitoramento, basta digitar Ctrl + C
.
23. nano
O nano
é um editor de texto simples e fácil de usar diretamente no terminal.
Exemplo:
nano arquivo.txt
Este comando abre “arquivo.txt” no editor nano
, permitindo que você edite o arquivo.
Ao editar um arquivo no nano
, é importante conhecer os atalhos para salvar e fechar o editor. Para salvar o arquivo, pressione Ctrl + O
(escrever, do inglês write out) e, em seguida, pressione Enter
para confirmar. Para sair do editor, utilize o atalho Ctrl + X
(sair, do inglês exit). Se houverem modificações não salvas, o nano
perguntará se deseja salvar as alterações antes de sair.
24. top
O comando top
exibe uma visão dinâmica em tempo real dos processos em execução no sistema.
Exemplo:
top
Este comando exibe uma lista interativa dos processos, incluindo informações sobre uso de CPU, memória e mais.
25. htop
O htop
é uma versão aprimorada do top
, oferecendo uma interface mais amigável e opções adicionais.
Exemplo:
htop
Este comando abre o htop
, que permite visualizar e gerenciar processos de forma interativa.
26. ip
O ip
(substituto do ifconfig
, ainda encontrado em algumas distribuições) é utilizado para configurar interfaces de rede e visualizar informações detalhadas sobre as interfaces de rede do sistema.
Exemplo:
ip link show
Este comando exibe informações sobre todas as interfaces de rede ativas no sistema.
ip link set eth0 up
Este comando ativa a interface de rede “eth0”.
27. ping
O ping
é usado para testar a conectividade de rede entre o seu computador e outro dispositivo.
Exemplo:
ping belenos.me
Este comando envia pacotes ICMP para “belenos.me” e exibe o tempo de resposta.
28. ss
O comando ss
(substituto do netstat
) exibe informações sobre conexões de rede, tabelas de roteamento e outras estatísticas de rede.
Exemplo:
ss -a
A opção -tuln
exibe todas as portas TCP e UDP abertas, com detalhes sobre as conexões.
ss -a | grep 50000
O comando acima filtra a listagem apenas para a porta TCP 50000.
29. ssh
O ssh
(Secure Shell) permite acessar e gerenciar remotamente outro computador através de uma conexão segura.
Exemplo:
ssh usuario@192.168.1.10
Este comando inicia uma sessão SSH com o usuário “usuario” no endereço IP “192.168.1.10”.
Em exemplos mais práticos, você pode usar o ssh
, por exemplo, para gerenciar aquivos para um diretório no GitHub de sua propriedade com o comando ssh -T git@github.com
.
30. scp
O scp
(secure copy) é utilizado para copiar arquivos entre computadores de forma segura, utilizando o protocolo SSH.
Exemplo:
scp arquivo.txt usuario@192.168.1.10:/home/usuario/
Este comando copia “arquivo.txt” do seu computador para o diretório “/home/usuario/” no computador remoto com o endereço IP “192.168.1.10”.
Continue sempre aprendendo mais
Estudar e dominar os comandos da linha de comando no Linux é um investimento valioso para qualquer usuário que deseja explorar todo o seu potencial. Os comandos discutidos neste texto são apenas uma introdução ao vasto conjunto de ferramentas disponíveis via linha de comando no Linux. Com prática e experiência, você descobrirá cada vez mais funcionalidades que podem tornar suas tarefas diárias mais eficientes e produtivas.
No entanto, é fundamental lembrar que o uso inadequado ou descuidado de comandos pode resultar em alterações indesejadas no sistema, perda de dados ou até mesmo comprometer a segurança do ambiente. Por isso, é importante estudar cuidadosamente cada comando, entender suas opções e implicações, e, sempre que possível, testar comandos em um ambiente seguro antes de aplicá-los em sistemas críticos.
Com um conhecimento sólido e uma abordagem cautelosa, você estará preparado para aproveitar ao máximo as capacidades do Linux, tornando-se um usuário mais competente e confiante. Continue explorando, aprendendo e aperfeiçoando suas habilidades na linha de comando, e você verá como o Linux pode ser uma ferramenta poderosa e versátil no seu dia a dia.