Comandos Linux para saber de cor
Quarenta comandos; os vinte marcados «básicos» chegam para se safar em qualquer máquina.
Copiar
cp -r para uma pasta inteira; cp -a preserva permissões e datas.
Ligar a uma máquina
ssh utilizador@máquina, com -i para indicar uma chave não predefinida.
Mover ou mudar o nome
mv faz as duas coisas: mudar o nome é mover para outro nome.
Seguir um registo em direto
tail -f ficheiro.log mostra as linhas à medida que vão chegando.
Apagar
rm -r para uma pasta. Não há reciclagem: o que sai não volta.
Listar uma pasta
ls -lh para tamanhos legíveis, ls -la para ver também os ocultos.
Controlar um serviço
systemctl status, start, restart. O status diz também porque falhou.
Mostrar um ficheiro
cat para os curtos. Acima de vinte linhas, less serve muito melhor.
Ler um ficheiro grande
less mantém a navegação na mão; escrever uma barra procura lá dentro.
Procurar dentro de ficheiros
grep -rn "padrão" . dá o ficheiro e a linha, ao contrário de grep sozinho.
Encontrar um ficheiro
find . -name "*.log" -mtime -7: por nome, e alterado há menos de sete dias.
Ler o manual
man comando, e sobretudo barra padrão para saltar para a opção certa.
Executar como administrador
sudo para um comando, sudo -i para uma sessão quando são dez seguidos.
Mudar de pasta
cd sem argumento volta à pasta pessoal, cd - à pasta anterior.
Ver os processos
ps aux dá uma fotografia; um pipe para grep encontra o que interessa.
Parar um processo
kill pergunta com educação, kill -9 não pergunta. Convém tentar o primeiro.
Saber onde se está
pwd mostra o caminho absoluto e desarma metade das confusões.
Criar uma pasta
mkdir -p a/b/c cria a cadeia toda e não se queixa se já existir.
Reencontrar um comando antigo
history | grep padrão, ou Ctrl+R que procura à medida que se escreve.
Mudar as permissões
chmod 644 para um ficheiro, 755 para uma pasta ou um executável.
Medir o espaço livre
df -h por partição. É o primeiro comando quando uma escrita falha.
Descobrir o que enche o disco
du -sh * numa pasta, e depois descer pela maior. De degrau em degrau.
Arquivar
tar -czf arquivo.tar.gz pasta para criar, -xzf para extrair.
Ver as primeiras ou as últimas linhas
head -n 20 e tail -n 50. Num ficheiro novo, head diz logo a forma.
Substituir dentro de um ficheiro
sed -i "s/antigo/novo/g" ficheiro. Sem -i, o resultado fica no ecrã.
Ler os registos do sistema
journalctl -u serviço -f segue um serviço em vez do sistema inteiro.
Vigiar em direto
htop ordena por processador ou memória e deixa matar um processo sem sair.
Copiar à distância
rsync -av origem/ servidor:/destino/ retoma onde parou; o scp recomeça.
Interrogar um URL
curl -i mostra os cabeçalhos da resposta, o que tira metade das dúvidas.
Ver quem escuta numa porta
ss -ltnp lista as portas à escuta com o processo que está por trás.
Saber quem segura um ficheiro
lsof ficheiro nomeia o processo que impede de desmontar ou de apagar.
Programar uma tarefa
crontab -e edita, -l relê. Cinco campos: minuto, hora, dia, mês, semana.
Criar uma ligação simbólica
ln -s alvo ligação. O caminho do alvo ganha em ser absoluto.
Comparar dois ficheiros
diff -u antigo novo dá o formato que se lê em todo o lado.
Extrair uma coluna
awk "{print $2}" tira o segundo campo, haja os espaços que houver.
Encadear sobre uma lista
find … | xargs -n1 comando aplica um comando a cada resultado.
Ordenar e tirar repetidos
sort | uniq -c conta as ocorrências; ordenar antes de uniq é obrigatório.
Verificar um endereço
ip a substitui o ifconfig; ip r mostra por onde saem os pacotes.
Testar uma máquina
ping diz se ela responde, não se o serviço está de pé — são duas perguntas.
Repetir um comando
watch -n 2 comando repete de dois em dois segundos, no mesmo sítio.