Os comandos Linux mais usados
- Gustavo Viana
- Linux
- 6 de fevereiro de 2024
O Linux é um sistema operacional poderoso e flexível, mas pode intimidar usuários iniciantes porém, uma das melhores maneiras de começar a usar o Linux é aprender os comandos mais usados! Neste guia abrangente, vamos explorar os comandos mais utilizados no Linux, proporcionando uma base sólida para aproveitar ao máximo o sistema operacional.
O que é um comando no linux?
Antes de tudo, um comando no Linux é o ato de executar algum programa ou binário. Ou seja, você está informando ao sistema operacional uma atividade a ser executada. Os comandos são executados através da interface de linha de comando (CLI) e, em alguns casos, trará algum tipo de retorno (ou saída/output).
Sintáxe básica de um comando linux
O uso básico de um comando no Linux pode ser representado como:
nome-do-comando [flags] [parâmetros]
As flags são opções adicionais (em alguns casos obrigatórias) para que o comando seja executado. Um exemplo clássico é o uso do comando grep (que aprofundaremos mais abaixo neste post):
grep -sr texto
No exemplo acima utilizamos:
- O comando grep
- A(s) flag(s) -sr
- O parâmetro texto
Comandos mais usados no linux
Aqui veremos os 100 comandos do Linux mais usados, vamos lá?
1. Comando cd
O comando cd é usado para acessar um diretório ou pasta. Por exemplo, para acessar o diretório /tmp basta executar:
cd /tmp
Para retornar ao diretório em que você estava, pode-se utilizar:
cd -
Para subir um nível (por exemplo, você está em /home/kali/ e quer ir para /home/), pode-se utilizar:
cd ..
2. Comando pwd
O comando pwd serve para identificar em qual diretório atualmente você está.
pwd
3. Comando ls
O comando ls é utilizado para visualizar qual o conteúdo de determinado diretório. Em outras palavras, é como se você acessasse uma pasta e estivesse vendo quais arquivos e outras pastas existem lá dentro.
Flag | Descrição |
---|---|
-a | Visualiza arquivos ocultos |
-l | Visualiza arquivos e pastas em um formato de lista |
-h | Visualiza tamanho dos arquivos em um formato mais fácil para humanos (como Kb,Mb ou GB) |
Você também pode juntar todas as flags de uma vez só:
ls -lha
4. Comando cat
Para visualizar o conteúdo de um arquivo você pode utilizar o comando cat. No exemplo abaixo estamos visualizando o conteúdo do arquivo “emails.txt”:
cat emails.txt
Você também pode especificar um arquivo que está em um outro local, por exemplo /tmp/emails.txt:
cat /tmp/emails.txt
5. Comando tac
O comando tac é o contrário do comando cat, ou seja, ao invés de exibir o arquivo em ordem descendente, ele exibirá o arquivo de “cabeça para baixo”, ou seja, de baixo para cima.
tac arquivo.txt
Por exemplo, se o conteúdo do arquivo.txt for:
1
2
3
O tac exibirá da seguinte maneira:
3
2
1
6. Comando cp
O comando cp é utilizado para copiar arquivos e diretórios. No exemplo abaixo estamos copiando o arquivo teste.txt para o diretório /home/kali/Downloads:
cp teste.txt /home/kali/Downloads
Copiar vários arquivos de uma só vez
Basta inserir os nomes dos arquivos e, em seguida, o diretório de destino:
cp teste.txt arquivo.txt musica.mp3 /home/kali/Downloads
Copiar um diretório e todos os arquivos
Para copiar um diretório inteiro, use a flag -R desta maneira:
cp -R /home/kali/Downloads /home/kali/Downloads_old
7. Comando mv
O comando mv é utilizado para mover arquivos e pastas de lugar, no entanto, também serve para renomeá-los.
No exemplo abaixo estamos renomeando o arquivo teste.txt para novo-teste.txt:
mv teste.txt novo-teste.txt
Caso você queira movimentar o arquivo para outro diretório, basta inserir o diretório de destino, por exemplo:
mv teste.txt /home/kali/Downloads/
8. Comando mkdir
Use o comando mkdir para criar um novo diretório ou pasta, funciona da seguinte maneira:
mkdir nova-pasta
Se você quiser criar pastas subsequentes, utilize a flag -p:
mkdir nova-pasta/outra-pasta-que-nao-existia/mais-uma-pasta
9. Comando rm
O comando rm serve para remover arquivos ou diretórios. No exemplo abaixo estamos realizando a remoção do arquivo teste.txt:
rm teste.txt
Flag | Descrição |
---|---|
-r | Remove arquivos e diretórios de forma recursiva (necessário para excluir pastas) |
-f | Força a remoção do arquivo, para que não haja sequer pergunta de confirmação |
Remover todos os arquivos de um diretório
No exemplo abaixo estamos removendo todos os arquivos e diretórios dentro da pasta /home/kali/Downloads/:
rm -rf /home/kali/Downloads/*
10. Comando rmdir
Apesar de ser possível excluir pastas/diretórios com o comando rf (ao utilizar a flag -r), também pode-se removê-las com o comando rmdir:
rmdir nome-da-pasta
11. Comando touch
O comando touch cria um arquivo vazio ou altera a data de modificação de um arquivo já existente:
touch meu-arquivo.txt
12. Comando grep
O comando grep serve para encontrar determinado texto em arquivos. Por exemplo, caso você queira visualizar todas as linhas que contém a palavra “senha” no arquivo “teste.txt”, basta executar:
grep senha teste.txt
Flag | Descrição |
---|---|
-s | Modo silencioso (não trará erros de permissão, por exemplo) |
-r | Modo recursivo |
-h | Não traz o nome do arquivo que deu match com a sua busca (apenas caso você esteja buscando em mais de um arquivo) |
-i | Case insensitive (ignora maiúsculo e minúsculo) |
13. Comando zgrep
O comando zgrep é similar ao comando grep e possui as mesmas flags disponíveis. No entanto, através dele, é possível buscar textos em arquivos compactados (como por exemplo arquivos .gz).
zgrep texto /var/log/arquivo.gz
14. Comando egrep
O comando egrep é um atalho para o comando grep com a flag -E, que permite o uso de expressões regulares (regex) durante as suas buscas de texto.
Por exemplo, caso você queira trazer as linhas que possuem as palavras teste ou iron ou linux no arquivo palavras.txt, você pode utilizar:
egrep "teste|iron|linux" palavras.txt
Outro exemplo clássico é o uso de ranges alfanuméricos. No exemplo abaixo, queremos grepar a palavra teste seguido de 3 caracteres alfanuméricos, de A até Z minúsculo e maiúsculo e qualquer número de 0 a 9:
egrep "teste[a-zA-Z0-9]{3}" palavras.txt
15. Comando head
O comando head é similar ao comando cat porém, você consegue especificar quantas linhas você quer. Se você simplesmente executar o comando sem nenhuma flag, serão retornadas as 10 primeiras linhas do arquivo:
head arquivo.txt
E se você quiser trazer as 30 primeiras linhas do arquivo.txt:
head -n 30 arquivo.txt
16. Comando tail
O comando tail é similar ao comando tac porém, você consegue especificar quantas linhas você quer. Se você simplesmente executar o comando sem nenhuma flag, serão retornadas as 10 últimas linhas do arquivo:
tail arquivo.txt
E se você quiser trazer as 30 últimas linhas do arquivo.txt:
tail -n 30 arquivo.txt
Você também pode usar a flag -f para que, caso sejam incluídos novas linhas no arquivo, apareça para você. É como se você acompanhasse as novas inclusões no arquivo:
tail -f arquivo.txt
17. Comando sudo
O comando sudo executa determinado comando como root (ou super user). Para utilizá-lo basta inserir o sudo antes do comando que você quer executar:
sudo [comando-a-ser-executado] [flags] [parâmetros]
Exemplo:
sudo ps aux
Para visualizar todos os comandos sudo disponíveis para o seu usuário, execute:
sudo -l
18. Comando find
O comando find é usado para encontrar arquivos e diretórios. Como já temos um tutorial completo neste blog sobre este comando, aqui será colocado apenas um exemplo de busca de arquivo com o nome teste.txt:
find / -type f -name teste.txt
19. Comando locate
Você pode utilizar o comando locate para localizar arquivos. Por exemplo, para localizar o caminho de arquivos que terminem com .png você pode executar:
locate *.png
Ou para identificar qualquer arquivo que inicie com teste e ignorando case sensitive (-i):
locate -i teste*
20. Comando whereis
Através do comando whereis é possível localizar o caminho do binário, o código fonte e o manual de determinado binário/comando. Por exemplo, para identificar estes 3 itens do comando/binário grep pode-se executar:
whereis grep
21. Comando which
O comando which serve para localizar o caminho completo de determinado binário/comando:
whereis grep
22. Comando zip
O comando zip compacta arquivos para o formato .zip. Se você quiser compactar o arquivo arquivo.txt, basta executar:
zip arquivo-compactado.zip arquivo.txt
Para compactar um diretório inteiro, execute:
zip -r pasta-compactada.zip nome-da-pasta
23. Comando unzip
Agora que você tem um arquivo zip, você pode descompactá-lo através do comando unzip, o uso é simples:
unzip arquivo-compactado.zip
24. Comando tar
Através do comando tar é possível compactar ou descompactar arquivos com mais eficiência. Veja a tabela abaixo com as flags mais utilizadas:
Flag | Descrição |
---|---|
-x | Extrai ou descompacta arquivos |
-v | Modo verboso |
-f | Especifica o nome do arquivo |
-z | Usa compressão gzip |
-j | Usa compressão bzip2 |
-J | Usa compressão xz |
Para compactar um diretório para o formato .tar.gz utilize o comando:
tar -czvf arquivo-compactado.tar.gz nome-da-pasta-para-compactar
Para descompactar utilizando o comando tar, execute:
tar -xvf arquivo-compactado.tar.gz
25. Comando gunzip
Para descompactar arquivos gzip (.gz), utilize o comando gunzip:
gunzip arquivo-compactado.gzip
26. Comando chown
O comando chown é responsável por alterar o dono de determinado arquivo ou diretório no Linux. Já temos um post falando sobre permissões de arquivos. Para vê-lo, clique aqui .
Para alterar o dono de apenas um arquivo, utilize o comando:
chown kali arquivo.txt
Para alterar o dono e o grupo de um diretório:
chown kali:kali /home/kali
Para alterar o dono e o grupo de um diretório de forma recursiva:
chown -R kali:kali /home/kali
27. Comando chmod
O comando chmod serve para alterar as permissões de um arquivo ou diretório. Por exemplo, para alterar a permissão de um arquivo para 644, execute:
chmod 644 arquivo.txt
Para alterar a permissão de forma recursiva em um diretório:
chmod 755 /home/kali/pasta
28. Comando ps
Com o comando ps é possível visualizar o status dos processos em execução no sistema operacional. Por exemplo, para visualizar todos os processos em execução, basta executar o comando:
ps aux
E para visualizar os processos de um único usuário (root por exemplo), execute:
ps -u root u
29. Comando top
O comando top é usado para monitorar o desempenho do sistema em tempo real e, por padrão, já vem instalado nas distribuições Linux.
top
30. Comando htop
O comando htop é similar ao comando top porém, fornece uma interface mais interativa com o usuário. Inclusive já temos um post sobre este comando aqui no blog: O comando HTOP no Linux .
htop
31. Comando kill
Se você quer finalizar um programa ou processo, você pode fazer isso com o comando kill. Existem diversos sinais que você pode utilizar, mas aqui focaremos em 2:
Sinal | Descrição |
---|---|
9 | SIGKILL - Força um programa ou processo a finalizar imediatamente. O processo não pode ignorar este sinal. |
15 | SIGTERM - Requisita que um processo pare de ser executado. Este sinal pode ser ignorado pelo processo. |
Exemplo de uso:
kill -9 [número-do-PID]
Se você não souber o número do PID, basta executar o comando ps aux para obter a lista de processos e seus respectivos PIDs (process ID).
32. Comando curl
Através do comando curl é possível enviar ou receber dados de um servidor. Já existe um post completo sobre este comando no nosso blog: O comando curl .
Para receber dados HTTP:
curl https://seu-site.com.br
Para enviar dados HTTP via POST:
curl -X POST https://seu-site.com.br --data-binary '@/home/kali/arquivo.txt'
33. Comando wget
Para baixar arquivos no Linux, utilize o comando wget. O wget funciona com os protocolos HTTP, HTTPS e FTP. O uso básico é:
wget https://1-site-de-exemplo.com.br/arquivo.zip
Você pode especificar em qual caminho você quer gravar o arquivo que fez o download:
wget https://1-site-de-exemplo.com.br/arquivo.zip -O /tmp/arquivo.zip
34. Comando awk
Já temos um post aqui no blog sobre O comando AWK mas, basicamente, este é um comando muito utilizado para manipular texto.
Um exemplo básico é quando você quer apresentar apenas a primeira coluna de determinado texto ou arquivo:
awk '{print $1}' arquivo.txt
Se você quiser utilizar um delimitador (como vírgula, por exemplo), pode-se executar da seguinte maneira:
awk -F',' '{print $1}' arquivo.txt
35. Comando sed
Assim como o awk, o comando sed é muito utilizado para formatação ou manipulação de textos. Já temos um post completo aqui no blog sobre este assunto: O comando SED .
Um exemplo básico de uso seria a substituição de palavras. No exemplo abaixo, estamos substituindo todas as palavras iron por linux:
sed 's/iron/linux/g' arquivo.txt
O g no final do comando significa que as substituições serão globais. Ou seja, ocorrerão mais de uma vez por linha.
36. Comando history
Já temos um post aqui no blog sobre o comando history mas, basicamente, este comando realiza a leitura do arquivo ~/.bash_history, que armazena os comandos executados anteriormente.
Para ver o histórico de comandos no Linux, execute:
history
Você pode limpar seu histórico através do comando:
history -c
37. Comando man
O comando man fornece um manual completo de determinado programa ou binário. Através dele você conseguirá identificar quais são as flags ou opções disponíveis para cada comando.
Por exemplo, para visualizar o manual do comando cat, execute:
man cat
38. Comando uname
O comando uname (Unix Name) mostra informações sobre o seu sistema operacional Linux, incluindo o hostname, nome do Kernel e versão do Kernel.
Por exemplo, para exibir todas as informações, execute:
uname -a
Outras flags úteis:
Flag | Descrição |
---|---|
-s | Exibe o nome do Kernel |
-v | Exibe a versão do Kernel |
-r | Exibe a release do Kernel |
39. Comando hostname
Use o comando hostname para saber qual o nome do seu sistema/máquina. Inclusive, caso você queira alterar o hostname da sua máquina, veja o nosso tutorial: Alterar hostname no Linux .
hostname
40. Comando hostnamectl
O uso mais comum para o comando hostnamectl é a alteração do hostname Linux. Por exemplo, para realizar a alteração do hostname, utilize o comando abaixo:
hostnamectl set-hostname novo-hostname-desejado
41. Comando useradd
O comando useradd serve para criar um novo usuário no sistema porém, não cria o homedir do usuário de maneira automática e não é interativo. Para criar um novo usuário execute:
useradd ironlinux
Note
Lembre-se que para gerenciar usuários e grupos no Linux é preciso estar com privilégio elevado, utilizando sudo ou o usuário root.
42. Comando adduser
Assim como o comando useradd, o comando adduser também adiciona um novo usuário no sistema. No entanto, ele cria automaticamente o homedir do usuário e solicita também a senha desejada:
adduser ironlinux
43. Comando userdel
Você pode remover um usuário no Linux utilizando o comando userdel:
userdel nome-do-usuario
44. Comando deluser
O comando deluser também serve para remover usuários do sistema porém possui algumas opções interessantes, veja algumas:
Opção | Descrição |
---|---|
–remove-home | Remove também o diretório home do usuário (normalmente fica em /home/[usuário] |
–remove-all-files | Remove todos os arquivos que pertencem ao usuário, mesmo que esteja fora do homedir |
–backup | Realiza backup dos arquivos antes de excluir |
–backup-to [diretório-de-destino] | Diretório para gravar o backup |
Por exemplo, para remover um usuário do Linux, incluindo todos os arquivos dele e realizar um backup para o diretório /tmp, execute: OBS: Neste caso estamos removendo o usuário fictício ironlinux:
deluser --force --remove-home --remove-all-files --backup --backup-to /tmp/pasta-do-usuario ironlinux
45. Comando addgroup
O comando addgroup serve para adicionar um novo grupo no Linux. Para isso, execute o comando:
addgroup nome-do-novo-grupo
46. Comando delgroup
O comando addgroup serve para adicionar um novo grupo no Linux. Para isso, execute o comando:
addgroup nome-do-novo-grupo
47. Comando groupmems
O comando groupmems serve para administrar grupos no Linux. Por exemplo, se você quiser remover um grupo e todos os usuários dele, basta executar:
groupmems --purge --group nome-do-grupo
48. Comando ping
O comando ping serve para verificar se um determinado host ou IP está acessível. O comando envia pacotes ICMP para o destino aguardando uma resposta do mesmo:
ping blog.ironlinux.com.br
49. Comando diff
Se você quiser comparar conteúdo de arquivos, poderá utilizar o comando diff. Para isso, execute:
diff arquivo1 arquivo2
Também é possível retornar linhas que existem apenas no arquivo1 e não no arquivo2, veja:
diff --new-line-format="" --unchanged-line-format="" arquivo1 arquivo2
A saída padrão do diff pode ser um pouco confusa no início, mas veja esta tabela explicativa:
Texto | Explicação |
---|---|
3c3 | Indica que a linha diferente é a 3 em ambos arquivos |
3c3,4 | Indica que as linhas 3 e 4 são diferentes no segundo arquivo |
— | Separação do que deve ser substituído para que o arquivo fique igual |
> | Indica que a informação deve ser incluída para que o arquivo fique igual |
< | Indica que a informação deve ser retirada para que o arquivo fique igual |
50. Comando du
O comando du é útil para identificar quanto de espaço em disco um arquivo ou diretório está ocupando atualmente. Veja a lista de flags mais usadas:
Opção | Descrição |
---|---|
-h | Mostra o tamanho de forma legível para humanos, por exemplo: 1K, 234M, 2G, etc. |
-c | Mostra o total (soma) dos arquivos e diretórios selecionados |
Por exemplo, para mostrar o tamanho de todos os arquivos e diretórios dentro do /tmp e incluir a soma, utilize o comando:
du -ch /tmp/*
51. Comando df
O comando df é usado para obter informações sobre o uso de espaço em disco nas partições do sistema. As opções mais usadas são:
Opção | Descrição |
---|---|
-h | Mostra o tamanho de forma legível para humanos, por exemplo: 1K, 234M, 2G, etc. |
-T | Mostra o tipo de partição (tmpfs, ext4, etc.) |
Por exemplo, para ver no formato legível quanto cada partição está utilizando de disco, execute:
df -h
52. Comando ln
O comando ln foi feito para criar links entre arquivos. Você provavelmente já ouviu falar de criação de symlink (ou link simbólico) e essa é uma das funções deste comando.
Por exemplo, para criar um link simbólico execute o seguinte comando:
ln -s arquivo-que-ja-existe caminho-do-novo-link-simbolico
53. Comando crontab
O comando contab é útil para agendar tarefas no Linux. Essas tarefas são execuções de programas ou scripts que você definiu em um horário que você queira. Por exemplo, caso você queira executar um script todos os dias às 10h da manhã, o crontab cuidará disso pra você.
Para editar as tarefas, execute o seguinte comando:
crontab -e
Para listar as tarefas agendadas:
crontab -l
E para remover todas as tarefas agendadas:
crontab -r
Abaixo está uma tabela para facilitar o uso do cron:
Configuração | Descrição |
---|---|
5 0 * 8 * touch /tmp/teste.txt | Executa o comando touch /tmp/teste.txt às 00h05 todos os dias no mês de Agosto |
* * 14 1 * /root/script.sh | Executa o script /root/script.sh a todo minuto do dia 14 no mês de Janeiro |
* 12 * * 1-5 bash /home/ubuntu/cron.sh | Executa o comando bash /home/ubuntu/cron.sh às 12h todos os dias da semana |
54. Comando shred
Já temos um post completo aqui no blog sobre o comando shred , mas em resumo, esse comando é utilizado para excluir um arquivo de forma segura, sobrescrevendo-o para que seja muito mais difícil realizar a recuperação do mesmo.
Para realizar a operação em um arquivo com o comando shred, execute-o conforme o exemplo:
shred arquivo.txt
55. Comando tr
O comando tr é usado para transformar ou substituir caracteres.
Por exemplo, para substutir todo o texto minúsculo para maiúsculo você pode executar:
cat arquivo.txt | tr a-z A-Z
ou:
cat arquivo.txt | tr [:lower:] [:upper:]
E se você quiser substituir vírgula por uma quebra de linha:
cat arquivo.txt | tr ',' '\n'
56. Comando ssh
O comando ssh (Secure Shell) é utilizado para que você consiga acessar outras máquinas. O uso básico é:
ssh usuario@ip-do-servidor
Uma opção muito utilizada é o -i, cujo argumento recebe uma chave privada (para que você não tenha que saber a senha. Se você não sabe como configurar uma chave no Linux, veja este nosso post .
ssh -i ~/.ssh/minha_chave [email protected]
Note
Lembre-se que se o nome da sua chave for padrão (por exemplo id_rsa), você não precisa especificá-la com a flag -i.
57. Comando scp
O comando scp (OpenSSH secure file copy) é utilizado para transferir arquivos (download ou upload) através do protocolo SSH.
Para baixar um arquivo remoto utilize o seguinte comando (OBS: O . é o caminho que você quer gravar o arquivo, neste caso, o diretório em que você está):
scp usuario@ip-do-servidor:/caminho/do/arquivo.txt .
Para realizar um upload para o diretório /var/www/html/ e usar uma chave privada para autenticar-se, execute:
scp -i ~/.ssh/id_rsa_nova ./Downloads/arquivo.zip [email protected]:/var/www/html/
58. Comando whoami
O comando whoami é usado para que você identifique com qual usuário você está logado ou autenticado no momento.
whoami
59. Comando wc
O comando wc conta linhas, palavras e caracteres existem em determinado arquivo ou output. Uso básico:
wc arquivo.txt
Também é possível contar a partir de um output. Por exemplo, vamos contar apenas as linhas do arquivo.txt:
cat arquivo.txt | wc -l
Flag | Descrição |
---|---|
-l | Conta apenas as linhas |
-c | Conta apenas os caracteres |
-w | Conta apenas as palavras |
60. Comando uniq
O comando uniq do Linux suprime linhas sequenciais repetidas. Se você quiser apenas suprimir todas as linhas repetidas de um arquivo, você pode utilizá-lo em conjunto com o comando sort, veja:
sort arquivo.txt | uniq
Você também pode contar quantas linhas repetidas existem, por exemplo:
cat arquivo.txt | sort | uniq -c
61. Comando netstat ou ss
O comando ss (antigo netstat) é útil para investigar os sockets (ou conexões de rede) que atualmente estão ativos na máquina. Veja algumas opções mais usadas:
Flag | Descrição |
---|---|
-n | Não resolve endereços IP e portas para serviços |
-t | Mostra somente conexões TCP |
-p | Mostra o processo que gerou a conexão |
-l | Lista apenas as portas abertas (que estão LISTEN ou ouvindo, isto é, aguardando conexões de clientes) |
-a | Lista todas as conexões |
-4 | Mostra somente IPv4 |
-6 | Mostra somente IPv6 |
Por exemplo, para visualizar todas as portas TCP que estão ouvindo em sua máquina sem resolver os nomes de hosts/portas, basta executar:
ss -ntpl
E se você quiser visualizar todas as conexões TCP que estão em andamento no momento sem resolver os nomes de hosts/portas, execute:
ss -antp
62. Comando ifconfig ou ip
Os comandos ifconfig e ip servem para visualizar detalhes das suas interfaces de rede e gerenciá-las. Pelo fato do comando ip ser mais novo, mais verboso e completo, recomendado sempre utilizá-lo.
Para visualizar todas as suas interfaces de rede, execute:
ip a
Se você quiser adicionar um IP em uma interface, poderá executar:
ip a add 192.168.0.150 dev eth0
Se você quiser ligar (up) ou desligar (down) uma interface:
ip link set eth0 up
63. Comando env
O comando env serve para que você visualize todas as variáveis de ambiente da máquina:
env
64. Comando last
O comando last no Linux é usado para ver o histórico de login dos usuários:
last
65. Comando uptime
O comando uptime no Linux é usado para ver o tempo de atividade do sistema, o número de usuários conectados e o load médio (load average) do sistema nos últimos 1, 5 e 15 minutos:
uptime
66. Comando echo
O comando echo é utilizado para enviar um texto/string. Se você não quiser a quebra de linha ao final do texto, você pode adicionar a flag -n.
echo "Hello World"
67. Comando passwd
Se você quiser alterar a senha de um usuário no Linux, basta utilizar o comando passwd. Se quiser alterar a senha do seu próprio usuário não precisará fornecer nada além do comando:
passwd
Para alterar a senha de outro usuário, coloque o nome dele após o comando:
passwd nome-do-usuario
68. Comando sort
O comando sort é utilizado para organizar o texto. Por exemplo, se houverem diversas linhas iguais em um arquivo, ele organizará para que essas linhas repetidas fiquem juntas, em ordem alfabética.
Para organizar o texto em ordem alfabética:
sort arquivo.txt
Para organizar e unificar as linhas iguais:
sort -u arquivo.txt
69. Comando route
O comando route no Linux é usado para visualizar e configurar a tabela de roteamento do sistema. A tabela de roteamento é uma estrutura que armazena informações sobre as redes disponíveis e como chegar até elas.
Para mostrar a tabela de rotas atual:
route -n
Para adicionar uma nova rota:
route add <destino> <gateway> <máscara> [<interface>]
Por exemplo, criar uma rota para o IP 192.168.1.100 através do gateway 192.168.0.1 (A interface é opcional):
route add 192.168.1.100 192.168.1.1 255.255.255.255
Para remover uma rota existente:
route del 192.168.1.100
70. Comando free
O comando free é utilizado para visualizar o uso de memória do seu sistema. Você pode adicionar a flag -m para mostrar os números em Mb (Megabytes):
free -m
71. Comando traceroute
Se você quiser visualizar a rota (por quais IPs você passa) até chegar a determinado IP ou host, basta utilizar o comando traceroute:
traceroute blog.ironlinux.com.br
72. Comando mount
O comando mount no Linux é usado para montar sistemas de arquivos. Ele permite que você acesse o conteúdo de um dispositivo de armazenamento, como um HD externo, um USB ou uma rede compartilhada, como se fosse um diretório local.
Por exemplo, para montar o dispositivo /dev/sda1 no diretório /mnt/meu-ssd-externo, execute:
mount /dev/sda1 /mnt/meu-ssd-externo
Algumas opções interessantes:
Flag | Descrição |
---|---|
-t | Especifica o tipo de sistema de arquivos (ext4, por exemplo) |
-r | Monta o sistema de arquivos apenas para leitura |
-w | Monta o sistema de arquivos apenas para escrita |
-v | Modo verboso |
73. Comando unmount
O comando unmount serve para desmontar um sistema de arquivos, por exemplo:
unmount /mnt/meu-ssd-externo
74. Comando tee
O tee é usado para redirecionar a saída de um comando para múltiplos destinos. Por exemplo, para executar o comando ls, apresentar o resultado na tela e ainda gravá-lo em um arquivo, execute:
ls | tee -a /tmp/saida-do-comando-ls
A flag -a (append) foi incluída. Ela faz com que o resultado seja adicionado ao arquivo ao invés de sobrescrevê-lo.
75. Comando systemctl
O comando systemctl no Linux é usado para gerenciar serviços. Com ela você pode iniciar, parar, reiniciar, ativar (fazer com que o serviço inicie quando a máquina for ligada) ou desativar serviços.
Para iniciar (start), parar (stop) ou reiniciar (restart) um serviço:
systemctl start sshd
Para ativar (enable) ou desativar (disable) um serviço:
systemctl enable sshd
76. Comando apt ou yum
O apt e yum são dois gerenciadores de pacotes de sistemas Linux. São usados para instalar, atualizar e remover pacotes de software.
Comando | Descrição |
---|---|
apt | Gerenciador de pacotes padrão para sistemas Debian e derivados (como Ubuntu, Mint, etc.). Ele usa pacotes no formato .deb |
yum | Gerenciador de pacotes padrão para sistemas Red Hat (RHEL) e derivados (como CentOS, Fedora, etc.). Ele usa o formato de pacote .rpm |
Gerenciando pacotes com yum
Atualizar informações dos pacotes de todos os repositórios:
yum update
Instalar atualizações disponíveis de todos os pacotes instalados no sistema:
yum upgrade
Instalar (install) ou remover (remove) um pacote ou programa (vim, por exemplo):
yum install vim
Gerenciando pacotes com apt
Já temos um post sobre apt aqui no blog, mas aqui vão alguns comandos rápidos:
Atualizar informações dos pacotes de todos os repositórios:
apt update
Instalar atualizações disponíveis de todos os pacotes instalados no sistema:
apt upgrade
Instalar (install) ou remover (remove) um pacote ou programa (vim, por exemplo):
apt install vim
77. Comando vim
O vim é um dos editores de texto mais utilizados e mais completos:
vim arquivo.txt
Ao pressionar ESC você pode inserir algum comando no vim. Abaixo está uma tabela com os mais utilizados:
Comando | Descrição |
---|---|
:x ou :zz ou :wq | Sai do vim e salva as alterações realizadas |
:q | Sai do vim (vai falhar se você tiver alterações não salvas) |
:q! | Sai do vim e descarta alterações não salvas |
/texto | Busca a palavra texto no conteúdo do arquivo. Depois de dar ENTER nesse comando você pode apertar p para ir para correspondência anterior ou n para ir para a próxima |
dd | Apaga uma linha inteira |
78. Comando nslookup
Com o comando nslookup você pode realizar consultas DNS. Por exemplo, para consultar a entrada CNAME do ironlinux.com.br execute:
nslookup -q=cname ironlinux.com.br
Se você quiser especificar um DNS Server, coloque-o ao final do comando:
nslookup -q=cname ironlinux.com.br 8.8.8.8
79. Comando dig
O dig é similar ao nslookup porém possui funcionalidades mais avançadas, tendo suporte a consultas DNSSEC, que verificam a autenticidade e integridade dos dados do DNS, além de conseguir depurar problemas.
Exemplo de consulta a entrada CNAME do domínio ironlinux.com.br especificando o DNS Server do Google:
dig @8.8.8.8 ironlinux.com.br cname
80. Comando ftp
O comando ftp serve para que você se conecte a um servidor FTP e realize transferência de arquivos. Para conectar-se ao servidor FTP utilize o seguinte comando:
Depois de conectado você pode utilizar o comando abaixo para realizar o upload de arquivos:
put arquivo-para-enviar.txt
Para realizar o download de um arquivo utilize o seguinte comando:
get caminho-do-arquivo-para-baixar.txt
81. Comando sftp
Similar ao comando ftp, o sftp (SSH File Transfer Protocol) também realiza transferência de arquivos porém utilizando o protocolo SSH, sendo mais seguro e confiável. Para conectar-se via sftp em um host, basta executar:
sftp [email protected]
Como o sftp utiliza o protocolo SSH para realizar as transferências, ele suporta diveras opções do comando ssh, como por exemplo:
Utilizar chave privada para acessar o sftp
sftp -i ~/.ssh/sua_chave [email protected]
Transferir arquivos via sftp
Para enviar arquivos, utilize o comando put:
put arquivo-para-enviar.txt
Para baixar arquivos, utilize o comando get:
get caminho-do-arquivo-para-baixar.txt
82. Comando pkill
O pkill no Linux é usado para encerrar processos com base em seu nome. Ele é mais simples de utilizar do que o kill. Por exemplo, para matar o processo do firefox, basta executar:
pkill firefox
Para encerrar todos os processos de determinado usuário:
pkill nome-do-usuario
83. Comando zcat
O zcat faz a mesma coisa do comando cat porém, ele consegue obter o conteúdo de arquivos compactados, no formato .gz, por exemplo.
zcat /var/log/arquivo.gz
84. Comando export
O comando export permite que você gerencie variáveis de ambiente. Por exemplo, para adicionar um novo caminho (/home/kali/bin) na variável PATH sem perder o que você já tinha, execute:
export PATH=$PATH:/home/kali/bin
Note
Lembre-se que se você quiser tornar a variável permanente, adicione o comando acima ao arquivo ~/.bashrc ou ~/.zshrc.
85. Comando su
O comando su (Switch User) é usado para que você troque de usuário:
su nome-do-usuario
86. Comando comm
Assim como o diff, o comando comm é útil para comparar dois arquivos. Abaixo está uma tabela das opções mais utilizadas:
Flag | Descrição |
---|---|
-1 | Suprime as linhas únicas do aquivo 1 |
-2 | Suprime as linhas únicas do arquivo 2 |
-3 | Suprime linhas que aparecem em ambos arquivos |
Por exemplo, para mostrar as linhas únicas do arquivo2 você pode executar:
comm -13 arquivo1 arquivo2
E para mostrar apenas as linhas que existem em ambos arquivos:
comm -12 arquivo1 arquivo2
87. Comando tcpdump
Com o comando tcpdump é possível analisar o tráfego de rede do sistema. Veja algumas flags úteis:
Flag | Descrição |
---|---|
-n | Não resolver hostnames |
-nn | Não resolver hostnames ou portas |
-i | Indica a interface que você quer ver o tráfego (pode ser any ou o nome da interface, como eth0) |
-w | Salva os pacotes em algum arquivo para análise posterior |
Desta maneira, para ver todo o tráfego e não resolver hostnames ou portas e salvar a saída do comado, execute:
tcpdump -nni any -w /tmp/saida-tcpdump.pcap
Se você quiser filtrar apenas o tráfego da porta 8080:
tcpdump -nni any port 80
Para ter uma visualização de pacotes TCP mais adequada, você pode executar:
tcpdump -A -s 10240 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' | egrep --line-buffered "^........(GET |HTTP\/|POST |HEAD )|^[A-Za-z0-9-]+: " | sed -r 's/^........(GET |HTTP\/|POST |HEAD )/\n\1/g'
88. Comando tcpick
O comando tcpick realiza a leitura de arquivos pcap (que podem ser gerados através do tcpdump, por exemplo) de uma maneira de fácil visualização:
tcpick -C -yP -r pacotes.pcap
89. Comando file
Com o comando file é possível determinar o tipo de um arquivo (Exemplo: texto, png, jpeg, elf, etc.):
file nome-do-arquivo
90. Comando alias
O comando alias permite que você crie apelidos ou atalhos para outros comandos.
Por exemplo, para criar um alias chamado “teste” que executa o comando ls -lha:
alias teste="ls -lha"
Agora basta executar o comando teste que, na verdade, você estará executando o comando ls -lha!
Note
Lembre-se que para que este alias seja permanente, você deve incluí-lo no ~/.bashrc ou ~/.zshrc.
91. Comando unalias
O comando unalias serve para remvoer um alias criado:
unalias teste
92. Comando host
O comando host serve para resolver um nome, indicando quais são os IPv4 ou IPv6 que responder por aquele nome.
host blog.ironlinux.com.br
93. Comando cal
O comando cal apresenta o calendário do mês:
cal
94. Comando less ou more
Os comandos less e more são usados para abrir um arquivo em modo de leitura:
less arquivo.txt
95. Comando* shutdown*
O comando shutdown é utilizado para desligar o sistema:
shutdown
Se você quiser reiniciar o sistema, pode executar:
shutdown -r
96. Comando clear
O comando clear limpa a tela do terminal. Você também pode realizar essa operação com o atalho CTRL+L:
clear
97. Comando w ou who
Os comandos w ou who exibem quem está conectado ao sistema (usuário e IP) e quais operações estão realizando:
w
98. Comando dpkg ou rpm
Através dos comandos dpkg ou rpm é possível instalar pacotes de software em seu sistema operacional.
Para sistemas Debian e derivados (Ubuntu, Mint, etc.):
dpkg -i pacote.deb
Para sistemas Red Hat e derivados (CentOS, Fedora, etc.):
rpm -Uvh pacote.rpm
99. Comando ssh-keygen
Com o comando ssh-keygen é possível gerar um par de chaves SSH:
ssh-keygen
100. Comando split
O comando split é útil para dividir arquivos em partes menores, facilitando a manipulação dos mesmos.
Por exemplo, para dividir um arquivo em partes de 100mb, execute:
split -b 100m arquivo-grande
Para dividir um arquivo em partes iguais:
split -n 5 arquivo.txt
Para dividir um arquivo em partes de 100 linhas cada:
split -l 100 arquivo.txt
Conclusão
Neste post aprendemos diversos comandos que auxiliam iniciantes no Linux, mas também podem ser úteis durante um troubleshooting. Interagir e gerenciar serviços, usuários, visualizar e capturar pacotes é essencial e neste post, tivemos 100 comandos (e algumas dicas extras) que são muito importantes no dia a dia de quem mexe com Linux!
Por fim, agradecemos a leitura e esperamos que este post tenha te ajudado de alguma maneira! Caso tenha alguma dúvida, entre em contato conosco pelo Telegram , Facebook ou Instagram ! Veja mais posts no IronLinux !