Dicas shell
Coletânea de dicas úteis, para uso no shell (bash)
Dicas shell
Coletânea de dicas úteis, para uso no shell (bash)
Colorir saída (log)
# ccze - A robust log colorizer
apt-cache search ccze
# Instalar ccze
apt install ccze
# Exemplo de uso
journalctl -f | ccze
Confirmação ao realizar comando de restart ou shutdown
# molly-guard guard against accidental shutdowns/reboots
apt-cache search molly-guard
# instalar molly-guard
apt install molly-guard
Visualizar mais de uma saída de log
# MultiTail - browse through several files at once
apt-cache search multitail
# instalar multitail
apt install multitail
# uso
multitail -f /var/log/messages /var/log/secure
Data e hora no histórico linux
Inserir a seguinte linha no arquivo .bashrc no diretório home do usuário
# Inserir a linha no profile caso queira que a opção seja global
export HISTTIMEFORMAT="%d-%m-%y %r "
echo 'export HISTTIMEFORMAT="%d-%m-%y %r " ' >> ~/.bashrc
# Forçar gravação após execução a cada comando
echo ‘PROMPT_COMMAND="history -a"’ >> .bashrc
Executar comando remoto em outra máquina usando sshpass
# Instalar sshpass
apt install sshpass
# Definir usuário e senha
SSH_USER='user'
SSH_PASS='pass'
SSH_IP='192.168.0.100'
SSH_COMMAND='cat /etc/fstab'
# Executar sshpass
sshpass -p "$SSH_PASS" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 "$SSH_USER"@"$SSH_IP" "$SSH_COMMAND" > /dev/null 2>&1
Montar diretório remoto usando sshfs
# Instalar sshfs
apt install sshfs
# Realizar montagem
mount -t sshfs user@192.168.100.125:/opt/ /mnt
# Listar diretórios
ls /mnt
Desativar ipv6
# Editar o arquivo
nano /etc/sysctl.conf
# Adicionar as seguintes linhas no arquivo sysctl
# Disable IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
# Aplicar configuração
sysctl -p
Listar arquivos com permissões Suid e Sguid:
# Listar arquivos usando find
find / -path /proc -prune -o -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \;
Monitorar website — Usando cron
# Monitora site example.com a cada 5 min
*/5 * * * * curl -s -o /dev/null -w "%{http_code}" https://example.com | grep -q "200" || echo "$(date): Website Down" >> /path/to/log/website.log
Gerar senhas aleatórias com entropia de 128
# Gerar palavra
pwmake 128
Usar partições separadas para maior segurança
/(root)
/boot
/home
/tmp
/var
Forçar rotacionamento de logs:
# Realizar checagem manual do logrotate
logrotate -vdf /etc/logrotate.conf
Inicialização do sistema— systemd
# Analisar o tempo de carregamento
systemd-analyze blame
#
Gerenciamento de logs — journalctl
# Listar serviço por unidade
journalctl -u sshd
# Listar detalhes
journalctl -xe
# Listar arquivos de log do kernel
journalctl -k
# Listar logs em tempo real
journalctl -f
# Listar tamanho do log
journalctl --disk-usage
# Verificar a consistencia dos logs
journalctl --verify
# Sanitizar os logs
journalctl --vacuum-size 10M
Gerenciamento de serviços — systemctl
# Listar todas a unidades
systemctl list-units
# Listar arquivos das unidades e estado do serviço
systemctl list-unit-files
# Listar serviço de uma unidade
systemctl show sshd
# Exibir configuração da unidade
systemctl cat sshd
# Listar dependências
systemctl list-dependencies sshd
# Listar serviços em execução
systemctl list-units --type=service --state=running
# Listar serviços habilitados
systemctl list-unit-files --type=service --state=enabled
# Listar sockets dos serviços
systemctl list-sockets
Montar diretório na memória -Ramdisk
# Criar diretório
mkdir /mnt/ramdisk
# Realizar montagem
mount -t tmpfs -o rw,size=2G tmpfs /mnt/ramdisk
Impedir script de rodar caso já esteja em execução
pidof -o %PPID -x "$(basename "$0")" > /dev/null && { echo "Script is already running"; exit 1; }
Comandos ip
# Adicionar ip na interface
ip address add 192.168.1.100/24 dev eth0
# Deletar ip na interface
ip address del 192.168.1.100/24 dev eth0
# Ativar interface
ip link set eth0 up
# Desativar interface
ip link set eth0 down
# Alterar mtu
ip link set eth0 mtu 1500
# Ativar captura de pacotes
ip link set eth0 promisc on
# Definir rota padrão
ip route add default via 192.168.1.1
# Definir rota estática
ip route add 172.16.0.0/16 via 192.168.1.254
# Definir rota estática escolhendo uma interface
ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
# Deletar uma rota
ip route del 172.16.0.0/16 via 192.168.1.254
# Exibir rota
ip route show
Remover comentários de arquivos
# Remover linhas com comentários
grep -vE '^(\s*#|\s*$)' arquivo
Verificar o tipo de arquivo
# Verificar o tipo de arquivo
file -b --mime-type arquivo
Enviar mensagem para usuário logado no sistema
# write <usuário> <número do tty>, usar em conjunto com o comando who
write root tty1
Receber alerta sobre algum evento de erro ocorrido no log do sistema
tail -f /var/log/syslog | grep --line-buffered 'ERROR' | while read line; do echo "$line" | mail -s "Syslog Error Alert" admin@example.com; done
Listar arquivos maiores que um tamanho especifico
find / -type f -exec du -h {} + | sort -rh | head -n 10
# Deletar arquivos maiores que 100M
find /tmp/ -type f -size +100M -exec rm -i {} \;
Links de referência:
https://www.tecmint.com/security-and-hardening-centos-7-guide
[embed]Proxmox Cheatsheet This all based on my experiencemedium.com
[embed]ESXi Cheatsheet Complete cheatsheet to easier ESXi managementmedium.com
[embed]Boosting Linux Storage Performance with LVM Striping medium.com
[embed]How To Set Up an NFS Server Using Block Storage Introductionmedium.com
[embed]Linux Directory Structure Detailed Working of Linux Directory Structuredheeruthedeployer.medium.com
[embed]Installing Portainer: Your Docker Control Center Portainer in Proxmox LXC!harish2k01.medium.com
https://www.cyberciti.biz/tips/linux-security.html
[embed]Understanding and Modifying Shell Options in Linux What are Linux Shell Optionsmedium.com
[embed]Conditions in bash scripting (if statements) Introductionmedium.com
[embed]Linux Directory Structure Detailed Working of Linux Directory Structuredheeruthedeployer.medium.com
[embed]Network Scanning 101 Discover Host, OS and other Information through Nmap and Metasploitmedium.com
메타데이터
- post_id
- c533c1a33a73
- slug
- dicas-shell-c533c1a33a73
- url
- https://medium.com/@lctec/dicas-shell-c533c1a33a73
- canonical_url
- https://medium.com/@lctec/dicas-shell-c533c1a33a73
- author_url
- https://medium.com/@lctec
- status
- ok
- fetched_at
- 2026-06-12 18:14:10