# Comandos básicos de Linux para usar na sua VPS via SSH

> Os comandos do dia a dia na VPS são poucos: pwd, ls e cd para navegar; mkdir, cp, mv e rm para mexer em arquivos; cat, less e tail para ler; nano para editar; e exit para sair. Este guia explica cada um, com os cuidados.

> **Atenção: segurança da sua VPS.** Os comandos no SSH mexem direto no servidor e são executados por sua conta e risco. Confira cada comando antes de rodar e, se puder, crie um snapshot da VPS antes de começar.

Na VPS, você conversa com o servidor por comandos digitados no terminal. Com uns vinte comandos dá para fazer quase tudo no dia a dia: andar pelas pastas, ver e editar arquivos, copiar, mover, apagar e pedir permissão de administrador. Eles funcionam igual no Ubuntu e no Debian, os sistemas das VPS da StayCloud.

## Para que serve
Este guia é o ponto de partida para quem nunca usou Linux. Depois de entrar na VPS por SSH, você vai usar estes comandos para:

- saber onde está e o que tem em cada pasta;
- criar, copiar, mover e apagar arquivos e pastas;
- ler arquivos de configuração e de log;
- editar um arquivo direto no servidor;
- rodar comandos de administrador com segurança.

Para entrar na VPS, veja "Como acessar sua VPS por SSH pelo terminal (Linux, Windows e Mac)".

## Como funciona o terminal
Depois de entrar, aparece o prompt, algo como `root@vps:~#`. Ele mostra o usuário (`root`), o nome da VPS (`vps`) e a pasta onde você está (`~`, que é a sua pasta pessoal). O `#` no fim indica que você é o administrador (`root`); um usuário comum vê `$`.

Para rodar um comando, digite e aperte `Enter`. Algumas dicas que valem para todos:

- `Tab` completa o nome de comandos, pastas e arquivos. Digite o começo e aperte `Tab`.
- Seta para cima traz de volta os comandos anteriores.
- `Ctrl` + `C` interrompe o comando que está rodando.
- Maiúsculas e minúsculas fazem diferença: `Arquivo.txt` e `arquivo.txt` são arquivos diferentes.
- Para colar no terminal, use o botão direito do mouse ou `Ctrl` + `Shift` + `V` (no Mac, `Cmd` + `V`).

## Comandos para o dia a dia

| Para | Comando | Exemplo |
|---|---|---|
| Ver em que pasta você está | `pwd` | `pwd` |
| Listar o que tem na pasta | `ls` | `ls -la` (mostra também os ocultos, com detalhes) |
| Entrar numa pasta | `cd` | `cd /var/www` |
| Voltar uma pasta | `cd ..` | `cd ..` |
| Ir para a sua pasta pessoal | `cd` | `cd ~` |
| Criar uma pasta | `mkdir` | `mkdir backups` |
| Criar um arquivo vazio | `touch` | `touch notas.txt` |
| Copiar um arquivo | `cp` | `cp config.conf config.conf.bak` |
| Copiar uma pasta inteira | `cp -r` | `cp -r site site-copia` |
| Mover ou renomear | `mv` | `mv antigo.txt novo.txt` |
| Apagar um arquivo | `rm` | `rm notas.txt` |
| Apagar uma pasta e tudo dentro | `rm -r` | `rm -r site-copia` |
| Ver um arquivo inteiro | `cat` | `cat /etc/os-release` |
| Ler um arquivo grande, página por página | `less` | `less /var/log/syslog` (saia com `q`) |
| Ver o começo ou o fim de um arquivo | `head` / `tail` | `tail -n 50 /var/log/syslog` |
| Acompanhar um log ao vivo | `tail -f` | `tail -f /var/log/syslog` (saia com `Ctrl` + `C`) |
| Procurar um texto dentro de arquivos | `grep` | `grep -i erro /var/log/syslog` |
| Editar um arquivo | `nano` | `nano /etc/hosts` |
| Rodar como administrador | `sudo` | `sudo apt update` |
| Ver os últimos comandos usados | `history` | `history` |
| Limpar a tela | `clear` | `clear` |
| Ver a ajuda de um comando | `--help` / `man` | `ls --help` ou `man ls` (saia com `q`) |
| Sair da VPS | `exit` | `exit` |

Em algumas VPS com Debian, o arquivo `/var/log/syslog` não existe, porque os logs ficam só no journal do sistema. Nesse caso, use `journalctl -n 50` para ver as últimas linhas.

## Apagar com cuidado
No Linux não existe lixeira no terminal: o que o `rm` apaga some de vez. Antes de apagar:

- Confira onde você está com `pwd` e o que vai sair com `ls`.
- Prefira o caminho completo, como `rm /root/teste.txt`, em vez de nomes soltos.
- Use `rm -i` para o terminal perguntar antes de cada arquivo.
- Nunca rode `rm -rf` em `/` nem em pastas do sistema, como `/etc`, `/usr`, `/var` e `/boot`. Isso apaga o sistema e derruba a VPS.
- Antes de uma limpeza grande, faça um snapshot da VPS pelo painel.

## Editar arquivos com o nano
O `nano` é o editor mais simples do terminal. Os atalhos ficam no rodapé da tela, onde `^` quer dizer `Ctrl`.

1. Abra o arquivo: `nano nome-do-arquivo`. Se o arquivo não existe, ele é criado ao salvar.
2. Edite com as setas e o teclado, como num bloco de notas.
3. Para salvar, aperte `Ctrl` + `O` e depois `Enter`.
4. Para sair, aperte `Ctrl` + `X`. Se houver mudança não salva, o nano pergunta se quer salvar: `Y` para sim, `N` para não.

Antes de mexer num arquivo de configuração, faça uma cópia: `cp arquivo.conf arquivo.conf.bak`. Se algo der errado, é só voltar a cópia com `mv`.

## Permissões e o sudo
Todo arquivo tem um dono e permissões de leitura (`r`), escrita (`w`) e execução (`x`) para três grupos: o dono, o grupo e os outros. O `ls -l` mostra isso no começo da linha, como `-rw-r--r--`.

| Comando | Para que serve |
|---|---|
| `chmod 644 arquivo` | O dono lê e escreve; os outros só leem. Comum para arquivos de site. |
| `chmod 755 pasta` | O dono faz tudo; os outros leem e entram. Comum para pastas e scripts. |
| `chmod +x script.sh` | Deixa um script executável. |
| `chown usuario:grupo arquivo` | Troca o dono do arquivo. |

O `root` pode tudo. Se você entrou com um usuário comum, coloque `sudo` na frente do comando para rodar como administrador; a VPS pede a senha do seu usuário. A mensagem `Permission denied` costuma querer dizer que faltou o `sudo` ou a permissão do arquivo. Evite resolver com `chmod 777`: isso deixa qualquer um mexer no arquivo.

## Limites e cuidados
- Comando rodado como `root` não pede confirmação. Leia o comando inteiro antes de apertar `Enter`, principalmente os copiados da internet.
- Mudanças em arquivos de sistema podem impedir a VPS de ligar ou o SSH de funcionar. Se isso acontecer, entre pelo Console SSH do painel.
- Este guia cobre o básico. Para tarefas específicas, veja os artigos relacionados.

## Relacionados
- Como acessar sua VPS por SSH pelo terminal (Linux, Windows e Mac)
- Como acessar sua VPS pelo Console SSH do painel
- Como criar um snapshot da sua VPS antes de uma mudança
- Como ver o consumo de CPU, memória e disco da VPS via SSH
- Como instalar programas na VPS via SSH
- Como criar um usuário com sudo e entrar sem root na VPS via SSH

---
Fonte: https://help.staycloud.com/artigos/comandos-basicos-de-linux-para-usar-na-sua-vps-via-ssh
