Os comandos Linux mais usados

Os comandos Linux mais usados

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.

FlagDescrição
-aVisualiza arquivos ocultos
-lVisualiza arquivos e pastas em um formato de lista
-hVisualiza 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
FlagDescrição
-rRemove arquivos e diretórios de forma recursiva (necessário para excluir pastas)
-fForç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
FlagDescrição
-sModo silencioso (não trará erros de permissão, por exemplo)
-rModo recursivo
-hNão traz o nome do arquivo que deu match com a sua busca (apenas caso você esteja buscando em mais de um arquivo)
-iCase 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:

FlagDescrição
-xExtrai ou descompacta arquivos
-vModo verboso
-fEspecifica o nome do arquivo
-zUsa compressão gzip
-jUsa compressão bzip2
-JUsa 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:

SinalDescrição
9SIGKILL - Força um programa ou processo a finalizar imediatamente. O processo não pode ignorar este sinal.
15SIGTERM - 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:

FlagDescrição
-sExibe o nome do Kernel
-vExibe a versão do Kernel
-rExibe 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çãoDescrição
–remove-homeRemove também o diretório home do usuário (normalmente fica em /home/[usuário]
–remove-all-filesRemove todos os arquivos que pertencem ao usuário, mesmo que esteja fora do homedir
–backupRealiza 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:

TextoExplicação
3c3Indica que a linha diferente é a 3 em ambos arquivos
3c3,4Indica 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çãoDescrição
-hMostra o tamanho de forma legível para humanos, por exemplo: 1K, 234M, 2G, etc.
-cMostra 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çãoDescrição
-hMostra o tamanho de forma legível para humanos, por exemplo: 1K, 234M, 2G, etc.
-TMostra 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çãoDescrição
5 0 * 8 * touch /tmp/teste.txtExecuta o comando touch /tmp/teste.txt às 00h05 todos os dias no mês de Agosto
* * 14 1 * /root/script.shExecuta o script /root/script.sh a todo minuto do dia 14 no mês de Janeiro
* 12 * * 1-5 bash /home/ubuntu/cron.shExecuta 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
FlagDescrição
-lConta apenas as linhas
-cConta apenas os caracteres
-wConta 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:

FlagDescrição
-nNão resolve endereços IP e portas para serviços
-tMostra somente conexões TCP
-pMostra o processo que gerou a conexão
-lLista apenas as portas abertas (que estão LISTEN ou ouvindo, isto é, aguardando conexões de clientes)
-aLista todas as conexões
-4Mostra somente IPv4
-6Mostra 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:

FlagDescrição
-tEspecifica o tipo de sistema de arquivos (ext4, por exemplo)
-rMonta o sistema de arquivos apenas para leitura
-wMonta o sistema de arquivos apenas para escrita
-vModo 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.

ComandoDescrição
aptGerenciador de pacotes padrão para sistemas Debian e derivados (como Ubuntu, Mint, etc.). Ele usa pacotes no formato .deb
yumGerenciador 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:

ComandoDescrição
:x ou :zz ou :wqSai do vim e salva as alterações realizadas
:qSai do vim (vai falhar se você tiver alterações não salvas)
:q!Sai do vim e descarta alterações não salvas
/textoBusca 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
ddApaga 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:

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:

FlagDescrição
-1Suprime as linhas únicas do aquivo 1
-2Suprime as linhas únicas do arquivo 2
-3Suprime 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:

FlagDescrição
-nNão resolver hostnames
-nnNão resolver hostnames ou portas
-iIndica a interface que você quer ver o tráfego (pode ser any ou o nome da interface, como eth0)
-wSalva 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 !

Posts relacionados

O comando SED no Linux

O comando SED no Linux

O comando SED é uma ótima ferramenta de edição de arquivos ou de formatação de resultados de comandos, com ele você pode pesquisar, localizar e substituir, inserir ou excluir palavras, números e etc.

Ler post completo
O comando curl

O comando curl

O curl é uma ferramenta para transferir ou receber dados de um servidor.

Ler post completo
Wipe no Linux com Shred

Wipe no Linux com Shred

Você já se deparou com a necessidade excluir um arquivo de forma “segura”, ou seja, que não seja possível, ou ao menos simples, recuperá-lo no Linux?

Ler post completo