Comandos essenciais para VPS Linux, o guia para quem está começando
Os comandos que você realmente vai usar no dia a dia da sua máquina, organizados por situação, com os avisos de onde dá para se machucar.
Contratou uma VPS Linux, conectou pela primeira vez e apareceu uma tela preta com um cursor piscando. É normal travar aí.
A boa notícia é que você não precisa aprender Linux inteiro. Existe um conjunto pequeno de comandos que cobre quase tudo do dia a dia, e é isso que este guia reúne, organizado por situação em vez de por ordem alfabética.
Se ainda não conectou na máquina, comece por como conectar na sua VPS Linux.
Antes: três coisas que economizam tempo
A tecla Tab completa nomes. Digite as primeiras letras de um arquivo ou pasta e aperte Tab. Além de evitar erro de digitação, confirma que o caminho existe.
As setas para cima trazem o histórico. Não redigite comando longo, e use
Ctrl + R para buscar algo que você rodou antes.
Ctrl + C cancela. Comando travado ou saída sem fim, é assim que você sai.
Onde eu estou e o que tem aqui
pwd # mostra a pasta atual
ls # lista os arquivos
ls -lah # lista com detalhes, tamanho legível e arquivos ocultos
cd /var/www # entra numa pasta
cd .. # volta uma pasta
cd # volta para a sua pasta pessoal
O ls -lah é o que você vai usar 90% das vezes. Ele mostra permissões, dono,
tamanho e data.
Mexendo em arquivos e pastas
mkdir minhapasta # cria pasta
touch arquivo.txt # cria arquivo vazio
cp origem destino # copia
cp -r pasta destino # copia pasta inteira
mv origem destino # move, e também serve para renomear
rm arquivo.txt # apaga arquivo
rm -r pasta # apaga pasta e o que tem dentro
Um aviso sério sobre o rm. No Linux não existe lixeira. O que você apaga
some na hora, sem confirmação e sem volta.
O comando rm -rf combinado com o caminho errado é a forma mais rápida de
destruir um servidor. Antes de rodar, dê um ls no mesmo caminho para
confirmar que é o que você acha que é.
Lendo e editando arquivos
cat arquivo.txt # mostra o conteúdo inteiro
less arquivo.log # abre para navegar, saia com q
tail -n 50 arquivo.log # mostra as últimas 50 linhas
tail -f arquivo.log # acompanha o arquivo ao vivo
grep "erro" arquivo.log # procura um texto dentro do arquivo
O tail -f é o mais útil de todos quando algo está dando errado: você deixa
rodando e vê o log aparecer em tempo real enquanto reproduz o problema.
Para editar, o nano é o mais simples:
nano /etc/ssh/sshd_config
Dentro dele, Ctrl + O salva, Ctrl + X sai. As instruções ficam na parte de
baixo da tela, e o ^ significa Ctrl.
Espaço em disco e memória
df -h # espaço livre em cada partição
du -sh * # tamanho de cada item da pasta atual
free -h # memória em uso e disponível
Disco cheio é uma das causas mais comuns de serviço que para sozinho. Quando
algo quebrar sem explicação, o df -h é a primeira coisa a rodar.
Se estiver cheio, o du -sh * na raiz e depois descendo pasta por pasta acha o
culpado rápido.
O que está consumindo a máquina
top # processos em tempo real, saia com q
htop # versão melhor, se instalada
ps aux | grep nome # procura um processo específico
kill PID # encerra um processo pelo número
kill -9 PID # força o encerramento
O htop costuma valer a instalação:
apt install -y htop # Ubuntu e Debian
dnf install -y htop # Rocky e AlmaLinux
Use kill -9 só quando o kill normal não resolver. Ele não dá chance de o
programa salvar nada.
Controlando serviços
É por aqui que você liga, desliga e reinicia praticamente tudo:
systemctl status nginx # como está
systemctl start nginx # inicia
systemctl stop nginx # para
systemctl restart nginx # reinicia
systemctl enable nginx # sobe junto com a máquina
systemctl disable nginx # não sobe mais no boot
A diferença entre start e enable confunde bastante: start liga agora,
enable faz ligar sozinho no próximo boot. Você normalmente quer os dois.
Para ver o log de um serviço:
journalctl -u nginx -n 100 --no-pager
journalctl -u nginx -f # ao vivo
Atualizando o sistema e instalando programas
No Ubuntu e Debian:
apt update # atualiza a lista de pacotes
apt upgrade -y # instala as atualizações
apt install -y pacote # instala algo
apt remove pacote # desinstala
No Rocky, AlmaLinux e CentOS:
dnf check-update
dnf upgrade -y
dnf install -y pacote
dnf remove pacote
O apt update sozinho não atualiza nada, ele só busca a lista. Quem instala é
o upgrade. É por isso que os dois quase sempre aparecem juntos.
Manter o sistema atualizado é uma das medidas de segurança mais baratas que existem, como comentamos em como manter a segurança da sua VPS.
Rede
ip a # mostra os IPs da máquina
ss -tulpn # o que está escutando e em qual porta
ping 8.8.8.8 # testa conectividade
curl -I site.com.br # testa uma resposta HTTP
O ss -tulpn é o comando que resolve a dúvida "abri a porta e não funciona".
Se o seu serviço não aparecer na lista, ele não está no ar, e o firewall não
tem nada a ver com isso.
Falando nisso, a configuração do firewall está em como ativar o firewall no Linux.
Permissões e usuários
chmod +x script.sh # torna executável
chmod 644 arquivo.txt # dono lê e escreve, o resto só lê
chown usuario:grupo arquivo # muda o dono
sudo comando # roda como administrador
passwd # troca a sua senha
whoami # mostra o usuário atual
Um aviso comum: chmod 777 resolve na hora e cria problema depois, porque dá
permissão total para qualquer usuário da máquina. Evite, principalmente em
pasta acessível pela web.
Para trocar a senha do root, o procedimento completo está em como alterar a senha de root.
Enviando arquivos para a máquina
Do seu computador, não de dentro da VPS:
scp arquivo.zip usuario@IP:/home/usuario/
scp -r pasta usuario@IP:/home/usuario/
Se preferir interface gráfica, o FileZilla faz o mesmo por SFTP e o passo a passo está em como conectar no FileZilla da sua VPS.
Descompactando
unzip arquivo.zip
tar -xzvf arquivo.tar.gz
tar -xf arquivo.tar
Se o unzip não existir, instale com apt install -y unzip.
Referência rápida
| Preciso... | Comando |
|---|---|
| Ver onde estou | pwd |
| Listar arquivos | ls -lah |
| Ver espaço em disco | df -h |
| Ver memória | free -h |
| Ver o que consome CPU | htop |
| Reiniciar um serviço | systemctl restart nome |
| Ver log de um serviço | journalctl -u nome -f |
| Acompanhar um arquivo de log | tail -f arquivo.log |
| Ver portas em uso | ss -tulpn |
| Atualizar o sistema | apt update && apt upgrade -y |
| Editar um arquivo | nano arquivo |
| Enviar arquivo para a VPS | scp arquivo user@IP:/destino |
Uma última dica
Quando não lembrar o que um comando faz ou quais opções ele tem:
man ls
comando --help
O man abre o manual completo, e você sai com q. O --help dá um resumo
rápido. Os dois funcionam para praticamente qualquer comando, e evitam sair
copiando linha da internet sem entender.
E essa é a regra mais importante de todas: não cole no terminal um comando
que você não entende, principalmente com sudo na frente. Se um tutorial
mandar rodar algo grande sem explicar, procure entender antes.
Um comando que ficou de fora por merecer post próprio é o de medir banda, em como fazer um teste de velocidade na sua VPS Linux.
Esses comandos valem em qualquer máquina Linux. Se você ainda está escolhendo onde rodar a sua, as configurações estão nos planos de VPS da WyzeHost, com Linux ou Windows na contratação.


