Sua Primeira Semana em um Servidor Linux — 35+ Comandos Essenciais
Palavras-chave: Referência Rápida Antes de Começar
Antes de começar, aqui estão os termos que verá ao longo deste guia. Não precisa memorizá-los — apenas saiba que existem, e o contexto tornará tudo claro.
| Termo | O Que Significa |
|---|---|
| Terminal 💻 | A interface baseada em texto onde digita comandos |
| Shell 🐚 | O programa (geralmente Bash) que interpreta seus comandos |
| Bash ⚙️ | O shell mais comum; a “linguagem” que seu terminal fala |
| Sudo 🔑 | Um comando que permite executar outros comandos com privilégios de administrador |
| Package manager 📦 | Uma ferramenta (como apt) que instala e atualiza software para você |
| Daemon / Service 👻 | Um programa de fundo que executa continuamente (como um servidor web) |
| Permissions 🔒 | Regras que controlam quem pode ler, escrever ou executar um ficheiro |
| Root 👑 | A conta de administrador do sistema com todos os poderes |
Com esses termos na sua manga, está pronto. Vamos começar.
Introdução: Iniciando a Jornada do Servidor
Você acabou de se conectar ao seu novo servidor. Talvez o tenha provisionado de um provedor como AlexHost, que oferece implantação instantânea de Ubuntu com um único clique. Você abre seu terminal, digita: ssh root@your-server-ip , e pressiona Enter. A tela se limpa. Um cursor piscante o encarando de uma linha que diz algo como root@vps:~#
E agora?

O terminal não é uma relíquia. É a forma mais direta, componível e confiável de dizer a um computador o que fazer. Não há sobrecarga gráfica, sem menus para navegar, sem esperar por uma UI carregar. Você digita um comando, algo acontece, e você encadeia o próximo comando a ele. Via SSH, funciona de forma idêntica se seu servidor está na sala ao lado ou do outro lado do oceano.
Este artigo não vai lhe entregar uma lista de memorização. Em vez disso, você vai viver uma jornada realista de 7 dias em um VPS Linux novo — a mesma progressão que você seguiria se realmente se sentasse com um novo servidor hoje. No final, você não apenas saberá os comandos. Você saberá quando recorrer a cada um.
Dia 1: Conectar-se & Explorar
Acabou de se conectar ao seu servidor. O terminal mostra algo como root@vps:~#. Está conectado — mas onde está? O que há aqui? Vamos descobrir.

Passo 1: Conectar com “ssh”
Tudo começa com ssh — Secure Shell. É o comando de gateway que o leva da sua máquina local para o servidor remoto.
ssh username@server-ip
Na maioria dos provedores de VPS, você usará o endereço IP do seu painel de hospedagem e o nome de usuário que eles atribuem a você (geralmente root ou ubuntu). Se esta é a sua primeira vez conectando, será solicitado que você confirme a impressão digital do servidor — digite yes e pressione Enter.
✅ Agora está conectado ao seu servidor.
Passo 2: Confirme sua identidade com “whoami”
Antes de fazer qualquer coisa, verifique qual usuário está conectado.
whoami
Se você vir root, está operando como o administrador todo-poderoso. Isso é comum em um VPS novo, mas também significa que cada comando que você digita tem acesso total ao sistema — então preste atenção.
✅ Você sabe quem é neste sistema.
Passo 3: Encontre sua localização com: “pwd”
O comando pwd — Print Working Directory — informa exatamente onde você está no sistema de arquivos.
pwdEm um VPS novo conectado como root, você normalmente chegará em /root. Se estiver usando uma conta de usuário regular, verá /home/username. Pense nisso como sua “base de operações” — o ponto de partida para tudo o que fará.
✅ Você sabe onde está.
Passo 4: Veja o que está presente com “ls”
Agora vamos explorar o servidor. O comando ls lista arquivos e diretórios na sua localização atual.
lsUma saída vazia significa que não há nada aqui ainda — o que é normal para um servidor novo. Mas o verdadeiro poder vem com as flags. Tente:
ls -laIsso permite que você veja tudo, incluindo arquivos ocultos (aqueles que começam com um ponto) e informações detalhadas:
A flag -l oferece o formato longo (permissões, proprietário, tamanho, data), e -a mostra todos os arquivos, incluindo os ocultos. Você usará ls -la constantemente.
✅ Você pode ver tudo no seu diretório atual.
Passo 5: Mova-se com “cd”
O comando cd — Change Directory — é como você navega pelo sistema de arquivos.
cd /var/log
#Check new dir location
pwd
/var/logTrês variações que você usará constantemente:
cd .. # Go up one directory level
cd ~ # Go back to your home directory
cd - # Go back to the previous directory you were inO truque “cd -“ é especialmente útil — é como um “desfazer” para sua última mudança de diretório.
✅ Você pode se mover em qualquer lugar do sistema de arquivos.
Passo 6: Limpe com “clear”
Depois de executar vários comandos, seu terminal fica bagunçado. O comando clear limpa a tela e oferece um novo começo.
clearDica profissional: você também pode pressionar Ctrl+L para o mesmo efeito — é mais rápido quando se torna memória muscular.
✅ Seu terminal está limpo e pronto para o próximo comando.
Passo 7: Procure com “man”
Você não precisa memorizar cada flag para cada comando. O comando man — Manual — abre a documentação integrada para qualquer comando.
man lsIsso abre a página de manual completa para ls, mostrando cada flag disponível, o que faz e exemplos. Navegue com as setas ou barra de espaço, e pressione q para sair.
Pense em man como sua rede de segurança. Quando não tiver certeza do que um comando faz ou quais opções suporta, man tem a resposta.
✅ Você tem acesso à documentação integrada para cada comando.
Passo 8: Revise seu histórico com “history”
O comando history mostra cada comando que você digitou nesta sessão.
history
1 whoami
2 pwd
3 ls -la
4 cd /var/log
5 clear
6 historyAqui está a parte útil: você pode executar novamente qualquer comando digitando “!” seguido do seu número.
!3Isso executa novamente o comando número 3 (ls -la). Poupa você de redigitar comandos longos — e de cometer erros de digitação quando está com pressa.
✅ Você pode revisar e executar novamente qualquer comando anterior.
Dia 2: Criar e Gerir a Sua Área de Trabalho

Passo 1: Criar diretórios com “mkdir”
O comando mkdir — Make Directory — cria novas pastas.
mkdir projects
# Check dir
ls
projects
Mas a verdadeira estrela é mkdir -p, que cria diretórios aninhados de uma só vez — incluindo qualquer diretório pai que ainda não exista.
mkdir -p projects/myapp/logs
Sem -p, teria de criar projects, depois projects/myapp, depois projects/myapp/logs separadamente. Com ele, um comando faz tudo.
✅ Criou uma estrutura de diretórios para o seu projeto.
Passo 2: Criar ficheiros vazios com “touch”
O comando touch cria um ficheiro vazio instantaneamente.
touch projects/myapp/notes.txtVerificar novo ficheiro:
ls projects/myapp/
# logs notes.txtSe o ficheiro já existe, touch atualiza o seu timestamp em vez disso. É uma forma rápida de criar ficheiros de espaço reservado ou marcar que trabalhou em algo.
✅ Criou o seu primeiro ficheiro no servidor.
Passo 3: Copiar ficheiros com “cp”
O comando cp — Copy — duplica ficheiros e diretórios.
cp projects/myapp/notes.txt projects/myapp/notes-backup.txt
Para diretórios, precisa da flag -r (recursiva), que copia tudo dentro do diretório também:
cp -r projects/myapp projects/myapp-backup
✅ Pode duplicar ficheiros e árvores de diretórios inteiras.
Passo 4: Mover ou renomear ficheiros com “mv”
O comando mv faz dois trabalhos: move ficheiros e renomeia-os. Mesmo comando, contexto diferente.
mv projects/myapp/notes.txt projects/myapp/readme.txt
Isto renomeia notes.txt para readme.txt no mesmo diretório. Para mover realmente um ficheiro para uma localização diferente:
mv projects/myapp/readme.txt projects/
✅ Pode mover e renomear ficheiros com um comando.
Passo 5: Eliminar ficheiros com “rm”
O comando rm — Remove — elimina ficheiros permanentemente.
rm projects/myapp-backup/readme.txt
Para diretórios, use -r (recursiva):
rm -r projects/myapp-backup
⚠️ AVISO: rm -rf é a opção nuclear. A flag -f força a eliminação sem pedir confirmação, e combinada com -r, eliminará árvores de diretórios inteiras silenciosamente. Não há desfazer. Verifique o caminho duas vezes antes de carregar em Enter. Nunca execute rm -rf / — tentará eliminar todo o seu sistema de ficheiros.
✅ Pode remover ficheiros e diretórios que já não precisa.
Passo 6: Imprimir e escrever texto com “echo”
O comando echo imprime texto no terminal — mas o seu verdadeiro poder vem quando combinado com operadores de redirecionamento.
echo "Hello, server"
Hello, serverAgora redirecione essa saída para um ficheiro usando “>” (sobrescrever) ou “>>” (acrescentar):
echo "Server setup started" > projects/myapp/notes.txt
echo "Added a log entry" >> projects/myapp/notes.txt
O operador > cria o ficheiro ou sobrescreve-o se existir. O operador >> acrescenta ao final sem tocar no conteúdo existente. Este é o seu primeiro gosto de redirecionamento — um dos superpoderes principais do Linux.
✅ Pode escrever texto em ficheiros diretamente a partir da linha de comando.
Passo 7: Ler ficheiros com “cat”
O comando cat — Concatenate — apresenta o conteúdo do ficheiro no terminal.
cat projects/myapp/notes.txt
Para ficheiros pequenos, cat é a forma mais rápida de inspecionar conteúdo. Para ficheiros maiores, vai querer less (que permite deslocar-se), mas cat é o seu preferido para verificações rápidas.
✅ Pode ler conteúdo de ficheiros sem abrir um editor.
Passo 8: Editar ficheiros com “nano”
Quando precisa realmente de modificar um ficheiro, nano é o editor de terminal mais amigável para principiantes.
nano projects/myapp/notes.txt
Nano abre o ficheiro no seu terminal com uma interface simples. Os atalhos de teclado são apresentados na parte inferior do ecrã.
💡 DICA: Atalhos essenciais do Nano: Ctrl+O para guardar (depois Enter para confirmar), Ctrl+X para sair, Ctrl+W para procurar texto. É tudo o que precisa para começar a editar.
Também ouvirá falar sobre vim — é mais poderoso mas tem uma curva de aprendizagem notoriamente acentuada. Fique com nano por enquanto. Pode explorar vim mais tarde quando se sentir confortável com o terminal.
✅ Pode editar ficheiros diretamente no servidor.
Dia 3: Encontrar o que Precisa

Passo 1: Procurar ficheiros com “find”
O comando find procura ficheiros por nome, tipo, tamanho e muito mais.
find ./projects -name "*.txt"
Isto procura tudo em /home por ficheiros terminados em .txt. Também pode procurar por tipo — find / -type f -name “config” encontra todos os ficheiros chamados “config” em todo o sistema.
find é completo mas pode ser lento em sistemas de ficheiros grandes. Para buscas do dia a dia, é a sua ferramenta mais confiável.
✅ Pode localizar qualquer ficheiro no sistema por nome ou tipo.
Passo 2: Procurar dentro de ficheiros com “grep”
Se find localiza ficheiros, grep localiza conteúdo dentro deles. É o detetive da linha de comandos.
grep "error" /var/log/syslog
Apr 10 12:15:03 server kernel: [error] disk I/O timeout
Apr 10 12:18:22 server nginx: [error] connection refusedAqui é onde grep se torna ainda mais poderoso — combine-o com outros comandos usando o operador pipe “|”. O pipe pega na saída de um comando e alimenta-a como entrada para o próximo.
cat /var/log/syslog | grep "error"Isto faz a mesma coisa que o exemplo anterior, mas o padrão pipe permite-lhe encadear comandos. Usará pipes constantemente assim que compreender. Por exemplo, para procurar erros nas entradas de registo de hoje:
cat /var/log/syslog | grep "Apr 15" | grep "error"
Cada pipe reduz ainda mais os resultados. Esta composição é o que torna a linha de comandos Linux tão poderosa.
✅ Pode procurar qualquer padrão de texto em qualquer ficheiro.
Passo 3: Encontrar localizações executáveis com “which”
O comando which diz-lhe onde o ficheiro executável de um comando reside no sistema.
which python3
/usr/bin/python3Isto é útil quando precisa saber qual versão de um programa está a executar, ou quando um script precisa do caminho completo para um executável.
✅ Sabe exatamente onde o executável de qualquer comando está armazenado.
Passo 4: Encontrar mais com “whereis”
O comando whereis vai mais longe que which — encontra o binário, o código-fonte (se instalado) e a página de manual.
whereis python3
python3: /usr/bin/python3 /usr/lib/python3 /etc/python3 /usr/share/man/man1/python3.1.gzOnde which lhe dá um caminho, whereis dá-lhe a imagem completa. Use which quando apenas precisa do executável. Use whereis quando quer ver tudo relacionado com um comando.
✅ Pode localizar cada componente de um comando no sistema.
Passo 5: Obter uma descrição rápida com “whatis”
O comando whatis dá-lhe uma descrição de uma linha de qualquer comando.
whatis grep
grep (1) - print lines that match patternsÉ a forma mais rápida de se lembrar o que um comando faz sem abrir a página man completa. Pense nisto como uma consulta de glossário rápida.
✅ Pode obter um resumo de uma linha do propósito de qualquer comando.
Ready
to make it happen?
Pick what fits your project
VPS
Dedicated
Dia 4: Compreender a Sua Máquina
Antes de instalar qualquer coisa, deve saber com o que está a trabalhar. Quanto espaço em disco tem? Quanto RAM? O que já está em execução?
Passo 1: Verificar informações do sistema com “uname”
O comando uname — Unix Name — apresenta informações do sistema.
uname -a
Linux alexserver 6.8.0-110-generic #110-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 19 15:09:20 UTC 2026 x86_64 x86_64 x86_64 GNU/LinuxA flag -a mostra tudo: o nome do kernel, hostname, versão do kernel, arquitetura e sistema operativo. Num VPS, isto diz-lhe exatamente qual kernel está a executar e se está num sistema de 64-bit (quase certamente está).
✅ Conhece a versão do seu kernel e arquitetura do sistema.
Passo 2: Verificar espaço em disco com “df”
O comando df — Disk Free — mostra quanto armazenamento tem e quanto está a ser utilizado.
df -h
A flag -h significa “human-readable” — apresenta tamanhos em GB e MB em vez de bytes brutos. Preste atenção à linha da partição raiz “/”. Com 7% utilizado, este servidor tem muito espaço disponível. Se alguma vez vir esse número a subir acima de 80%, é hora de fazer limpeza.
✅ Sabe exatamente quanto espaço em disco está disponível.
Passo 3: Verificar memória com “free”
O comando free mostra a utilização de RAM.
free -h
Novamente, -h dá-lhe saída legível por humanos. A coluna-chave aqui é “available” — esta é a memória realmente livre para novas aplicações. “Used” inclui memória que o kernel está a usar para cache, que pode ser libertada se necessário. Num VPS novo com 4GB de RAM, ver 3.3GB disponível é exatamente o que quer.
✅ Sabe quanto RAM o seu servidor tem e quanto está livre.
Passo 4: Monitorizar processos com “top”
O comando top mostra monitorização de processos em tempo real — uma vista ao vivo do que está em execução e quais recursos cada processo está a consumir.
top
top atualiza a cada poucos segundos. As colunas mais importantes são PID (ID do processo), %CPU, %MEM e COMMAND. Se o seu servidor alguma vez parecer lento, top é o primeiro lugar a procurar.
💡 DICA: Prima q para sair de top. Se top está em execução e não sabe como parar, esta é a resposta.
✅ Pode monitorizar processos em execução em tempo real.
Passo 5: Captura de processos com “ps”
O comando ps — Process Status — dá-lhe uma captura estática de processos em execução.
ps aux
As flags aux mostram todos os processos de todos os utilizadores com informações detalhadas. As colunas-chave: USER (quem é o proprietário do processo), PID (o ID do processo que usaria com kill), %CPU e %MEM (utilização de recursos) e COMMAND (o que está em execução). Use ps quando precisa de uma captura rápida em vez de uma vista ao vivo.
✅ Pode tirar uma captura de cada processo em execução.
Passo 6: Verificar o calendário com “cal”
O comando cal apresenta um calendário simples.
cal April 2026
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30Não é essencial, mas é um bom lembrete de que o terminal pode fazer mais do que apenas gerir servidores. É também uma forma rápida de verificar a data sem sair da sua sessão.
✅ Pode apresentar um calendário diretamente no seu terminal.
Passo 7: Verificar a data com “date”
O comando date mostra a data e hora atuais do sistema.
date
Wed Apr 15 14:32:01 UTC 2026Isto é mais importante do que pensa. Muitos serviços — especialmente certificados SSL, rotação de registos e tarefas agendadas — dependem de tempo de sistema preciso. Se a data parecer errada, vai querer corrigi-la antes de instalar qualquer coisa.
✅ Conhece a data e hora atuais do seu servidor.
Dia 5: Instalação e Execução de Serviços
O seu servidor está em execução, você conhece as suas especificações e agora é hora de o tornar útil. Vamos instalar software e colocar serviços em funcionamento.
Passo 1: Atualizar listas de pacotes com “apt update”
Antes de instalar qualquer coisa, atualize as listas do repositório de pacotes.
sudo apt updateResultado:Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
Get:3 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
Fetched 257 kB in 2s (134 kB/s)
Reading package lists... Done
Building dependency tree... DoneDistinção importante: apt update atualiza a lista de pacotes disponíveis — não instala nada. apt upgrade realmente descarrega e instala versões mais recentes de pacotes que você já tem. Quase sempre andam juntos:
sudo apt update && sudo apt upgrade -yEm sistemas baseados em Red Hat como CentOS ou Fedora, os comandos equivalentes são yum update ou dnf update.
✅ A sua lista de pacotes está atualizada e pronta para instalações.
Passo 2: Instalar software com “apt install”
Agora vamos instalar algo. Nginx é um servidor web popular — um bom primeiro serviço para configurar.
sudo apt install nginx -yResultado:Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
nginx nginx-common nginx-core
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 582 kB of archives.
Setting up nginx (1.18.0-6ubuntu14.4) ...É aqui que o seu servidor começa a fazer algo real. A flag -y confirma automaticamente a instalação para que você não tenha que digitar yes. Nginx será instalado e normalmente começará a funcionar imediatamente.
✅ Você instalou o seu primeiro serviço no servidor.
Passo 3: Gerir serviços com “systemctl”
O comando systemctl — System Control — é como você inicia, para e gere serviços.
systemctl status nginxResultado:● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2026-04-15 14:35:00 UTC; 2min ago
Main PID: 1234 (nginx)
Tasks: 2 (limit: 4915)
Memory: 3.2M
CGroup: /system.slice/nginx.serviceA linha-chave é Active: active (running) — isso significa que Nginx está ativo e funcionando. Três comandos systemctl que você usará constantemente:
sudo systemctl start nginx # Start the service now
sudo systemctl stop nginx # Stop the service
sudo systemctl enable nginx # Start automatically on every boot
O comando enable é aquele que os iniciantes perdem. start executa o serviço agora. enable garante que ele inicie sempre que o servidor reiniciar. Para um servidor web, você quase sempre quer ambos.
✅ Você pode controlar qualquer serviço no seu servidor.
Passo 4: Parar processos com “kill”
Às vezes você precisa terminar um processo manualmente. O comando kill faz isso por PID.
kill 1234Isto envia um sinal de terminação para o processo 1234, pedindo-lhe que desligue graciosamente. Se não responder, você pode forçá-lo:
kill -9 1234
⚠️ AVISO: kill -9 é uma terminação forçada. Não deixa o processo limpar — sem guardar estado, sem fechar conexões corretamente. Use apenas quando um kill normal não funcionar.
Encontre o PID usando ps aux ou top, depois termine-o.
✅ Você pode terminar qualquer processo pelo seu ID.
Passo 5: Terminar por nome com “pkill”
Encontrar o PID primeiro é às vezes desnecessário. O comando pkill termina processos por nome.
pkill nginx
Isto encontra todos os processos correspondentes a “nginx” e os termina. É mais rápido do que procurar o PID com ps e depois executar kill. Use pkill quando você conhece o nome do processo e quer uma terminação rápida.
✅ Você pode terminar processos sem conhecer o seu PID.
Passo 6: Descarregar ficheiros com “wget”
O comando wget — Web Get — descarrega ficheiros da internet.
wget https://example.com/file.zipExemplo de resultado:--2026-04-15 14:40:00-- https://example.com/file.zip
Resolving example.com (example.com)... 93.184.216.34
Connecting to example.com (example.com)|93.184.216.34|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1048576 (1.0M) [application/zip]
Saving to: 'file.zip'
file.zip 100%[===================>] 1.00M 2.34MB/s in 0.4s
2026-04-15 14:40:01 (2.34 MB/s) - 'file.zip' saved [1048576/1048576]wget é simples: dê-lhe um URL, ele descarrega o ficheiro para o seu diretório atual. Também suporta retomar descarregamentos interrompidos com wget -c.
✅ Você pode descarregar ficheiros diretamente para o seu servidor.
Passo 7: Transferir dados com “curl”
O comando curl — Client URL — é mais versátil do que wget. Ele lida com descarregamentos, pedidos de API e transferências de dados com cabeçalhos personalizados.
curl -O https://example.com/file.zipA flag -O guarda o ficheiro com o seu nome original (tal como wget). Mas curl pode fazer muito mais:
curl -s https://api.example.com/data
A flag -s executa silenciosamente, tornando curl perfeito para scripting e chamadas de API. Enquanto wget é ótimo para descarregamentos simples, curl é a ferramenta que você usará quando precisar interagir com serviços web, testar APIs ou enviar cabeçalhos HTTP personalizados.
✅ Você pode transferir dados de qualquer URL — ficheiros, APIs e muito mais.
Dia 6: Bloquear Tudo

📝 NOTA: O seu utilizador precisa de permissões sudo para que estes comandos funcionem. Na maioria dos fornecedores de VPS, o utilizador padrão já está configurado com acesso sudo. Se criou um novo utilizador, terá de o adicionar ao grupo sudo primeiro.
Passo 1: Executar comandos com segurança com “sudo”
O comando sudo — Superuser Do — permite-lhe executar comandos com privilégios elevados.
sudo apt update
Ser-lhe-á pedida a sua palavra-passe na primeira vez que utilizar sudo numa sessão. Depois disso, memoriza-a durante alguns minutos. A razão pela qual sudo existe é simples: executar como root o tempo todo é perigoso. Um único erro de digitação com privilégios root pode apagar o seu sistema. sudo força-o a escalar conscientemente os privilégios para cada comando — é um mecanismo de segurança, não apenas um escalador de privilégios.
✅ Pode executar comandos de administração sem iniciar sessão como root.
Passo 2: Alterar permissões de ficheiros com “chmod”
O comando chmod — Change Mode — controla quem pode ler, escrever ou executar um ficheiro.
chmod 755 script.sh
Os números representam permissões para três grupos: proprietário, grupo e todos os outros. Cada dígito é uma soma de leitura (4), escrita (2) e execução (1):
- 755 significa: o proprietário pode fazer tudo (4+2+1=7), o grupo pode ler e executar (4+1=5), todos os outros podem ler e executar (4+1=5). Este é o padrão para scripts e diretórios.
- 644 significa: o proprietário pode ler e escrever (4+2=6), o grupo pode ler (4), todos os outros podem ler (4). Este é o padrão para ficheiros de configuração e documentos.
chmod 644 config.txt
Se um script não funcionar, é quase sempre um problema de permissões. chmod +x script.sh é uma forma rápida de tornar qualquer ficheiro executável sem ter de memorizar os números.
✅ Controla exatamente quem pode aceder a cada ficheiro.
Passo 3: Alterar propriedade de ficheiros com “chown”
O comando chown — Change Owner — define quem é o proprietário de um ficheiro.
sudo chown www-data:www-data /var/www/html/index.html
Isto altera o proprietário para www-data e o grupo para www-data. É comumente utilizado ao configurar servidores web — o processo do servidor web precisa de ser proprietário dos ficheiros que serve. O formato é utilizador:grupo, e quase sempre precisará de sudo para alterar a propriedade.
✅ Pode atribuir propriedade de ficheiros a qualquer utilizador ou grupo.
Passo 4: Alterar palavras-passe com “passwd”
O comando passwd atualiza as palavras-passe dos utilizadores.
passwd usernameNum VPS novo, alterar a palavra-passe padrão deve ser uma das suas primeiras ações. Se está ligado como o utilizador cuja palavra-passe pretende alterar, execute simplesmente passwd sem um nome de utilizador.
✅ Pode atualizar palavras-passe para qualquer utilizador no sistema.
Passo 5: Criar novos utilizadores com “useradd”
O comando useradd cria uma nova conta de utilizador.
sudo useradd -m newuserA flag -m é crítica — cria um diretório inicial em /home/newuser. Sem ela, o utilizador existe mas não tem diretório inicial, o que causa problemas com SSH e várias aplicações. Depois de criar o utilizador, defina a sua palavra-passe:
sudo passwd newuser
✅ Pode criar novas contas de utilizador com diretórios iniciais.
Passo 6: Mudar de utilizador com “su”
O comando su — Switch User — permite-lhe iniciar sessão como outro utilizador.
su - newuser
whoami
newuserA flag “-“ (ou –login) é importante — carrega o ambiente do novo utilizador, incluindo o seu caminho e configuração de shell. Sem ela, mudaria de utilizador mas manteria o ambiente do utilizador anterior, o que leva a comportamentos confusos.
✅ Pode mudar entre contas de utilizador no servidor.
Passo 7: Configurar a firewall com “ufw”
O comando ufw — Uncomplicated Firewall — é a forma mais simples de gerir a firewall do seu servidor no Ubuntu.
Primeiro, defina a política padrão para negar todas as ligações recebidas:
sudo ufw default deny incoming Depois, permita explicitamente o tráfego SSH. Este passo é crítico.
sudo ufw allow 22/tcp⚠️ AVISO CRÍTICO: Execute sempre sudo ufw allow 22/tcp antes de sudo ufw enable. Se ativar a firewall sem permitir SSH, ficará bloqueado fora do servidor. A sua única opção seria aceder ao servidor através da consola do seu fornecedor de alojamento — que pode não estar disponível em todos os planos.
Agora é seguro ativar a firewall:
sudo ufw enable
Command may disrupt existing SSH connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startupPode verificar o estado a qualquer momento:
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW AnywhereO seu servidor agora apenas aceita ligações SSH recebidas na porta 22. Tudo o resto está bloqueado. Quando instalar Nginx mais tarde, adicionará outra regra: sudo ufw allow 80/tcp para HTTP e sudo ufw allow 443/tcp para HTTPS.
✅ O seu servidor está protegido por uma firewall.
Dia 7: Verificações de Rede e Conclusão
Seu servidor está configurado, protegido e em funcionamento. Antes de considerar tudo pronto, vamos verificar se tudo funciona de fora e aprender como desligar corretamente.
Passo 1: Testar conectividade com “ping”
O comando ping testa se seu servidor consegue alcançar outras máquinas na rede.
ping -c 4 8.8.8.8A flag -c 4 limita o ping a 4 pacotes. Sem ela, ping funciona indefinidamente até você pressionar Ctrl+C. As estatísticas no final dizem tudo: 4 pacotes enviados, 4 recebidos, 0% de perda. A rede do seu servidor está funcionando.
✅ Você confirmou que seu servidor tem conectividade de rede funcionando.
Passo 2: Verificar interfaces de rede com “ip”
O comando ip mostra a configuração de rede do seu servidor.
ip addrO comando ip substitui o ifconfig obsoleto. A saída mostra sua interface de loopback (lo, sempre 127.0.0.1) e sua interface de rede principal (eth0 neste caso). A linha inet mostra o endereço IP do seu servidor — este é o endereço que você usaria para SSH ou para acessar seu servidor web.
✅ Você pode ver os endereços IP e interfaces de rede do seu servidor.
Passo 3: Criar links de arquivo com “ln”
O comando ln cria links entre arquivos — essencialmente atalhos.
ln -s /var/www/html /home/user/webrootIsso cria um link simbólico em /home/user/webroot que aponta para /var/www/html. Quando você acessa o link, está realmente acessando o diretório de destino. Links simbólicos são úteis para criar caminhos de acesso convenientes sem duplicar arquivos.
✅ Você pode criar atalhos para arquivos e diretórios em qualquer lugar do sistema.
Passo 4: Desligar com segurança com “shutdown”
O comando shutdown desliga seu servidor de forma controlada.
sudo shutdown -h now
A flag -h significa “halt” — parar tudo e desligar. now significa imediatamente. Mas você também pode agendar um desligamento:
sudo shutdown -h +5
Isso lhe dá 5 minutos antes do desligamento — tempo suficiente para salvar o trabalho, notificar usuários ou mudar de ideia. Para cancelar um desligamento agendado:
sudo shutdown -c
A flag -c cancela qualquer desligamento pendente. É uma pequena rede de segurança que pode salvá-lo de um desligamento acidental.
✅ Você pode desligar o servidor com segurança, imediatamente ou em um agendamento.
Passo 5: Reiniciar com “reboot”
O comando reboot reinicia seu servidor.
sudo reboot
Isso é equivalente a shutdown -r now — a flag -r significa “restart” em vez de “halt”. Você usará isso após atualizações de kernel ou mudanças de configuração que exigem um novo início.
✅ Você pode reiniciar o servidor com um único comando.
O Que Vem a Seguir
Há sete dias, você estava olhando para um terminal em branco depois de SSH-ar em um servidor que não sabia como usar. Agora você pode navegar pelo sistema de arquivos, criar e gerenciar arquivos, procurar qualquer coisa no sistema, verificar a saúde do seu servidor, instalar software, executar serviços, reforçar a segurança e gerenciar o ciclo de vida do servidor desde a inicialização até o desligamento.
A habilidade real não é memorizar esses comandos. É saber qual usar quando um problema aparece. Isso vem do uso — não de ler sobre eles.
Abra um terminal hoje. Execute ls, cd e pwd até que se sintam naturais. Adicione um novo comando por dia. Em uma semana, o terminal não parecerá mais uma interface estranha. Parecerá a linha direta para seu servidor que é.
Se você está pronto para colocar esses comandos em prática em seu próprio servidor, AlexHost oferece planos VPS Linux acessíveis com configuração instantânea e suporte 24/7 — um ótimo lugar para praticar sem risco.
Folha de Consulta: Todos os Comandos num Relance
Aqui estão todos os comandos deste guia num único lugar. Marque esta página.
| Comando | Significa | O Que Faz |
|---|---|---|
| Secure Shell | Conectar a um servidor remoto de forma segura |
| Who Am I | Mostrar nome de utilizador atual |
| Print Working Directory | Mostrar caminho do diretório atual |
| List | Listar ficheiros e diretórios |
| Change Directory | Navegar entre diretórios |
| Clear | Limpar o ecrã do terminal |
| Manual | Abrir a página de manual para qualquer comando |
| History | Mostrar comandos executados anteriormente |
| Make Directory | Criar novos diretórios |
| Touch | Criar ficheiros vazios ou atualizar marcas de tempo |
| Copy | Copiar ficheiros e diretórios |
| Move | Mover ou renomear ficheiros e diretórios |
| Remove | Eliminar ficheiros e diretórios |
| Echo | Imprimir texto ou escrever em ficheiros |
| Concatenate | Mostrar conteúdo de ficheiros |
| Nano | Editor de texto baseado em terminal |
| Find | Procurar ficheiros por nome, tipo ou atributos |
| Global Regular Expression Print | Procurar padrões de texto em ficheiros |
| Which | Localizar o caminho executável de um comando |
| Where Is | Localizar binário, código-fonte e manual de um comando |
| What Is | Obter uma descrição de uma linha de um comando |
| Unix Name | Mostrar informações do sistema |
| Disk Free | Mostrar utilização de espaço em disco |
| Free | Mostrar utilização de memória/RAM |
| Top | Monitorização de processos em tempo real |
| Process Status | Snapshot de processos em execução |
| Calendar | Mostrar um calendário |
| Date | Mostrar ou definir data e hora do sistema |
| APT Update | Atualizar listas de repositório de pacotes |
| APT Install | Instalar pacotes de software |
| System Control | Iniciar, parar e gerir serviços |
| Kill | Terminar um processo por PID |
| Process Kill | Terminar processos por nome |
| Web Get | Descarregar ficheiros da internet |
| Client URL | Transferir dados de URLs |
| Superuser Do | Executar comandos com privilégios elevados |
| Change Mode | Alterar permissões de ficheiros |
| Change Owner | Alterar propriedade de ficheiros |
| Password | Alterar palavras-passe de utilizadores |
| User Add | Criar uma nova conta de utilizador |
| Switch User | Mudar para outro utilizador |
| Uncomplicated Firewall | Gerir a firewall do servidor |
| Ping | Testar conectividade de rede |
| IP | Mostrar interfaces de rede e endereços |
| Link | Criar ligações de ficheiros (simbólicas ou rígidas) |
| Shutdown | Desligar o servidor de forma segura |
| Reboot | Reiniciar o servidor |
em todos os serviços de alojamento