Crie atalhos! Use alias gs='git status'
no seu ~/.bashrc
ou ~/.zshrc
. Recarregue com source ~/.bashrc
(ou .zshrc
).
Pressione Ctrl + R
no terminal e digite parte de um comando anterior para encontrá-lo rapidamente no histórico.
Use history | grep apt
para encontrar todos os comandos que você executou que contêm "apt". Útil para relembrar o que fez.
Após criar um script shell (ex: meuscript.sh
), dê permissão de execução com chmod +x meuscript.sh
. Depois, rode-o com ./meuscript.sh
.
O comando watch
executa um comando repetidamente e mostra a saída. Ex: watch -n 1 'df -h'
mostra o uso de disco a cada segundo.
Sempre use a tecla TAB
para autocompletar nomes de arquivos, diretórios e comandos. Evita erros de digitação e economiza tempo.
cd -
te leva de volta ao diretório anterior. Útil para alternar entre dois caminhos frequentemente usados.
Use clear
ou o atalho Ctrl + L
para limpar a tela do terminal, deixando-o mais organizado.
Para executar um comando como superusuário, use sudo
antes dele. Ex: sudo apt update
. Sempre use com cautela!
Use cat <arquivo>
para ver o conteúdo de um arquivo. Para arquivos grandes, less <arquivo>
é melhor (use setas e q
para sair).
O comando mv <origem> <destino>
serve tanto para mover quanto para renomear arquivos e diretórios.
Use cp <origem> <destino>
para copiar arquivos. Para copiar diretórios e seu conteúdo, use cp -r <origem_dir> <destino_dir>
.
rm <arquivo>
remove um arquivo. Para diretórios (e seu conteúdo), use rm -r <diretorio>
. Cuidado, pois não vai para a lixeira!
Use mkdir -p pasta/subpasta/subsubpasta
para criar múltiplos diretórios aninhados de uma vez, sem precisar criar um por um.
Sempre que tiver dúvida sobre um comando, digite man <comando>
para ver seu manual completo. Ex: man ls
.
Use >
para redirecionar a saída de um comando para um arquivo (cria ou sobrescreve) e >>
para adicionar ao final do arquivo.
ls -l > lista.txt
echo "Nova linha" >> lista.txt
comando1 && comando2
executa o `comando2` APENAS se `comando1` for bem-sucedido. comando1 || comando2
executa o `comando2` APENAS se `comando1` FALHAR.
Adicione `&` ao final de um comando para executá-lo em segundo plano, liberando o terminal. Ex: firefox &
.
Use kill <PID>
para matar um processo pelo ID. Para matar por nome, use pkill <nome_do_processo>
ou killall <nome_do_processo>
.
df -h
mostra o espaço livre em partições. du -sh *
mostra o tamanho de cada pasta no diretório atual.
Sempre use sudo apt update && sudo apt upgrade -y
para manter seu sistema e pacotes atualizados e seguros.
Após desinstalar softwares, use sudo apt autoremove
para remover dependências que não são mais necessárias e liberar espaço.
Para liberar espaço, use sudo apt clean
. Isso remove os arquivos de pacote (`.deb`) baixados que estão no cache.
Use sudo apt install <nome_do_pacote>
. Você pode instalar múltiplos pacotes de uma vez: sudo apt install firefox vlc
.
sudo apt remove <nome_do_pacote>
desinstala o programa. Adicione --purge
(sudo apt purge <pacote>
) para remover também os arquivos de configuração.
Use apt search <termo>
para encontrar pacotes disponíveis nos repositórios que correspondem à sua busca.
Para ver informações detalhadas sobre um pacote antes de instalar, use apt show <nome_do_pacote>
.
No Arch e derivados, o yay
é um helper para o AUR (Arch User Repository). Use yay -S <nome_do_pacote>
para instalar pacotes não oficiais.
Para sistemas baseados em Fedora, use sudo dnf clean all
para limpar o cache de pacotes baixados e metadados.
O gerenciador de pacotes padrão é o DNF. Use sudo dnf install <nome_do_pacote>
para instalar softwares.
Para remover um pacote no Fedora, use sudo dnf remove <nome_do_pacote>
.
Mantenha seu Fedora atualizado com sudo dnf upgrade --refresh
.
Snaps são pacotes universais. Use sudo snap install <app>
para instalar, snap remove <app>
para remover. Funcionam em várias distros.
Flatpaks são outra opção universal. Use flatpak install flathub <app>
. Eles oferecem isolamento e consistência entre distribuições.
Para listar todos os pacotes instalados em sistemas baseados em Debian, use apt list --installed
.
Use ip a
ou ip addr
para ver seus endereços IP locais, interfaces de rede e seus estados.
Para saber seu IP que é visível na internet, use curl ifconfig.me
ou curl ipinfo.io/ip
.
O comando ping google.com
verifica se você tem conexão com a internet e mede o tempo de resposta.
Use sudo netstat -tulpn
para listar todas as portas de rede abertas e os programas que as estão usando.
O comando traceroute <destino>
(ou mtr <destino>
) mostra o caminho que seus pacotes fazem até um destino, útil para diagnosticar problemas de rede.
Use dig <dominio>
ou nslookup <dominio>
para consultar servidores DNS e verificar a resolução de nomes de domínio.
O comando ip link show
mostra o status de todas as suas interfaces de rede (ativas/inativas).
Se tiver problemas de conexão, tente reiniciar o NetworkManager: sudo systemctl restart NetworkManager
.
Para configurar um IP manual e temporário em uma interface: sudo ip a add 192.168.1.100/24 dev eth0
.
Para bloquear um IP, use: sudo iptables -A INPUT -s <IP_a_bloquear> -j DROP
. Lembre-se de salvar as regras.
Edite seu crontab pessoal com crontab -e
. Ex: @daily /caminho/do/seu/script.sh
executa o script uma vez por dia.
O rsync
é excelente para backups incrementais e sincronização: rsync -avz /origem /destino
. O `z` comprime dados.
Use tar -cvf backup.tar.gz /pasta_a_comprimir
para compactar e tar -xvf backup.tar.gz
para descompactar.
Crie um arquivo `.service` em /etc/systemd/system/
para automatizar a inicialização de scripts ou aplicativos no boot.
grep -r "termo" /caminho/da/pasta
busca recursivamente por "termo" em todos os arquivos da pasta. Use -i
para ignorar caixa.
O `sed` é um editor de fluxo. Ex: sed 's/antigo/novo/g' arquivo.txt
substitui todas as ocorrências de "antigo" por "novo" em um arquivo.
awk '{print $1}' arquivo.txt
imprime a primeira coluna de cada linha de um arquivo. Muito poderoso para relatórios e extração de dados.
Exemplo de loop `for`:
for i in $(ls); do echo "Arquivo: $i"; done
Itera sobre a saída do ls
.
Use `if` para lógica condicional:
if [ -f "arquivo.txt" ]; then echo "Existe!"; fi
Verifica se `arquivo.txt` é um arquivo.
Use `$()` ou backticks `` ` ``: MINHA_VAR=$(ls -l)
. Isso armazena a saída do comando em uma variável para uso posterior no script.
Para testar arquivos HTML/CSS/JS localmente, navegue até a pasta do seu projeto e execute python3 -m http.server
. Acesse http://localhost:8000
.
Neocities é uma excelente plataforma para hospedar sites estáticos gratuitamente. É perfeito para projetos pessoais e para aprender HTML/CSS.
Use <meta name="keywords">
e <meta name="description">
em seu HTML para ajudar motores de busca a entenderem o conteúdo da sua página.
Para desenvolvimento JavaScript, instale Node.js e NPM (Node Package Manager). Use `nvm` (Node Version Manager) para gerenciar múltiplas versões.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
nvm install node
Para desenvolvimento PHP, instale Apache e PHP: sudo apt install apache2 php libapache2-mod-php php-mysql
(Debian/Ubuntu).
Crie ambientes de desenvolvimento web isolados usando Docker. Isso garante que suas dependências de projeto não entrem em conflito com as do sistema.
Use curl
para testar APIs, wget
para baixar arquivos, jq
para parsear JSON e httpie
como um cliente HTTP amigável no terminal.
**VS Code** com suas extensões para HTML, CSS, JavaScript e frameworks é uma escolha excelente e popular para desenvolvimento web no Linux.
Use **Git** para controlar versões do seu código e colaborar em projetos. Essencial para qualquer desenvolvedor.
Para ver as mudanças no navegador automaticamente ao salvar arquivos (HTML, CSS, JS), instale e configure o **BrowserSync** (via npm).
As permissões são rwx
(read, write, execute) para proprietário, grupo e outros. Use chmod
para alterá-las (ex: chmod 755 script.sh
).
Use sudo chown <usuario>:<grupo> <arquivo>
para mudar o proprietário e o grupo de um arquivo ou diretório.
ln -s <destino_original> <link_simbolico>
cria um atalho (link simbólico) para um arquivo ou diretório, útil para organizar o sistema.
Use sudo mount /dev/sdb1 /mnt/meu_pendrive
para montar dispositivos. Para desmontar, sudo umount /mnt/meu_pendrive
.
O comando `find` é poderoso. Ex: find /home -name "*.txt"
procura todos os arquivos `.txt` no diretório `/home`.
Use file <arquivo>
para determinar o tipo de um arquivo (texto, imagem, executável, etc.) com base no seu conteúdo.
Para criar: tar -czvf arquivo.tar.gz /pasta/
. Para extrair: tar -xzvf arquivo.tar.gz
.
Use `timedatectl set-ntp true` para sincronizar o relógio do sistema com servidores NTP (Network Time Protocol).
Para mudar sua própria senha, use passwd
. Para mudar a senha de outro usuário (como root), use sudo passwd <usuario>
.
Use ps -fu <usuario>
para listar todos os processos sendo executados por um usuário específico.
A primeira linha de defesa. Atualizações trazem patches de segurança essenciais. Não ignore as notificações de update.
Combine letras maiúsculas/minúsculas, números e símbolos. Use um gerenciador de senhas como KeepassXC.
Se sua distro não vem com um firewall ativado, use o UFW para controle simples e eficaz de portas. sudo ufw enable
.
Cripte seu disco rígido durante a instalação do Linux. Isso protege seus dados se o dispositivo for perdido ou roubado.
Em vez de senha, use chaves SSH para acesso remoto. Mais seguro e conveniente. Gere com ssh-keygen
.
Monitore logs em /var/log/
ou use journalctl
para procurar atividades suspeitas ou erros do sistema.
Prefira repositórios oficiais da sua distribuição ou Flatpaks/Snaps. Evite baixar executáveis de fontes desconhecidas.
Ao baixar ISOs ou pacotes, verifique o checksum (MD5, SHA256) para garantir que o arquivo não foi corrompido ou adulterado.
sha256sum <arquivo.iso>
Serviços rodando em segundo plano podem ser um risco. Desabilite o que você não usa com sudo systemctl disable <serviço>
.
A melhor segurança contra perda de dados. Siga a regra 3-2-1: 3 cópias, 2 mídias diferentes, 1 fora do local.
Use top
, htop
ou o monitor de sistema da sua interface gráfica para ver o uso de recursos em tempo real.
Instale TLP
para otimizar o uso de bateria em notebooks: sudo apt install tlp tlp-rdw
e sudo tlp start
.
Use lshw
para listar informações detalhadas do hardware. lspci
para dispositivos PCI, lsusb
para USB.
Ajuste o `swappiness` (padrão 60) para controlar a frequência de uso da swap. Um valor menor (ex: 10) faz o sistema preferir a RAM.
sudo sysctl vm.swappiness=10
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
Regularmente limpe /tmp
e caches de navegador para liberar espaço e melhorar o desempenho geral do sistema.
Se seu hardware é antigo, considere XFCE, LXQt, MATE. Eles consomem menos RAM e CPU que GNOME ou KDE Plasma.
Desabilite aplicativos que iniciam automaticamente com o sistema e que você não usa. Isso acelera o boot e libera recursos.
Use smartctl
(parte do pacote smartmontools) para verificar a saúde do seu SSD ou HDD. Ex: sudo smartctl -a /dev/sda
.
Use `nice -n 10 <comando>` para iniciar um processo com menor prioridade, ou `renice -n 10 -p <PID>` para alterar a prioridade de um processo rodando.
Instale `lm-sensors` e `fancontrol`. Use `sensors` para ver temperaturas. Essencial para evitar superaquecimento, especialmente em notebooks.
sudo useradd <nome>
, sudo usermod -aG <grupo> <usuario>
, sudo userdel <nome>
são comandos essenciais para gerenciar contas de usuário.
Configure `logrotate` para compactar e arquivar logs antigos, evitando que preencham seu disco. O padrão geralmente já está configurado.
Edite o arquivo /etc/fstab
para montar partições automaticamente no boot do sistema. Cuidado ao editar, um erro pode impedir o boot.
Use rsync -avzP <origem> <usuario@destino:/caminho>
para copiar arquivos de forma eficiente e segura via SSH entre servidores.
Em servidores, sudo lsof -i -P -n
pode mostrar quais processos estão usando quais portas. Útil para diagnóstico de serviços.