Skip to main content

Comandos principais do Linux

An A-Z Index of the Linux command line - SS64.com

Dicas

  • top → mostra os processos rodando

    • comandos usado após o top
    • 1 do teclado mostra as cpu
    • letra m faz aparecer a barra de memória
  • free

    • mostra memória livre
    • free --mega
      • --gibi
      • --mebi
      • --kibi
      • cat /proc/meminfo → traz informações importantes de memória
      • mostra em megabytes
  • du → tamanho ocupado por pasta

    • du -h → forma legível
    • du -hs → mostra o valor total por pasta
    • du -k → mostra em kbytes
    • du -m → mostra em megabytes
    • du -hc → mostra pasta por pasta e mostra o total no final
  • hwclock --systohc

    • o horário é gravado no hardware
    • é salvo automaticamente quando se faz um restart ou um shutdown
  • df

    • mostra quanto cada bloco está consumindo de espaço
    • df -h → forma mais legível
    • df -H → forma comercial
    • df -T → mostra qual sistema de arquivo cada bloco está usando
      • combinação interessante df-Th
      • df -Th -t tipo_sistema_arquivo
        • -t → filtro
        • df -Th -t cgroup
  • ln /bin/ls

    • cria um hard link para usar um comando
    • precisa ser root
    • ln -s /bin/ls nome_link
      • link simbólico
  • Quando queremos salvar o comando sem executar no sheel

    • #ls -lha
      • o # faz com que o comando não execute
  • whereis ls → mostra onde está o manual desse comando(ls)

  • which ls → onde o binário está armazenado

SU

  • su → eleva as permissões do usuário, precisa saber da senha
  • sudo su → já entra sem senha
  • su - → elimina todas as variáveis de ambientes
    • recomenda-se colocar o path completo /bin/su -
  • su - nome_usuario -s /bin/bash

Curingas

  • * → nenhum, um ou vários caracteres
  • ? → um caracter na posição
  • [a-z] → intervalo de caracteres
    • [^abc] → determina que vai pesquisar tudo que não termina com abc
  • {sa}
    • ls x{zd,ze}* → determina pedaços do arquivo (zd, ze)

MORE

  • more /etc/passwd
    • ele vai parte por parte do arquivo sem mostrar tudo de uma vez
    • só rola para baixo, não consegue voltar

LESS

  • less /etc/passwd
    • rola para cima e para baixo
    • pode pesquisar dentro do arquivo
      • digitar uma “/” e digitar o conteúdo
        • clicando na letra m após digitar, ele procura a próxima ocorrência
  • head -n 3 passwd
    • mostra as 3 primeiras linhas do arquivo passwd
    • -c 10 → mostra os 10 primeiros bytes do arquivo

NL

  • nl -f a /etc/passwd
    • enumera as linhas do arquivo

ECHO

  • echo “valor” >> /tmp/expressao
    • adiciona o valor no final da linha

FIND

  • find [folder] [expression]
    • find . -name ls
      • encontra nessa pasta “.” todos que tem ls
    • find . -type d -name mc
      • traz apenas pastas
    • find . -type f -name mc
      • apenas arquivos
    • find . -maxdepth 2 -type f -name mc
      • apenas busca nas pastas em 2 níveis
      • find . -mindepth 1 -type f -name mc
    • find /etc/ -mtime -1 (time = dia)
      • procura arquivos que foram alterados a 1 dia atrás
      • find /etc -amin -10 → pode usar o -type também
        • acessados (-a) nos últimos 10 minutos
      • find /etc -cmin -10
        • criados (-c) nos últimos 10 minutos
    • find /etc -user adolfo
      • mostra arquivos e grupos com o dono usuário adolfo
    • find . -type f -size +100M
      • encontra arquivos acima de 100M

LS

  • ls - lista as pastas

  • ls a* → traz todas as combinações que começam com a letra “a”

  • ls- l- mostra o total de arquivos no diretório e mostra as mesma coisa que o ls

    • Podemos direcionar a uma pasta ls -l nomePasta
  • ls *pi*.py → lista com busca

  • ls *.??? → lista todos os arquivos que tenham 3 caracteres na extensão

  • ls *.[pj]* → lista todos os arquivos que comecem com a letra p ou j no começo da extensão

  • ls *[0-9]* → lista todos os arquivos que tenham números no nome

  • ls -A → não mostra os diretórios

  • ls -B não mostra os arquivos terminados com ~ que normalmente são arquivos de backup

  • ls —color=auto → coloca cor nos arquivos

    • always
    • never
    • auto
  • ls -l Pasta1 -d → lista apenas o dono e as permissão dessa pasta

    • ls -l Pasta1 → traz o conteúdo da pasta
  • ls -F → adiciona uma barra na frente quando é pasta

  • ls -t → ordena por data de criação

  • ls -latr → ordena por última data de alteração

  • ls -laX ordena por exentesão

  • ls -laR → lista arquivos separados por pasta

  • mkdir -p nome_pasta → cria diretório e caso tiver um diretório dentro do outro e algum não tiver criado, ele cria

    • rmdir → remove diretorio | só remove pastas vazias
      • rmdir -p → remove todas as pastas
  • cd - entra na pasta informada após o comando

  • touch - cria um arquivo

  • tree (pacote) → mostra a árvores das pastas

  • which nome do pacote → mostra onde está instalado

  • netstat -lntu

    • tudo ouvindo soquetes (-l)
    • a porta número (-n)
    • Portas TCP (-t)
    • Portas UDP (-u)
  • lsb_release -a mostra qual versão do linux estamos usando

  • cd - volta para o último diretório que você entrou

  • ctrl + L → limpa a tela (clear)

  • history → todos os comandos digitados

  • dash → é outro tipo de terminal - todos os shells estão /etc/shell

    • Apenas digite dash e ele irá mudar
    • Para sair é exit ou logout ou ctrl + d
  • grep → procura algo

  • Energia

    • halt → desliga a máquina
    • shutdown -h now →desliga também
    • shutdown -r now → reboot na máquina
    • poweroff → desliga também
    • shutdown -h 18:00 → desliga às 18 horas
    • shutdown -c → cancela os agendamentos
      • shutdown -c “Mensagem de cancelamento
    • shutdown -r +30 “Mensagem para os usuários conectado

RM

  • rm → remove arquivos ou pasta
  • rm -r nome-diretorio → remove diretorio e arquivos dentros
  • rm -rf * → remove todos os arquivos dentro da pasta que não estão ocultos

CP

  • cp [origem] [destino]
  • cp -vfr * /diretorio → mostra os arquivos sendo copiados
  • cp -u → copia arquivos que apenas foram atualizados

Editores

  • nano
    • ctrl + o + enter → salvar
    • ctrl + x → sair do arquivo
  • mcedit
    • precisa instalar o pacote
    • muito bom
  • vi
    • :x → salva e sai do arquivo
    • :w → escreve no arquivo, mas não sai

Atributos

  • chattr
    • chattr i → arquivo fica imutável, não pode ser removido
      • chattr +i nome_arquivo_ou_pasta→ adiciona atributo
      • chattr -i nome_arquivo_ou_pasta → remove o atributo
      • chattr -R -i nome_arquivo_ou_pasta → remove os atributo de tudo
      • chattr +a attr nome_pasta_ou_arquivo → permite editar, mas não remover
      • chattr +S arquivo → grava imediatamente no disco
      • chattr +D nome_pasta
        • todos os arquivos que forem gravados dentro dessa pasta, serão gravados diretamente no disco, sem passar pelo cache e buffer de disco
  • lsattr → lista os atributos

Cut

  • cut -d “:” -f 1 /etc/passwd
    • -d “:” → elemento delimitador
    • -f 1 → primeira ocorrência do elemento
    • -f 1-3 → pega um intervalo
    • -f 1-3,7 → pega um intervalo e mais o elemento na sétima posição

Cmp - compare

  • cmp teste1 teste2
  • diff -u teste1 teste2 → mostra as diferenças dos arquivos
  • diff -r pasta1 pasta2 → mostra as diferenças das pastas

Ps

  • ps -a → lista todos os processos rodando nos terminais
  • ps -axm → mostra detalhadamente o consumo de memória pelos programas

Kill

  • kill 1845
    • kill -15 1845 → pede ao programa para fechar de forma amigável
  • kill -9 1845 → mata sem perguntar nada

Nice

  • Define a prioridade do processo

    • -20 → mais alto
    • 19 → mais baixa
    • nice -n 10 sleep 1000
      • -n → prioridade
      • sleep 1000 → programa
      • abaixo da permissão 0, precisa ser root
  • screen

    • ctrl + a + d → caso você estiver fazendo algo que fique travado de fazer outras coisas, ele vai criar outra screen
    • ctrl + a → alterna entre as screen
    • screen -ls → lista as screen
    • screen -x → conecta na screen novamente
  • tmux

    • consegue dividir a tela em várias

    A Quick and Easy Guide to tmux

  • fdisk /dev/sda

    • comando p → mostra as partições
    • comando n → começa a mostrar opções para você poder criar partições
      • particão primária
      • partição secundária
  • fdisk -l

    • lista todas as partições

Apt-get

  • apt-get install nano htop -y
    • -y não pede confirmação

Trocar de editor

  • update-alternatives --config editor

Ver versão do Linux

lsb_release -a
cat /etc/os-release

Reiniciar a máquina

  • sudo reboot

Timezone

  • timedatectl
    • timedatectl list-timezones
    • timedatectl set-timezone Europe/Paris
  • date

Arquivos

Limpar arquivo

> nome-arquivo
  • Depois de um ctrl + C

Tamanho do arquivo

    du -h nome_arquivo
  • mostra em bytes

        ls -al
  • mostra o simbolo de K para ficar mais visível

        ls -alh

Como encontrar o arquivo que está fazendo muitos I/O ?

    sudo apt-get install iotop
iotop

Listar os arquivos mais grandes

du -ah / | sort -rh | head -n 20
  • du -ah / → Lista todos os arquivos e diretórios no sistema (/), mostrando o tamanho de cada um.
  • sort -rh → Ordena os resultados do maior para o menor (-r = reverso, -h = formato legível para humanos, como MB e GB).
  • head -n 20 → Mostra apenas os 20 primeiros resultados.

CPU

Como encontrar quem está usando mais cpu?

    ps aux --sort -%cpu

Quantidade de cores

    grep -i 'cpu cores' /proc/cpuinfo && grep -i 'siblings' /proc/cpuinfo

Quantidade de Threads por core

    lscpu | grep -E '^Thread|^Core|^Socket|^CPU\('

Virtualização

Detecta a execução em um ambiente virtualizado

    systemd-detect-virt

Extrair gz

    gzip -d filename.gz

Limpar arquivo

    truncate -s 0 nome_do_arquivo

> e >>

Explicação

No Linux, os operadores > e >> são usados para redirecionamento de saída em comandos de terminal. Eles controlam como a saída de um comando é escrita em um arquivo. Aqui está o que cada um faz:

  1. > (redirecionamento de saída):
  • O operador > redireciona a saída de um comando para um arquivo, substituindo qualquer conteúdo existente nesse arquivo. Se o arquivo não existir, ele será criado.
  • Exemplo:
    echo "Olá, mundo!" > arquivo.txt
    Esse comando cria (ou substitui o conteúdo) do arquivo arquivo.txt com a string "Olá, mundo!".
  1. >> (redirecionamento de saída com append):
  • O operador >> redireciona a saída de um comando para um arquivo, adicionando (append) ao final do conteúdo existente no arquivo. Se o arquivo não existir, ele será criado.
  • Exemplo:
    echo "Mais uma linha" >> arquivo.txt
    Esse comando adiciona a string "Mais uma linha" ao final do arquivo arquivo.txt, sem apagar o conteúdo existente.

Resumo

  • >: Sobrescreve o arquivo com a nova saída.
  • >>: Adiciona a nova saída ao final do arquivo, preservando o conteúdo existente.

Esses operadores são muito úteis para manipular arquivos de texto e registrar saídas de comandos em scripts e operações de linha de comando.

Caminho Host | Linux

    /etc/hosts

Criando alias | Linux

nano ~/.bashrc
alias nome_do_alias="comando_a_ser_executado"
source ~/.bashrc

User

Trocar de usuário

    su <nome do usuario>

Trocar a senha

    sudo passwd <nome do usuário>

Logs

Nginx

  • Obter os logs de 1h atrás do error.log
    awk -v since="$(date -d '1 hour ago' '+%Y/%m/%d %H:%M:%S')" '$0 >= since' /var/log/nginx/error.log
  • Obter os logs de 1h atrás do access.log
    awk -v Data="$(date -d '1 hour ago' '+%d/%b/%Y:%H:%M:%S')" '$0 ~ /\[.*\]/ && $0 > "["Data' /var/log/nginx/access.log

Executável

  • Tornar executável
    chmod +x nome_do_arquivo.sh
  • Rodar o script
    ./nome_do_arquivo.sh

man

  • Comando para ver a documentação dos comandos
    • Ex: man <qual comando> : man ls

Trocar layout do teclado

setxkbmap br abnt2

xdg

  • O XDG (ou XDG) é um conjunto de padrões e ferramentas usados em sistemas Linux para organizar arquivos, diretórios, configurações e aplicativos no ambiente gráfico.

    • -openxdg-open <diretorio> abre a interface
        xdg-open .

.deb

  • Para instalar um .deb, pode ser utilizado o seguinte comando:
apt install ./caminho-arquivo