Linux é a espinha dorsal da internet. Ele alimenta quase 97% dos principais servidores web do mundo. E 55,9% dos desenvolvedores profissionais dependem do Linux para suas necessidades de desenvolvimento.
Contudo, o Linux possui apenas 2.68% de participação no mercado de desktops. Por que essa diferença?
O foco principal do Linux nunca foi sua interface de usuário. Em vez disso, foi projetado para oferecer controle total sobre seu sistema operacional por meio da linha de comando.
Isso pode fazer com que o Linux pareça intimidador para iniciantes — E os milhares de comandos disponíveis apenas tornam isso mais difícil.
Neste artigo, cobrimos os 100 comandos Linux mais úteis. Aprender apenas alguns desses comandos pode ajudá-lo a aumentar sua produtividade como usuário Linux. Vamos mergulhar direto!
Linux
Linux refere-se a um conjunto de Sistemas Operacionais (OS) de código aberto. Não existe um único sistema operacional Linux. Em vez disso, os usuários podem escolher entre um amplo grupo de distribuições Linux, todas oferecendo experiências diferentes.
Leia MaisO que são Comandos Linux?
Os comandos Linux permitem que você controle seu sistema a partir da interface de linha de comando (CLI) em vez de usar o mouse ou trackpad. São instruções de texto inseridas no terminal para dizer exatamente ao seu sistema o que fazer.
Os comandos que você insere no terminal Linux são sensíveis a maiúsculas e minúsculas e seguem uma sintaxe como “command -options arguments
.” Você pode combiná-los para tarefas complexas usando pipelines e redirecionamento.
Algumas coisas importantes para saber sobre comandos Linux:
- Eles são sensíveis a maiúsculas e minúsculas; por exemplo, “
ls
” e “LS
” significam coisas diferentes. - Eles seguem uma sintaxe específica como “
command -options arguments
“. - Eles podem ser combinados para operações complexas usando pipelines e redirecionamentos.
- Eles oferecem um controle detalhado sobre seu sistema, o que é difícil de conseguir com interfaces gráficas.
- Eles permitem automatizar tarefas por meio de scripts shell e processamento em lote.
- Eles podem ser usados para acessar recursos do sistema como o sistema de arquivos, rede, memória e CPU.
- Eles formam a base da interação com servidores Linux e sistemas operacionais.
Se você é um programador que está apenas aprendendo a programar, você pode começar a praticar seus comandos Linux sem sair do Windows usando o Subsistema Windows para Linux. Isso permite executar o Linux dentro do Windows sem necessidade de dual boot e obter o melhor dos dois sistemas operacionais.
Top 100 Comandos Mais Úteis do Linux
Agora que você tem um entendimento básico do que são comandos Linux, vamos mergulhar nos 100 comandos Linux mais usados.
Nós os organizamos por categoria para cobrir áreas como gerenciamento de arquivos, monitoramento de sistema, operações de rede, administração de usuários e mais.
Comandos de Gerenciamento de Arquivos no Linux
O gerenciamento de arquivos é uma tarefa comum na linha de comando do Linux. Aqui estão os comandos de arquivo essenciais:
1. ls – Listar Conteúdo do Diretório
O comando ls
é um dos comandos Linux mais frequentemente utilizados. Ele lista os conteúdos de um diretório, mostrando todos os arquivos e subdiretórios contidos dentro.
Sem opções ou argumentos, ls
exibirá o conteúdo do diretório de trabalho atual. Você pode passar um nome de caminho para listar arquivos e pastas nesse local em vez disso.
Sintaxe:
ls [opções] [diretório] |
Algumas das opções mais úteis de ls
incluem:
-l
– Apresenta os resultados em formato longo, mostrando detalhes extras como permissões, propriedade, tamanho e data de modificação de cada arquivo e diretório.-a
– Mostra arquivos e diretórios ocultos que começam com . além dos itens não ocultos.-R
– Lista recursivamente todos os conteúdos do subdiretório, descendo indefinidamente para as pastas filhas.-S
– Ordena os resultados por tamanho de arquivo, do maior para o menor.-t
– Ordena por marca temporal, os mais recentes primeiro.
Exemplo:
ls -l /home/user/documents |
Isso listaria o conteúdo da pasta “documents” em formato longo.
Exemplo de saída:
total 824 -rwxrwx--- 1 usuário usuário 8389 Jul 12 08:53 report.pdf -rw-r--r-- 1 usuário usuário 10231 Jun 30 16:32 presentation.pptx drwxr-xr-x 2 usuário usuário 4096 May 11 09:21 images -rw-rw-r-- 1 usuário usuário 453 Apr 18 13:32 todo.txt |
Esta saída mostra uma lista detalhada com permissões, tamanho, proprietário e marca temporal para cada arquivo e diretório. O formato de listagem longa fornecido pela opção -l
oferece informações úteis sobre os arquivos à primeira vista.
O comando ls
oferece um controle flexível sobre a listagem de conteúdo de diretórios. É um dos comandos que você usará constantemente ao trabalhar no Linux.
2. cd – Mudar Diretório
O comando cd
é utilizado para navegar entre diretórios. Ele permite que você mova o diretório de trabalho atual para um novo local no sistema de arquivos.
Quando você executa o comando cd
sozinho, ele o retornará ao diretório inicial. Você também pode passar um caminho específico para mudar. Por exemplo:
cd /usr/local
– Altera para o diretório /usr/local.cd ..
– Sobe um nível para o diretório pai.cd ~/pictures
– Altera para a pasta pictures no seu diretório pessoal.
Sintaxe:
cd [directory]
Exemplo:
cd /home/user/documents
Isso mudaria o diretório de trabalho para a pasta “documents” em /home/user. Usar cd
é essencial para poder acessar e trabalhar com arquivos em diferentes locais de forma conveniente.
3. mkdir – Criar Um Novo Diretório
O comando mkdir
permite que você crie uma nova pasta. Basta passar o nome do diretório a ser criado.
Sintaxe:
mkdir [opções] <diretório>
Isso criará um diretório chamado “newproject” no diretório de trabalho atual.
Algumas opções úteis de mkdir
:
-p
– Cria diretórios pais recursivamente conforme necessário.-v
– Saída detalhada mostrando diretórios criados.
Exemplo:
mkdir -v ~/project/code
Isso criaria o subdiretório “code” sob “project” na pasta inicial do usuário, com uma saída detalhada mostrando o diretório sendo criado.
4. rmdir – Remover Diretório
Para deletar um diretório vazio, use o comando rmdir
. Observe que rmdir
só pode remover diretórios vazios – precisaremos do comando rm para deletar os não vazios.
Sintaxe:
rmdir [opções] <diretório>
Algumas opções para rmdir incluem:
-v
– Saída detalhada ao deletar diretórios.-p
– Remove diretórios pais recursivamente conforme necessário.
Exemplo:
rmdir -v ~/project/code
Isso excluiria o subdiretório “code” sob “project” enquanto mostra uma saída detalhada.
5. touch – Criar Um Novo Arquivo Vazio
O comando touch
é utilizado para criar um novo arquivo vazio instantaneamente. Isso é útil quando você precisa de um arquivo vazio para preencher com dados posteriormente.
A sintaxe básica de touch é:
touch [opções] nome_do_arquivo
Algumas opções úteis para touch incluem:
-c
– Não crie o arquivo se ele já existir. Isso evita sobrescrever acidentalmente arquivos existentes.-m
– Em vez de criar um novo arquivo, atualize a marca temporal em um arquivo existente. Isso pode ser usado para alterar o tempo modificado.
Por exemplo:
touch /home/user/newfile.txt
O comando acima cria um novo arquivo vazio chamado “newfile.txt” no diretório /home/user do usuário. Se newfile.txt já existir, ele atualizará os horários de acesso e modificação do arquivo.
6. cp – Copiar Arquivos e Diretórios
O comando cp
copia arquivos ou diretórios de um local para outro. Ele exige a passagem de um caminho de origem e um destino.
A sintaxe básica de cp é:
cp [opções] origem destino
Algumas opções úteis de cp:
-r
– Copie diretórios de maneira recursiva, descendo aos diretórios filhos para copiar seus conteúdos também. Necessário ao copiar diretórios.-i
– Solicita confirmação antes de sobrescrever quaisquer arquivos existentes no destino. Evita a sobrescrita acidental de dados.-v
– Exibe uma saída detalhada mostrando os detalhes de cada arquivo à medida que é copiado. Útil para confirmar exatamente o que foi copiado.
Por exemplo:
cp -r /home/user/documents /backups/
Isso copiaria recursivamente o diretório /home/user/documents e todo o seu conteúdo para o diretório /backups/. A opção -r
é necessária para copiar diretórios.
O comando cp
é uma das utilidades de gerenciamento de arquivos mais usadas para copiar arquivos e diretórios no Linux. Você se encontrará usando este comando com bastante frequência.
7. mv – Mover ou Renomear Arquivos e Diretórios
O comando mv
é usado para mover arquivos ou diretórios para um local diferente ou renomeá-los. Ao contrário da cópia, os arquivos do caminho de origem são excluídos depois de serem movidos para o destino.
Você também pode usar o comando mv
para renomear arquivos, já que basta alterar os caminhos de origem e destino para o nome antigo e novo.
A sintaxe de mv é:
mv [options] source destination
Opções úteis do mv:
-i
– Pergunte antes de sobrescrever quaisquer arquivos existentes no local de destino. Isso evita a sobrescrita acidental de dados.-v
– Produz saída detalhada mostrando cada arquivo ou diretório conforme são movidos. Isso é útil para confirmar exatamente o que foi movido.
Por exemplo:
mv ~/folder1 /tmp/folder1
O acima irá mover a pasta1 do diretório home (~) para o diretório /tmp/. Vamos ver outro exemplo de uso do comando mv
para renomear arquivos.
mv folder1 folder2
Aqui, “folder1” é renomeado para “folder2.”
8. rm – Remover Arquivos e Diretórios
O comando rm
deleta arquivos e diretórios. Use cautela pois os arquivos e diretórios deletados não podem ser recuperados.
A sintaxe é:
rm [options] name
Opções úteis de rm:
-r
– Exclui diretórios recursivamente, incluindo todo o conteúdo interno. Isso é necessário ao apagar diretórios.-f
– Força a exclusão e suprime todas as confirmações. Este é um comando perigoso, pois os arquivos não podem ser recuperados quando são excluídos!-i
– Solicita confirmação antes de excluir cada arquivo ou diretório, proporcionando segurança contra remoções acidentais.
Por exemplo:
rm -rf temp
Isso exclui recursivamente o diretório “temp” e todo o seu conteúdo sem solicitação (-f
substitui as confirmações).
Nota: O comando rm
apaga permanentemente arquivos e pastas, portanto, use-o com extremo cuidado. Se usado com privilégios de sudo, você também poderia excluir completamente o diretório root, e o Linux não funcionaria mais após reiniciar o computador.
9. find – Pesquisar Arquivos em uma Hierarquia de Diretórios
O comando find
pesquisa recursivamente diretórios por arquivos que correspondam aos critérios fornecidos.
A sintaxe básica de find é:
find [caminho] [critério]
Alguns critérios úteis para encontrar incluem:
-type f
– Pesquise apenas arquivos normais, omitindo diretórios.-mtime +30
– Pesquise arquivos modificados há mais de 30 dias.-user jane
– Pesquise arquivos que pertencem ao usuário “jane”.
Por exemplo:
find . -type f -mtime +30
Isso encontrará todos os arquivos regulares com mais de 30 dias sob o diretório atual (indicado pelo ponto).
O comando find permite buscar arquivos baseado em uma variedade de condições avançadas como nome, tamanho, permissões, marcas temporais, propriedade e mais.
10. du – Estimar Uso do Espaço de Arquivo
O comando du
mede o uso de espaço de arquivo para um diretório dado. Quando usado sem opções, ele exibe o uso de disco para o diretório de trabalho atual.
A sintaxe para du é:
du [opções] [caminho]
Opções úteis do du:
-h
– Exibe os tamanhos de arquivo em formato legível por humanos, como K para Kilobytes, em vez de uma contagem de bytes. Muito mais fácil de interpretar.-s
– Mostra apenas o tamanho total de um diretório, em vez de listar cada subdiretório e arquivo. Bom para resumo.-a
– Mostra os tamanhos individuais dos arquivos além dos totais. Ajuda a identificar arquivos grandes.
Por exemplo:
du -sh pictures
Isso imprimirá o total do tamanho em um formato legível por humanos para o diretório “pictures”.
O comando du
é útil para analisar o uso do disco para uma árvore de diretórios e identificar arquivos que consomem espaço excessivo.
Comandos de Pesquisa e Filtro no Linux
Agora, vamos explorar comandos que permitem pesquisar, filtrar e manipular texto diretamente da linha de comando do Linux.
11. grep – Pesquisar Texto Usando Padrões
O comando grep
é usado para buscar padrões de texto dentro de arquivos ou saídas. Ele imprime quaisquer linhas que correspondam à expressão regular fornecida. grep
é extremamente poderoso para buscar, filtrar e fazer correspondência de padrões no Linux.
Aqui está a sintaxe básica:
grep [options] pattern [files]
Por exemplo:
grep -i "error" /var/log/syslog
Esta busca no arquivo syslog pela palavra “erro”, ignorando a sensibilidade a maiúsculas e minúsculas.
Algumas opções úteis de grep:
-i
– Ignorar distinções de maiúsculas e minúsculas nos padrões-R
– Pesquisar recursivamente subdiretórios-c
– Imprimir apenas a contagem de linhas correspondentes-v
– Inverter correspondência, imprimir linhas não correspondentes
grep
permite que você procure arquivos e saídas por palavras-chave ou padrões rapidamente. É inestimável para analisar registros, procurar em códigos-fonte, combinar expressões regulares e extrair dados.
12. awk – Linguagem de Processamento e Análise de Padrões
O comando awk
permite um processamento de texto mais avançado baseado em padrões e ações especificados. Ele opera em uma base linha por linha, dividindo cada linha em campos.
a sintaxe do awk é:
awk 'padrão { ação }' input-file
Por exemplo:
awk '/error/ {print $1}' /var/log/syslog
Isso imprime o primeiro campo de qualquer linha que contenha “erro”. awk
também pode usar variáveis internas como NR
(número de registros) e NF
(número de campos).
As capacidades avançadas do awk incluem:
- Cálculos matemáticos em campos
- Declarações condicionais
- Funções integradas para manipulação de strings, números e datas
- Controle de formatação de saída
Isso torna o awk adequado para extração de dados, relatórios e transformação de saídas de texto. awk
é extremamente poderoso, pois é uma linguagem de programação independente, oferecendo muito controle como um comando Linux.
13. sed – Editor de Fluxo para Filtragem e Transformação de Texto
O comando sed
permite filtragem e transformação de texto. Ele pode realizar operações como busca/substituição, exclusão, transposição e mais. No entanto, ao contrário de awk
, sed
foi projetado para editar linhas em uma base por linha conforme as instruções.
Aqui está a sintaxe básica:
sed opções 'comandos' arquivo-de-entrada
Por exemplo:
sed 's/foo/bar/' file.txt
Isso substitui “foo” por “bar” em file.txt.
Alguns comandos úteis do sed:
s
– Pesquisar e substituir texto/padrão/d
– Apagar linhas que correspondem a um padrão10,20d
– Apagar linhas 10-201,3!d
– Apagar todas exceto as linhas 1-3
sed
é ideal para tarefas como busca/substituição em massa, exclusão seletiva de linhas e outras operações de edição de fluxo de texto.
14. sort – Ordenar Linhas de Arquivos de Texto
Quando você está trabalhando com muito texto ou dados ou até mesmo grandes saídas de outros comandos, organizá-los é uma ótima maneira de tornar as coisas gerenciáveis. O comando sort
irá organizar as linhas de um arquivo de texto alfabeticamente ou numericamente.
Sintaxe básica de ordenação:
sort [opções] [arquivo]
Opções de ordenação úteis:
-n
– Ordenar numericamente em vez de alfabeticamente-r
– Inverter a ordem de classificação-k
– Ordenar com base em um campo ou coluna específico
Por exemplo:
sort -n grades.txt
Isso ordena numericamente o conteúdo de grades.txt. sort
é útil para ordenar o conteúdo de arquivos para uma saída mais legível ou análise.
15. uniq – Relatório ou Omissão de Linhas Repetidas
O comando uniq
filtra linhas duplicadas adjacentes da entrada. Isso é frequentemente usado em conjunto com sort.
Sintaxe básica:
uniq [opções] [entrada]
Opções:
-c
– Prefixe linhas únicas com a contagem de ocorrências.-d
– Exibir apenas linhas duplicadas, não únicas.
Por exemplo:
sort data.txt | uniq
Isso removerá quaisquer linhas duplicadas em data.txt após a ordenação. uniq
oferece controle sobre a filtragem de texto repetido.
16. diff – Comparar Arquivos Linha por Linha
O comando diff
compara dois arquivos linha por linha e imprime as diferenças. É comumente usado para mostrar alterações entre versões de arquivos.
Sintaxe:
diff [options] file1 file2
Opções:
-b
– Ignorar mudanças no espaçamento em branco.-B
– Mostrar diferenças em linha, destacando alterações.-u
– Exibir diferenças com três linhas de contexto.
Por exemplo:
diff original.txt updated.txt
Isso exibirá as linhas que diferem entre original.txt e updated.txt. diff
é inestimável para comparar revisões de arquivos de texto e código-fonte.
17. wc – Imprimir Contagem de Linhas, Palavras e Bytes
O comando wc
(contagem de palavras) exibe contagens de linhas, palavras e bytes em um arquivo.
Sintaxe:
wc [opções] [arquivo]
Opções:
-l
– Imprima apenas a contagem de linhas.-w
– Imprima apenas a contagem de palavras.-c
– Imprima apenas a contagem de bytes.
Por exemplo:
wc report.txt
Este comando imprimirá o número de linhas, palavras e bytes em report.txt.
Comandos de Redirecionamento no Linux
Os comandos de redirecionamento são usados para controlar fontes de entrada e saída no Linux, permitindo que você envie e adicione fluxos de saída para arquivos, pegue entrada de arquivos, conecte múltiplos comandos e divida a saída para múltiplos destinos.
18. > – Redirecionar Saída Padrão
O operador > redirection
redireciona o fluxo de saída padrão do comando para um arquivo em vez de imprimir no terminal. Qualquer conteúdo existente do arquivo será sobrescrito.
Por exemplo:
ls -l /home > homelist.txt
Isso executará ls -l
para listar o conteúdo do diretório /home.
Então, em vez de imprimir essa saída no terminal, o símbolo >
captura essa saída padrão e a escreve em homelist.txt, substituindo quaisquer conteúdos de arquivo existentes.
Redirecionar a saída padrão é útil para salvar os resultados dos comandos em arquivos para armazenamento, depuração ou encadeamento de comandos.
19. >> – Anexar Saída Padrão
O operador >>
anexa a saída padrão de um comando a um arquivo sem sobrescrever o conteúdo existente.
Por exemplo:
tail /var/log/syslog >> logfile.txt
Isso adicionará as últimas 10 linhas do arquivo de log syslog ao final do arquivo logfile.txt. Ao contrário de >
, >>
adiciona a saída sem apagar o conteúdo atual do logfile.txt.
Anexar é útil para coletar a saída de comandos em um único local sem perder os dados existentes.
20. < – Redirecionar Entrada Padrão
O operador de redirecionamento <
alimenta o conteúdo de um arquivo como entrada padrão para um comando, em vez de receber a entrada do teclado.
Por exemplo:
wc -l < myfile.txt
Isso envia o conteúdo de myfile.txt como entrada para o comando wc, que contará as linhas nesse arquivo em vez de esperar pela entrada do teclado.
Redirecionar a entrada é útil para o processamento em lote de arquivos e automação de fluxos de trabalho.
21. | – Encaminhar a Saída para Outro Comando
O operador de pipe |
envia a saída de um comando como entrada para outro comando, encadeando-os.
Por exemplo:
ls -l | less
Isso direciona a saída do comando ls -l
para o comando less, que permite rolar pela lista de arquivos.
O encadeamento é comumente usado para conectar comandos onde a saída de um alimenta a entrada de outro. Isso permite construir operações complexas a partir de programas menores e com propósito único.
22. tee – Ler da Entrada Padrão e Escrever na Saída Padrão e em Arquivos
O comando tee
divide a entrada padrão em dois fluxos.
Ele escreve a entrada na saída padrão (mostra a saída do comando principal) enquanto também salva uma cópia em um arquivo.
Por exemplo:
cat file.txt | tee copy.txt
Isso exibe os conteúdos do arquivo file.txt no terminal enquanto simultaneamente os escreve no arquivo copy.txt.
tee
é diferente de redirecionar, onde você não vê a saída até abrir o arquivo para o qual redirecionou a saída.
Comandos de Arquivo
Os comandos de arquivamento permitem agrupar múltiplos arquivos e diretórios em arquivos de arquivo comprimidos para facilitar a portabilidade e armazenamento. Os formatos de arquivo comuns no Linux incluem .tar
, .gz
, e .zip
.
23. tar – Armazene e Extraia Arquivos de um Arquivo
O comando tar
ajuda você a trabalhar com arquivos de arquivo de fita (.tar). Ele ajuda a agrupar vários arquivos e diretórios em um único arquivo .tar comprimido.
Sintaxe:
tar [options] filename
Opções úteis do tar:
-c
– Crie um novo arquivo de arquivo .tar.-x
– Extrair arquivos de um arquivo .tar.-f
– Especifique o nome do arquivo de arquivo em vez de stdin/stdout.-v
– Saída detalhada mostrando os arquivos arquivados.-z
– Comprimir ou descomprimir o arquivo com gzip.
Por exemplo:
tar -cvzf images.tar.gz /home/user/images
Isso cria um arquivo tar comprimido em gzip chamado images.tar.gz contendo a pasta /home/user/images.
24. gzip – Comprimir ou Expandir Arquivos
O comando gzip comprime arquivos usando a codificação LZ77 para reduzir o tamanho para armazenamento ou transmissão. Com o gzip, você trabalha com arquivos .gz.
Sintaxe:
gzip [opções] nome_do_arquivo
Opções úteis de gzip:
-c
– Escreva a saída no stdout em vez de no arquivo.-d
– Descomprimir arquivo em vez de comprimir.-r
– Comprimir diretórios recursivamente.
Por exemplo:
gzip -cr documentos/
O comando acima comprime recursivamente a pasta de documentos e gera a saída para o stdout.
25. gunzip – Descomprimir Arquivos
O comando gunzip
é usado para descomprimir arquivos .gz.
Sintaxe:
gunzip filename.gz
Exemplo:
gunzip documents.tar.gz
O comando acima extrairá o conteúdo original não comprimido de documents.tar.gz.
26. zip – Empacotar e Comprimir Arquivos
O comando zip
cria arquivos arquivados .zip contendo conteúdos de arquivos comprimidos.
Sintaxe:
zip [options] archive.zip filenames
Opções úteis de zip:
-r
– Compactar um diretório de forma recursiva.-e
– Criptografar conteúdo com uma senha.
Exemplo:
zip -re images.zip pictures
Isso criptografa e compacta a pasta de imagens em images.zip.
27. unzip – Extrair Arquivos de Arquivos ZIP
Similar ao comando gunzip
, o comando unzip
extrai e descomprime arquivos de arquivos .zip.
Sintaxe:
unzip archive.zip
Exemplo:
unzip images.zip
O comando de exemplo acima extrai todos os arquivos de images.zip no diretório atual.
Comandos de Transferência de Arquivos
Comandos de transferência de arquivos permitem que você mova arquivos entre sistemas através de uma rede. Isso é útil para copiar arquivos para servidores remotos ou baixar conteúdo da internet.
28. scp – Cópia Segura de Arquivos Entre Hosts
O comando scp
(cópia segura) copia arquivos entre hosts por meio de uma conexão SSH. Todas as transferências de dados são criptografadas para segurança.
A sintaxe scp copia arquivos de um caminho de origem para um destino definido como user@host:
scp source user@host:destination
Por exemplo:
scp image.jpg user@server:/uploads/
Isso copia de forma segura o arquivo image.jpg para a pasta /uploads no servidor como usuário.
scp
funciona como o comando cp
, mas para transferência de arquivos remotos. Ele utiliza SSH (Secure Shell) para a transferência de dados, fornecendo criptografia para garantir que nenhum dado sensível, como senhas, seja exposto na rede. A autenticação é normalmente gerenciada usando chaves SSH, embora senhas também possam ser usadas. Arquivos podem ser copiados tanto para quanto de hosts remotos.
29. rsync – Sincronizar Arquivos Entre Hosts
A ferramenta rsync
sincroniza arquivos entre dois locais enquanto minimiza a transferência de dados usando codificação delta. Isso torna mais rápido sincronizar grandes árvores de diretórios.
A sintaxe rsync sincroniza a fonte com o destino:
rsync [opções] origem destino
Por exemplo:
rsync -ahv ~/documents user@server:/backups/
O comando de exemplo acima sincroniza recursivamente a pasta de documentos para server:/backups/, mostrando uma saída verbosa e legível por humanos.
Opções úteis de rsync:
-a
– O modo Arquivo sincroniza recursivamente e preserva permissões, horários, etc.-h
– Saída legível por humanos.-v
– Saída detalhada.
rsync
é ideal para sincronizar arquivos e pastas com sistemas remotos e manter backups descentralizados e seguros.
30. sftp – Programa de Transferência Segura de Arquivos
O programa sftp
fornece transferências de arquivos interativas por SSH, semelhante ao FTP regular, mas criptografado. Ele pode transferir arquivos para/de sistemas remotos.
sftp conecta a um host e aceita comandos como:
sftp user@host
get remotefile localfile
put localfile remotefile
Isso recupera remotefile
do servidor e copia localfile
para o host remoto.
sftp
possui um shell interativo para navegar por sistemas de arquivos remotos, transferir arquivos e diretórios, e gerenciar permissões e propriedades.
31. wget – Recuperar Arquivos da Web
A ferramenta wget
baixa arquivos por conexões HTTP, HTTPS e FTP. É útil para recuperar recursos da web diretamente do terminal.
Por exemplo:
wget https://example.com/file.iso
Isso baixa a imagem file.iso do servidor remoto.
Opções úteis do wget:
-c
– Retomar download interrompido.-r
– Baixar recursivamente.-O
– Salvar com nome de arquivo específico.
wget
é ideal para scripts de downloads automáticos e espelhamento de sites.
32. curl – Transferência de Dados De ou Para um Servidor
O comando curl
transfere dados para ou de um servidor de rede usando protocolos suportados. Isso inclui REST, HTTP, FTP e mais.
Por exemplo:
curl -L https://example.com
O comando acima recupera dados da URL HTTPS e os exibe.
Opções úteis de curl:
-o
– Escreva a saída para o arquivo.-I
– Exibir apenas cabeçalhos de resposta.-L
– Seguir redirecionamentos.
curl
é projetado para transferir dados através de redes de forma programática.
Comandos de Permissões de Arquivo
Os comandos de permissões de arquivo permitem modificar os direitos de acesso para os usuários. Isso inclui configurar permissões de leitura/escrita/execução, alterar a propriedade e os modos de arquivo padrão.
33. chmod – Alterar Modos de Arquivo ou Permissões de Acesso
O comando chmod
é utilizado para alterar as permissões de acesso ou modos de arquivos e diretórios. Os modos de permissão representam quem pode ler, escrever ou executar o arquivo.
Por exemplo:
chmod 755 file.txt
Existem três conjuntos de permissões—proprietário, grupo e público. As permissões são definidas usando modos numéricos de 0 a 7:
- 7 – ler, escrever e executar.
- 6 – ler e escrever.
- 4 – apenas ler.
- 0 – sem permissão.
Isso define as permissões do proprietário para 7 (rwx), do grupo para 5 (r-x) e do público para 5 (r-x). Você também pode referenciar usuários e grupos simbolicamente:
chmod g+w file.txt
A sintaxe g+w
adiciona permissão de escrita em grupo ao arquivo.
Definir as permissões adequadas para arquivos e diretórios é crucial para a segurança em Linux e para controlar o acesso. chmod
oferece controle flexível para configurar as permissões exatamente como necessário.
34. chown – Alterar Proprietário e Grupo do Arquivo
O comando chown
altera a propriedade de um arquivo ou diretório. A propriedade tem dois componentes – o usuário que é o proprietário, e o grupo ao qual pertence.
Por exemplo:
chown john:developers file.txt
O comando do exemplo acima definirá o usuário proprietário como “john” e o grupo proprietário como “developers”.
Apenas a conta de superusuário Root pode usar chown
para alterar os proprietários de arquivos. É utilizado para corrigir problemas de permissão, modificando o proprietário e o grupo conforme necessário.
35. umask – Definir Permissões Padrão de Arquivo
O comando umask
controla as permissões padrão dadas aos arquivos recém-criados. Ele recebe uma máscara octal como entrada, que subtrai de 666 para arquivos e 777 para diretórios.
Por exemplo:
umask 007
Os novos arquivos terão permissões padrão 750 em vez de 666, e os novos diretórios terão 700 em vez de 777.
Configurar um umask
permite que você defina permissões de arquivo padrão em vez de depender das configurações padrão do sistema. O comando umask
é útil para restringir permissões em novos arquivos sem depender de alguém para entrar e adicionar restrições manualmente.
Comandos de Gerenciamento de Processos
Estes comandos permitem visualizar, monitorar e controlar processos que estão sendo executados no seu sistema Linux. Isso é útil para identificar o uso de recursos e interromper programas com comportamento inadequado.
36. ps – Relatório de um Instantâneo dos Processos Atuais
O comando ps
exibe uma captura instantânea dos processos atualmente em execução, incluindo seu PID, TTY, stat, hora de início, etc.
Por exemplo:
ps aux
Isso mostra todos os processos em execução como todos os usuários com detalhes adicionais como uso de CPU e memória.
Algumas opções úteis de ps:
aux
– Mostrar processos para todos os usuários--forest
– Exibir árvore de processos pai/filho
ps
oferece visibilidade sobre o que está atualmente em execução no seu sistema.
37. top – Exibir Processos Linux
O comando top
mostra informações de processos do Linux em tempo real, incluindo PID, usuário, uso de CPU %, uso de memória, tempo de atividade e mais. Ao contrário de ps
, ele atualiza a exibição dinamicamente para refletir o uso atual.
Por exemplo:
top -u mysql
O comando acima monitora processos apenas para o usuário “mysql”. Ele se torna bastante útil para identificar programas que consomem muitos recursos.
38. htop – Visualizador Interativo de Processos
O comando htop
é um visualizador de processos interativo que substitui o comando top. Ele mostra os processos do sistema junto com gráficos de uso de CPU/memória/swap, permite a ordenação por colunas, encerrar programas e mais.
Basta digitar htop
na linha de comando para visualizar seus processos.
htop
possui elementos de UI aprimorados com cores, rolagem e suporte para mouse para facilitar a navegação em comparação com top. Excelente para investigar processos.
39. kill – Enviar Um Sinal a um Processo
O comando kill
envia um sinal a um processo para terminar ou matá-lo. Os sinais permitem um encerramento suave se o processo os manipular.
Por exemplo:
kill -15 12345
O comando acima envia o sinal SIGTERM (15) para interromper o processo com PID 12345 de forma graciosa.
40. pkill – Envie um Sinal para um Processo Baseado em Nome
O comando pkill
encerra processos pelo nome em vez de PID. Isso pode facilitar as coisas ao invés de encontrar o PID primeiro.
Por exemplo:
pkill -9 firefox
Isso força a parada de todos os processos do Firefox com SIGKILL (9). pkill
tem como alvo processos por correspondência de nome, usuário e outros critérios em vez do PID.
41. nohup – Execute um Comando Imune a Interrupções
O comando nohup
executa processos imunes a interrupções, de modo que eles continuam funcionando se você sair ou for desconectado.
Por exemplo:
nohup python script.py &
O comando do exemplo acima iniciará o script.py de forma destacada em segundo plano e imune a interrupções. nohup
é geralmente usado para iniciar daemons e serviços persistentes em segundo plano.
Comandos de Monitoramento de Desempenho
Estes comandos fornecem estatísticas valiosas de desempenho do sistema para ajudar a analisar a utilização de recursos, identificar gargalos e otimizar a eficiência.
42. vmstat – Relatório de Estatísticas de Memória Virtual
O comando vmstat
imprime relatórios detalhados sobre memória, swap, I/O e atividade da CPU. Isso inclui métricas como memória usada/livre, swap de entrada/saída, blocos de disco lidos/escritos e tempo de CPU gasto em processos/ociosidade.
Por exemplo:
vmstat 5
Outras opções úteis de vmstat:
-a
– Mostrar memória ativa e inativa-s
– Exibir contadores de eventos e estatísticas de memória-S
– Sair em KB ao invés de blocos5
– Saída atualizada a cada 5 segundos.
O exemplo acima mostra dados de memória e CPU a cada 5 segundos até ser interrompido, o que é útil para monitorar o desempenho do sistema em tempo real.
43. iostat – Relatório de Estatísticas de CPU e I/O
O comando iostat
monitora e exibe a utilização da CPU e métricas de E/S de disco. Isso inclui carga da CPU, IOPS, taxa de leitura/escrita e mais.
Por exemplo:
iostat -d -p sda 5
Algumas opções de iostat:
-c
– Exibir informações de utilização da CPU-t
– Imprimir marca temporal para cada relatório-x
– Mostrar estatísticas estendidas como tempos de serviço e contagens de espera-d
– Mostrar estatísticas detalhadas por disco/partição em vez de totais agregados-p
– Exibir estatísticas para dispositivos de disco específicos
Isso mostra estatísticas detalhadas de E/S por dispositivo para sda a cada 5 segundos.
iostat
ajuda a analisar o desempenho do subsistema de disco e identificar gargalos de hardware.
44. free – Exibir Quantidade de Memória Livre e Usada
O comando free
mostra os totais, usados e livres de memória física e de swap no sistema. Isso oferece uma visão geral da memória disponível.
Por exemplo:
free -h
Algumas opções para o comando livre:
-b
– Exibir saída em bytes-k
– Mostrar saída em KB ao invés de bytes padrão-m
– Mostrar saída em MB ao invés de bytes-h
– Imprimir estatísticas em formato legível por humanos, como GB, MB ao invés de bytes.
Isso exibe estatísticas de memória em formato legível por humanos (GB, MB, etc). É útil quando você deseja uma visão geral rápida da capacidade de memória.
45. df – Relatar Uso do Espaço em Disco do Sistema de Arquivos
O comando df
exibe o uso de espaço em disco para sistemas de arquivos. Ele mostra o nome do sistema de arquivos, espaço total/usado/disponível e capacidade.
Por exemplo:
df -h
O comando acima imprimirá a utilização do disco em um formato legível por humanos. Você também pode executá-lo sem argumentos para obter os mesmos dados em tamanhos de blocos.
46. sar – Coletar e Relatar Atividade do Sistema
A ferramenta sar
coleta e registra informações de atividade do sistema sobre CPU, memória, I/O, rede e mais ao longo do tempo. Esses dados podem ser analisados para identificar problemas de desempenho.
Por exemplo:
sar -u 5 60
Este exemplo registra o uso da CPU a cada 5 segundos por uma duração de 60 amostras.
sar
oferece dados detalhados de desempenho do sistema histórico não disponíveis em ferramentas em tempo real.
Comandos de Gerenciamento de Usuários
Ao usar sistemas multiusuário, você pode precisar de comandos que ajudem a gerenciar usuários e grupos para controle de acesso e permissões. Vamos cobrir esses comandos aqui.
47. useradd – Criar Um Novo Usuário
O comando useradd
cria uma nova conta de usuário e diretório home. Ele define o UID, grupo, Shell e outros padrões do novo usuário.
Por exemplo:
useradd -m john
Opções úteis de useradd:
-m
– Criar o diretório de usuário.-g
– Especificar o grupo primário em vez do padrão.-s
– Definir o Shell de login do usuário.
O comando acima criará um novo usuário, “john,” com um UID gerado e uma pasta inicial criada em /home/john.
48. usermod – Modificar Uma Conta de Usuário
O comando usermod
modifica as configurações de uma conta de usuário existente. Isso pode alterar o nome de usuário, dir casa, Shell, grupo, data de expiração, etc.
Por exemplo:
usermod -aG developers john
Com este comando, você adiciona um usuário john a um grupo adicional—“developers.” O -a
acrescenta à lista existente de grupos aos quais o usuário é adicionado.
49. userdel – Excluir uma conta de usuário
O comando userdel
exclui uma conta de usuário, diretório pessoal e spool de correio.
Por exemplo:
userdel -rf john
Opções úteis de userdel:
-r
– Remover o diretório pessoal do usuário e a caixa de correio.-f
– Forçar a exclusão mesmo se o usuário ainda estiver logado.
Isso força a remoção do usuário “john,” excluindo os arquivos associados.
Especificar opções como -r
e -f
com userdel
garante que a conta de usuário seja completamente deletada mesmo se o usuário estiver logado ou tiver processos ativos.
50. groupadd – Adicionar um Grupo
O comando groupadd
cria um novo grupo de usuários. Grupos representam equipes ou papéis para fins de permissões.
Por exemplo:
groupadd -r sysadmin
Opções úteis de groupadd:
-r
– Crie um grupo de sistema usado para funções do sistema central.-g
– Especifique o GID do novo grupo em vez de usar o próximo disponível.
O comando acima cria um novo grupo “sysadmin” com privilégios de sistema. Ao criar novos grupos, o -r
ou -g
ajudam a configurá-los corretamente.
51. passwd – Atualizar Tokens de Autenticação do Usuário
O comando passwd
define ou atualiza a senha/tokens de autenticação de um usuário. Isso permite alterar sua senha de login.
Por exemplo:
passwd john
Isso solicita ao usuário “john” para inserir uma nova senha interativamente. Se você perdeu a senha de uma conta, pode desejar fazer login no Linux com privilégios sudo ou su e alterar a senha usando o mesmo método.
Comandos de Networking
Esses comandos são usados para monitorar conexões, solucionar problemas de rede, roteamento, DNS lookups e configuração de interface.
52. ping – Enviar ECHO_REQUEST ICMP para Hosts de Rede
O comando ping
verifica a conectividade com um host remoto enviando pacotes de solicitação de eco ICMP e ouvindo as respostas de eco.
Por exemplo:
ping google.com
PING google.com (142.251.42.78): 56 bytes de dados
64 bytes de 142.251.42.78: icmp_seq=0 ttl=112 tempo=8.590 ms
64 bytes de 142.251.42.78: icmp_seq=1 ttl=112 tempo=12.486 ms
64 bytes de 142.251.42.78: icmp_seq=2 ttl=112 tempo=12.085 ms
64 bytes de 142.251.42.78: icmp_seq=3 ttl=112 tempo=10.866 ms
--- estatísticas de ping google.com ---
4 pacotes transmitidos, 4 pacotes recebidos, 0.0% de perda de pacotes
ida e volta min/méd/max/desvio padrão = 8.590/11.007/12.486/1.518 ms
Opções úteis de ping:
-c [count]
– Limite de pacotes enviados.-i [interval]
– Aguarde intervalo de segundos entre os pings.
Com o comando acima, você faz ping em google.com e exibe estatísticas de ida e volta indicando conectividade e latência. Geralmente, ping
é usado para verificar se um sistema ao qual você está tentando se conectar está ativo e conectado à rede.
53. ifconfig – Configurar Interfaces de Rede
O comando ifconfig
exibe e configura as configurações da interface de rede, incluindo endereço IP, máscara de rede, broadcast, MTU e endereço MAC do hardware.
Por exemplo:
ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::a00:27ff:fe1e:ef1d prefixlen 64 scopeid 0x20<link>
ether 08:00:27:1e:ef:1d txqueuelen 1000 (Ethernet)
Pacotes RX 23955654 bytes 16426961213 (15.3 GiB)
Erros RX 0 perdidos 0 estouros 0 quadro 0
Pacotes TX 12432322 bytes 8710937057 (8.1 GiB)
Erros TX 0 perdidos 0 estouros 0 transportadora 0 colisões 0
Executar ifconfig
sem outros argumentos fornecerá uma lista de todas as interfaces de rede disponíveis para uso, juntamente com informações de IP e informações de rede adicionais. ifconfig
também pode ser usado para definir endereços, ativar/desativar interfaces e alterar opções.
54. netstat – Estatísticas de Rede
O comando netstat
mostra as conexões de rede, tabelas de roteamento, estatísticas de interface, conexões mascaradas e associações multicast.
Por exemplo:
netstat -pt tcp
Este comando exibirá todas as conexões TCP ativas e os processos que as utilizam.
55. ss – Estatísticas de Soquete
O comando ss
exibe informações estatísticas de socket semelhantes ao netstat. Ele pode mostrar sockets TCP e UDP abertos, tamanhos de buffer de envio/recebimento e mais.
Por exemplo:
ss -t -a
Isso imprime todos os sockets TCP abertos. Mais eficiente que netstat
.
56. Traceroute – Trace Route To Host
O comando traceroute
imprime o caminho que os pacotes seguem até um host de rede, mostrando cada salto ao longo do caminho e os tempos de trânsito. Útil para depuração de rede.
Por exemplo:
traceroute google.com
Isso traça o caminho para alcançar google.com e exibe cada salto de rede.
57. dig - DNS Lookup
O comando dig
realiza consultas DNS e retorna informações sobre registros DNS para um domínio.
Por exemplo:
dig google.com
; <<>> DiG 9.10.6 <<>> google.com
;; opções globais: +cmd
;; Resposta obtida:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60290
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; SEÇÃO DE PSEUDOOPT:
; EDNS: versão: 0, flags:; udp: 1280
;; SEÇÃO DE PERGUNTAS:
;google.com. IN A
;; SEÇÃO DE RESPOSTAS:
google.com. 220 IN A 142.251.42.78
;; Tempo de consulta: 6 msec
;; SERVIDOR: 2405:201:2:e17b::c0a8:1d01#53(2405:201:2:e17b::c0a8:1d01)
;; QUANDO: Qua Nov 15 01:36:16 IST 2023
;; TAMANHO MSG rcvd: 55
Esta consulta servidores DNS para registros relacionados a google.com e imprime detalhes.
58. nslookup – Consulta Interativa aos Servidores de Nomes da Internet
O comando nslookup
consulta servidores DNS interativamente para realizar pesquisas de resolução de nomes ou exibir registros DNS.
Ele entra em um Shell interativo, permitindo que você procure manualmente nomes de host, reverta endereços IP, encontre tipos de registros DNS e mais.
Por exemplo, alguns usos comuns do nslookup. Digite nslookup na sua linha de comando:
nslookup
A seguir, configuraremos o servidor DNS 8.8.8.8 do Google para consultas.
> servidor 8.8.8.8
Agora, vamos consultar o registro A de stackoverflow.com para encontrar seu endereço IP.
> set type=A
> stackoverflow.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Resposta não autoritativa:
Name: stackoverflow.com
Address: 104.18.32.7
Name: stackoverflow.com
Address: 172.64.155.249
Agora, vamos encontrar os registros MX para github.com para ver seus servidores de e-mail.
> set type=MX
> github.com
Servidor: 8.8.8.8
Endereço: 8.8.8.8#53
Resposta não autoritativa:
github.com trocador de mail = 1 aspmx.l.google.com.
github.com trocador de mail = 5 alt1.aspmx.l.google.com.
github.com trocador de mail = 5 alt2.aspmx.l.google.com.
github.com trocador de mail = 10 alt3.aspmx.l.google.com.
github.com trocador de mail = 10 alt4.aspmx.l.google.com.
As consultas interativas tornam nslookup
muito útil para explorar DNS e solucionar problemas de resolução de nomes.
59. iptables – Filtragem de Pacotes IPv4 e NAT
O comando iptables
permite configurar regras de firewall do netfilter do Linux para filtrar e processar pacotes de rede. Ele estabelece políticas e regras para como o sistema lidará com diferentes tipos de conexões e tráfego de entrada e saída.
Por exemplo:
iptables -A INPUT -s 192.168.1.10 -j DROP
O comando acima bloqueará todas as entradas do IP 192.168.1.10.
iptables
oferece um controle poderoso sobre o firewall do kernel Linux para lidar com roteamento, NAT, filtragem de pacotes e outras formas de controle de tráfego. É uma ferramenta crucial para a segurança de servidores Linux.
60. ip – Gerenciar Dispositivos de Rede e Roteamento
O comando ip
permite gerenciar e monitorar várias atividades relacionadas a dispositivos de rede, como atribuir endereços IP, configurar sub-redes, exibir detalhes de link e configurar opções de roteamento.
Por exemplo:
ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:8a:5c:04 brd ff:ff:ff:ff:ff:ff
O comando acima mostra todas as interfaces de rede, seu status e outras informações.
Este comando visa substituir o ifconfig por um gerenciamento de rede Linux mais moderno. ip
pode controlar dispositivos de rede, tabelas de roteamento e outras configurações da pilha de rede.
Comandos de Gerenciamento de Pacotes
Gerenciadores de pacotes permitem a instalação, atualização e remoção fácil de software em distribuições Linux. Gerenciadores de pacotes populares incluem APT
, YUM
, DNF
, Pacman
e Zypper
.
61. apt – Gerenciador de Pacotes Debian/Ubuntu
O comando apt
gerencia pacotes em sistemas Debian/Ubuntu usando o repositório APT. Ele permite instalar, atualizar e remover pacotes.
Por exemplo:
apt update
Este comando busca as versões mais recentes dos pacotes e metadados dos repositórios.
apt install nginx
Você pode instalar o pacote nginx dos repositórios APT configurados usando o comando acima.
apt upgrade
E este comando atualiza pacotes e dependências para versões mais recentes.
APT
facilita a instalação de software ao buscar pacotes de repositórios.
62. pacman – Gerenciador de Pacotes do Arch Linux
pacman
gerencia pacotes no Arch Linux a partir do Repositório de Usuários do Arch. Ele pode instalar, atualizar e remover pacotes.
Por exemplo:
pacman -S nmap
Isso instala o pacote nmap a partir dos repositórios configurados.
pacman -Syu
Isso sincroniza com os repositórios e atualiza todos os pacotes.
pacman
mantém o Arch Linux atualizado e permite o gerenciamento fácil de pacotes.
63. dnf – Gerenciador de Pacotes Fedora
dnf
instala, atualiza e remove pacotes nas distribuições do Fedora Linux usando pacotes RPM. Ele substitui o Yum como o gerenciador de pacotes da próxima geração.
Por exemplo:
dnf install util-linux
Isso instala o pacote util-linux.
dnf upgrade
Isso atualiza todos os pacotes instalados para as versões mais recentes.
dnf
torna o gerenciamento de pacotes do Fedora rápido e eficiente.
64. yum – Gerenciador de Pacotes do Red Hat
yum
gerencia pacotes nas distribuições Linux RHEL e CentOS usando pacotes RPM. Ele busca dos repositórios Yum para instalar e atualizar.
Por exemplo:
yum update
Isso atualiza todos os pacotes instalados para as versões mais recentes.
yum install httpd
O comando acima instala o pacote Apache httpd. yum
tem sido o principal gerenciador de pacotes para manter as distribuições Red Hat atualizadas.
65. zypper – Gerenciador de Pacotes OpenSUSE
zypper
gerencia pacotes no Linux SUSE/openSUSE. Ele pode adicionar repositórios, pesquisar, instalar e atualizar pacotes.
Por exemplo:
zypper refresh
O comando de atualização para zypper
atualiza os metadados do repositório dos repositórios adicionados.
zypper install python
Isso instala o pacote Python a partir de repositórios configurados. zypper
torna a experiência de gerenciamento de pacotes sem esforço em sistemas SUSE/openSUSE.
66. flatpak – Gerenciador de Pacotes de Aplicativos Flatpak
O comando flatpak
ajuda você a gerenciar aplicativos e ambientes de execução Flatpak. flatpak
permite a distribuição de aplicativos desktop em sandbox em Linux.
Por exemplo:
flatpak install flathub org.libreoffice.LibreOffice
Por exemplo, o comando acima instalará o LibreOffice do repositório Flathub.
flatpak run org.libreoffice.LibreOffice
E este inicia a aplicação LibreOffice Flatpak em um ambiente sandbox. flatpak
oferece um repositório de aplicativos Linux centralizado e cross-distro, de modo que você não está mais limitado aos pacotes disponíveis na biblioteca de pacotes de uma distro específica.
67. appimage – Gerenciador de Pacotes de Aplicativos AppImage
AppImage
são pacotes autocontidos que funcionam na maioria das distribuições Linux. O comando appimage executa AppImages existentes.
Por exemplo:
chmod +x myapp.AppImage
./myapp.AppImage
Isso permite executar diretamente o arquivo binário AppImage.
AppImages
permitem a implantação de aplicativos sem a necessidade de instalação em todo o sistema. Pense neles como pequenos contêineres que incluem todos os arquivos necessários para permitir que o aplicativo funcione sem muitas dependências externas.
68. snap – Gerenciador de Pacotes de Aplicativos Snappy
O comando snap
gerencia snaps—pacotes de software containerizados. Snaps atualizam automaticamente e funcionam em distribuições Linux de forma similar ao Flatpak.
Por exemplo:
snap install vlc
Este comando simples instala o snap do VLC media player.
snap run vlc
Uma vez instalado, você pode usar snap
para executar pacotes que são instalados via snap usando o comando acima. Snaps isolam aplicativos do sistema base para portabilidade e permitem instalações mais limpas.
Comandos de Informação do Sistema
Estes comandos permitem que você visualize detalhes sobre o hardware do seu sistema Linux, kernel, distribuições, hostname, tempo de atividade e mais.
69. uname – Imprimir Informações do Sistema
O comando uname
exibe informações detalhadas sobre o kernel do sistema Linux, arquitetura de hardware, nome de host e sistema operacional. Isso inclui números de versão e informações da máquina.
Por exemplo:
uname -a
Linux hostname 5.4.0-48-generic x86_64 GNU/Linux
uname
é útil para consultar esses detalhes principais do sistema. Algumas opções incluem:
-a
– Imprimir todas as informações disponíveis do sistema-r
– Imprimir apenas o número de lançamento do kernel
O comando acima exibiu informações estendidas do sistema, incluindo nome/versão do kernel, arquitetura de hardware, hostname e sistema operacional.
uname -r
Isso imprimirá apenas o número da versão do kernel. O comando uname
mostra detalhes sobre os componentes centrais do seu sistema Linux.
70. hostname – Mostrar ou Definir o Nome do Host do Sistema
O comando hostname
imprime ou define o identificador de hostname para o seu sistema Linux na rede. Sem argumentos, ele exibe o hostname atual. Passar um nome atualizará o hostname.
Por exemplo:
hostname
linuxserver
Isso imprime linuxserver — o hostname do sistema configurado.
hostname UbuntuServer
hostnames
identificam sistemas em uma rede. hostname
obtém ou configura o nome identificador do seu sistema na rede. O segundo comando ajuda você a alterar o nome de host local para UbuntuServer.
71. uptime – Há quanto tempo o sistema está em funcionamento
O comando uptime
mostra há quanto tempo o sistema Linux está em funcionamento desde a última reinicialização. Ele exibe o tempo de atividade e a hora atual.
Execute o seguinte comando para obter os dados de tempo de atividade do seu sistema:
uptime
23:51:26 up 2 dias, 4:12, 1 usuário, média de carga: 0.00, 0.01, 0.05
Isso mostra o tempo de atividade do sistema, indicando há quanto tempo o sistema está ligado desde a última inicialização.
72. whoami – Imprimir ID de Usuário Ativo
O comando whoami
imprime o nome de usuário efetivo do usuário atualmente logado no sistema. Ele exibe o nível de privilégio com o qual você está operando.
Digite o comando no seu terminal para obter o ID:
whoami
john
Isso exibe o nome de usuário efetivo com o qual o usuário atual está logado e operando, sendo útil em scripts ou diagnósticos para identificar como quais contas de usuário as ações estão sendo realizadas.
73. id – Imprimir IDs de Usuário e Grupo Reais e Efetivos
O comando id
imprime informações detalhadas sobre o usuário e o grupo relativos aos IDs efetivos e nomes do usuário atual. Isso inclui:
- ID e nome do usuário real.
- ID e nome do usuário efetivo.
- ID e nome do grupo real.
- ID e nome do grupo efetivo.
Para usar o comando id, simplesmente digite:
id
uid=1000(john) gid=1000(john) groups=1000(john),10(wheel),998(developers)
O comando id
exibe os IDs de usuário e grupo reais e efetivos do usuário atual. id
mostra detalhes de usuário e grupo úteis para determinar permissões de acesso a arquivos.
74. lscpu – Exibir Informações da Arquitetura da CPU
O comando lscpu
exibe informações detalhadas da arquitetura da CPU, incluindo:
- Número de núcleos da CPU
- Número de soquetes
- Nome do modelo
- Tamanhos de Cache
- Frequência da CPU
- Tamanhos de endereço
Para usar o comando lscpu, simplesmente digite:
lscpu
Arquitetura: x86_64
Modos de operação da CPU: 32-bit, 64-bit
Ordem dos Bytes: Little Endian
CPU(s): 16
Lista de CPUs on-line: 0-15
lscpu
detalha a arquitetura da CPU como o número de núcleos, soquetes, nome do modelo, caches e mais.
75. lsblk – Listar Dispositivos de Bloco
O comando lsblk
lista informações sobre todos os dispositivos de bloco disponíveis, incluindo discos locais, partições e volumes lógicos. A saída inclui nomes de dispositivos, rótulos, tamanhos e pontos de montagem.
lsblk
NOME MAJ:MIN RM TAMANHO RO TYPE PONTO DE MONTAGEM
sda 8:0 0 1.8T 0 disco
|-sda1 8:1 0 512M 0 parte /boot
|-sda2 8:2 0 16M 0 parte
`-sda5 8:5 0 1.8T 0 parte
`-lvm1 254:0 0 1.8T 0 lvm /
lsblk
lista todos os dispositivos de bloco, incluindo discos, partições e volumes lógicos. Fornece uma visão geral dos dispositivos de armazenamento.
76. lsmod – Exibir o Status dos Módulos no Kernel do Linux
O comando lsmod
exibe os módulos do kernel atualmente carregados, como drivers de dispositivos. Isso inclui Networking, Armazenamento e outros módulos relacionados ao hardware que estão sendo usados pelo kernel do Linux para interagir com dispositivos internos e externos.
lsmod
Módulo Tamanho Usado por
ipv6 406206 27
evdev 17700 0
crct10dif_pclmul 16384 1
crc32_pclmul 16384 0
ghash_clmulni_intel 16384 0
aesni_intel 399871 0
aes_x86_64 20274 1 aesni_intel
Como você pode ver, ele lista os módulos de kernel atualmente carregados, como drivers de dispositivo. Neste caso, ele mostra o uso de módulos de Networking, entrada, criptográficos e de criptografia.
77. dmesg – Imprimir ou Controlar o Buffer de Anel do Kernel
O comando dmesg
despeja mensagens do buffer circular do kernel. Isso inclui eventos essenciais do sistema registrados pelo kernel durante a inicialização e operação.
dmesg | grep -i error
[ 12.345678] Erro ao receber resposta de leitura em lote: -110
[ 23.456789] tplink_mdio 0000:03:00.0: Carregamento direto de firmware para tplink-mdio/leap_p8_v1_0.bin falhou com erro -2
[ 40.567890] iwlwifi 0000:09:00.0: Carregamento direto de firmware para iwlwifi-ty-a0-gf-a0-59.ucode falhou com erro -2
Usar o comando “grep” para “error” mostra problemas ao carregar firmware específico. Isso imprime mensagens de log do kernel em buffer, incluindo eventos do sistema como inicialização, erros, avisos etc.
Comandos de Administração do Sistema
Os comandos de administrador de sistema ajudam você a executar programas como outros usuários, desligar ou reiniciar o sistema e gerenciar sistemas de inicialização e serviços.
78. sudo – Execute um Comando Como Outro Usuário
O comando sudo
permite que você execute comandos como outro usuário, tipicamente o superusuário. Após inserir o comando sudo
, ele solicitará sua senha para autenticar.
Isso fornece acesso elevado para tarefas como instalar pacotes, editar arquivos do sistema, administrar serviços etc.
Por exemplo:
sudo adduser bob
[sudo] password for john:
O usuário ‘bob’ foi adicionado ao sistema.
Isso usa sudo
para criar um novo usuário, ‘bob’. Usuários comuns normalmente não podem adicionar usuários sem sudo
.
79. su – Alterar ID do Usuário ou Tornar-se Superusuário
O comando su
permite que você mude para outra conta de usuário, incluindo o superusuário. Você deve fornecer a senha do usuário alvo para autenticar. Isso garante acesso direto para executar comandos no ambiente de outro usuário.
Por exemplo:
su bob
Senha:
bob@linux:~$
Após inserir a senha de bob, este comando altera o usuário atual para o usuário ‘bob’. O prompt do Shell refletirá o novo usuário.
80. shutdown – Desligar ou Reiniciar Linux
O comando shutdown
agenda um desligamento do sistema, parada ou reinicialização após um temporizador especificado ou imediatamente. É necessário para reiniciar ou desligar sistemas Linux multiusuário de forma segura.
Por exemplo:
shutdown -r now
Mensagem de transmissão de root@linux Sex 2023-01-20 18:12:37 CST:
O sistema será reiniciado AGORA!
Isso reinicia o sistema instantaneamente com um aviso aos usuários.
81. reboot – Reiniciar ou Reiniciar Sistema
O comando reboot
reinicia o sistema operacional Linux, desconectando todos os usuários e reiniciando o sistema de forma segura. Ele sincroniza os discos e desliga o sistema de maneira limpa antes de reiniciar.
Por exemplo:
reboot
Reiniciando sistema.
Isso reinicia imediatamente o sistema operacional. reboot é uma alternativa simples para shutdown -r
.
82. systemctl – Controle o Gerenciador de Sistema e Serviços systemd
O comando systemctl
permite que você gerencie serviços systemd, como iniciar, parar, reiniciar ou recarregar. Systemd
é o novo sistema init usado na maioria das distribuições Linux modernas, substituindo o SysV init.
Por exemplo:
systemctl start apache2
==== AUTENTICANDO PARA org.freedesktop.systemd1.manage-units ===
É necessário autenticação para iniciar 'apache2.service'.
Autenticando como: Nome do Usuário
Senha:
==== AUTENTICAÇÃO COMPLETA ===
Isso inicia o serviço apache2 após a autenticação.
83. serviço – Executar um Script de Inicialização do System V
O comando service
executa scripts de inicialização do System V para controle de serviços. Isso permite iniciar, parar, reiniciar e recarregar serviços gerenciados sob o init SysV tradicional.
Por exemplo:
service iptables start
[ ok ] Iniciando iptables (via systemctl): iptables.service.
O comando acima inicia o serviço de firewall iptables
usando seu script de inicialização SysV.
Outros Comandos Linux para Experimentar
-
mount
– Montar ou “anexar” unidades ao sistema. -
umount
– Desmontar ou “remover” unidades do sistema. -
xargs
– Constrói e executa comandos fornecidos através da entrada padrão. -
alias
– Criar atalhos para comandos longos ou complexos. -
jobs
– Listar programas que atualmente estão executando tarefas em segundo plano. -
bg
– Retomar um processo em segundo plano que foi parado ou pausado. -
killall
– Terminar processos pelo nome do programa em vez do PID. -
history
– Exibir comandos usados anteriormente na sessão atual do terminal. -
man
– Acessar manuais de ajuda para comandos diretamente no terminal. -
screen
– Gerenciar múltiplas sessões de terminal de uma única janela. -
ssh
– Estabelecer conexões seguras e criptografadas com servidores remotos. -
tcpdump
– Capturar tráfego de rede com base em critérios específicos. -
watch
– Repetir um comando em intervalos e destacar as diferenças na saída. -
tmux
– Multiplexador de terminal para sessões persistentes e divisão de tela. -
nc
– Abrir conexões TCP ou UDP para testes e transferência de dados. -
nmap
– Descoberta de hosts, varredura de portas e identificação de sistemas operacionais. -
strace
– Depurar processos rastreando sinais e chamadas do sistema operacional.
7 Dicas Essenciais para Usar Comandos Linux
- Conheça seu Shell: Bash, zsh, fish? Diferentes shells têm características únicas. Escolha aquele que melhor atende às suas necessidades.
- Domine os utilitários principais:
ls
,cat
,grep
,sed
,awk
, etc formam o núcleo de um kit de ferramentas Linux. - Adote pipelines: Evite o uso excessivo de arquivos temporários. Encadeie programas de maneira inteligente.
- Verifique antes de sobrescrever: Sempre confira duas vezes antes de sobrescrever arquivos com
>
e>>
. - Acompanhe seus fluxos de trabalho: Documente comandos complexos e fluxos de trabalho para reutilizar ou compartilhar mais tarde.
- Crie suas próprias ferramentas: Escreva scripts de shell simples e aliases para tarefas frequentes.
- Comece sem
sudo
: Use uma conta de usuário padrão inicialmente para entender as permissões.
E lembre-se de continuar testando novos comandos em máquinas virtuais ou servidores VPS para que eles se tornem uma segunda natureza para você antes de começar a usá-los em servidores de produção.
Hospedagem VPS
Um Servidor Privado Virtual (VPS) é uma plataforma virtual que armazena dados. Muitos provedores de hospedagem oferecem planos de Hospedagem VPS, que proporcionam aos proprietários de sites um espaço dedicado e privado em um servidor compartilhado.
Leia MaisMelhor Hospedagem Linux com DreamHost
Depois de dominar os comandos essenciais do Linux, você também precisa de um provedor de hospedagem e servidor que lhe dê controle total para aproveitar o poder e a flexibilidade do Linux.
É aí que a DreamHost se destaca.
A infraestrutura otimizada Linux da DreamHost é perfeita para executar seus aplicativos, sites e serviços:
- Hospedagem web rápida em servidores Linux modernos.
- Acesso Shell SSH para controle via linha de comando.
- Versões personalizáveis de PHP, incluindo PHP 8.0.
- Servidores web Apache ou NGINX.
- Bancos de dados gerenciados MySQL, PostgreSQL, Redis.
- Instalações com 1 clique de aplicativos como WordPress e Drupal.
- Armazenamento SSD acelerado por NVMe para mais velocidade.
- Renovação automática gratuita do SSL Let’s Encrypt.
Os especialistas da DreamHost podem ajudá-lo a aproveitar ao máximo a plataforma Linux. Nossos servidores são meticulosamente configurados para segurança, desempenho e confiabilidade.
Lance seu próximo projeto em uma plataforma de Hospedagem Linux em que você pode confiar. Comece com uma hospedagem robusta e escalável em DreamHost.com.