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
1do teclado mostra as cpu- letra
mfaz aparecer a barra de memória
-
free- mostra memória livre
free --mega--gibi--mebi--kibicat /proc/meminfo→ traz informações importantes de memória- mostra em megabytes
-
du→ tamanho ocupado por pastadu -h→ forma legíveldu -hs→ mostra o valor total por pastadu -k→ mostra em kbytesdu -m→ mostra em megabytesdu -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íveldf -H→ forma comercial- df -T → mostra qual sistema de arquivo cada bloco está usando
- combinação interessante
df-Th df -Th -ttipo_sistema_arquivo-t→ filtrodf -Th -t cgroup
- combinação interessante
-
ln /bin/ls- cria um
hard linkpara usar um comando - precisa ser root
ln -s /bin/ls nome_link- link simbólico
- cria um
-
Quando queremos salvar o comando sem executar no sheel
#ls -lha- o
#faz com que o comando não execute
- o
-
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 senhasudo su→ já entra sem senhasu -→ elimina todas as variáveis de ambientes- recomenda-se colocar o path completo
/bin/su -
- recomenda-se colocar o path completo
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 comabc
{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
mapós digitar, ele procura a próxima ocorrência
- clicando na letra
- digitar uma “/” e digitar o conteúdo
HEAD
head -n 3 passwd- mostra as 3 primeiras linhas do
arquivo passwd -c 10→ mostra os 10 primeiros bytes do arquivo
- mostra as 3 primeiras linhas do
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-typetambémacessados(-a) nos últimos 10 minutos
find /etc -cmin -10criados(-c) nos últimos 10 minutos
find /etc -user adolfo- mostra arquivos e grupos com o dono usuário
adolfo
- mostra arquivos e grupos com o dono usuário
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 ols- Podemos direcionar a uma pasta
ls -l nomePasta
- Podemos direcionar a uma pasta
-
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 -Bnã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 pastals -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 -laXordena 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 criarmdir→ remove diretorio | só remove pastas vaziasrmdir -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)
- tudo ouvindo soquetes (
-
lsb_release -amostra 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
dashe ele irá mudar - Para sair é
exitoulogoutouctrl + d
- Apenas digite
-
grep→ procura algo -
Energia
halt→ desliga a máquinashutdown -h now→desliga tambémshutdown -r now→ reboot na máquinapoweroff→ desliga tambémshutdown -h 18:00→ desliga às 18 horasshutdown -c→ cancela os agendamentosshutdown -c “Mensagem de cancelamento”
shutdown -r +30 “Mensagem para os usuários conectado”
RM
rm→ remove arquivos ou pastarm -r nome-diretorio→ remove diretorio e arquivos dentrosrm -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 copiadoscp -u→ copia arquivos que apenas foram atualizados
Editores
nanoctrl + o + enter→ salvarctrl + 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
chattrchattr i→ arquivo fica imutável, não pode ser removidochattr +i nome_arquivo_ou_pasta→ adiciona atributochattr -i nome_arquivo_ou_pasta→ remove o atributochattr -R -i nome_arquivo_ou_pasta→ remove os atributo de tudochattr +a attrnome_pasta_ou_arquivo → permite editar, mas não removerchattr +S arquivo→ grava imediatamente no discochattr +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 teste2diff -u teste1 teste2→ mostra as diferenças dos arquivosdiff -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 1845kill -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→ prioridadesleep 1000→ programa- abaixo da permissão 0, precisa ser root
-
screenctrl + a + d→ caso você estiver fazendo algo que fique travado de fazer outras coisas, ele vai criar outra screenctrl + a→ alterna entre as screenscreen -ls→ lista as screenscreen -x→ conecta na screen novamente
-
tmux- consegue dividir a tela em várias
-
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
- comando
-
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:
>(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:
Esse comando cria (ou substitui o conteúdo) do arquivo
echo "Olá, mundo!" > arquivo.txtarquivo.txtcom a string "Olá, mundo!".
>>(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:
Esse comando adiciona a string "Mais uma linha" ao final do arquivo
echo "Mais uma linha" >> arquivo.txtarquivo.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
- Ex: man
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.
-open→xdg-open <diretorio>abre a interface
xdg-open .
.deb
- Para instalar um
.deb, pode ser utilizado o seguinte comando:
apt install ./caminho-arquivo