15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar
15.04.2026

Sua Primeira Semana em um Servidor Linux — 35+ Comandos Essenciais

Palavras-chave: Referência Rápida Antes de Começarmos

Antes de começarmos, aqui estão os termos que você verá ao longo deste guia. Você não precisa memorizá-los — apenas saiba que eles existem, e o contexto os fará fazer sentido.

TermoO Que Significa
Terminal 💻A interface baseada em texto onde você 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
Gerenciador de pacotes 📦Uma ferramenta (como apt) que instala e atualiza software para você
Daemon / Serviço 👻Um programa em segundo plano que roda continuamente (como um servidor web)
Permissões 🔒Regras que controlam quem pode ler, escrever ou executar um arquivo
Root 👑A conta de administrador do sistema todo-poderosa

Com esses termos no seu bolso, você está pronto. Vamos começar.


Introdução: Iniciando a Jornada no Servidor

Você acabou de se conectar ao seu novo servidor. Talvez você o tenha provisionado de um provedor como AlexHost, que oferece implantação instantânea do Ubuntu com um único clique. Você abre seu terminal, digita: ssh root@your-server-ip, e pressiona Enter. A tela se limpa. Um cursor piscando olha para você de uma linha que diz algo como root@vps:~#

E agora?

Esse momento — o intervalo entre “Eu tenho um servidor” e “Eu sei o que fazer com ele” — é onde a maioria das pessoas para. Elas fecham o terminal, dizem a si mesmas que descobrirão mais tarde, e voltam a clicar em interfaces gráficas. Mas aqui está a questão: o Linux executa mais de 90% dos servidores em nuvem do mundo. Ele alimenta telefones Android, dispositivos embarcados, supercomputadores e a infraestrutura por trás de quase todos os serviços que você usa diariamente. As pessoas que realmente controlam esses sistemas não usam cliques de mouse. Elas usam a linha de comando.

O terminal não é uma relíquia. É a maneira mais direta, componível e confiável de dizer a um computador o que fazer. Não há sobrecarga gráfica, nem menus para navegar, nem esperar uma interface carregar. Você digita um comando, algo acontece, e você encadeia o próximo comando a ele. Via SSH, funciona de forma idêntica, quer seu servidor esteja na sala ao lado ou do outro lado do oceano.

Este artigo não lhe dará uma lista de memorização. Em vez disso, você viverá uma jornada realista de 7 dias em um novo Linux VPS — a mesma progressão que você seguiria se realmente se sentasse com um novo servidor hoje. No final, você não apenas conhecerá os comandos. Você saberá quando recorrer a cada um.


Dia 1: Conectando-se e Explorando

Você acabou de se conectar ao seu servidor. O terminal mostra algo como root@vps:~#. Você está logado — mas onde você está? O que há aqui? Vamos descobrir.

Passo 1: Conecte-se com “ssh”

Tudo começa com ssh — Secure Shell. É o comando de entrada que leva você 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 for sua primeira vez conectando, você será solicitado a confirmar a impressão digital do servidor — digite yes e pressione Enter.

Você está agora conectado ao seu servidor.

Passo 2: Confirme sua identidade com “whoami”

Antes de fazer qualquer coisa, verifique qual usuário você está logado como.

whoami

Se você vir root, está operando como o administrador todo-poderoso. Isso é comum em um novo VPS, mas também significa que cada comando que você digita tem acesso total ao sistema — então preste atenção.

Você sabe quem você é neste sistema.

Passo 3: Encontre sua localização com: “pwd”

O comando pwd — Print Working Directory — diz exatamente onde você está no sistema de arquivos.

pwd
Em um novo VPS logado como root, você normalmente cairá em /root. Se estiver usando uma conta de usuário regular, verá /home/username em vez disso. Pense nisso como sua “base” — o ponto de partida para tudo que você fará.

Você sabe onde está.

Passo 4: Veja o que está presente com “ls”

Agora vamos dar uma olhada ao redor do servidor. O comando ls lista arquivos e diretórios na sua localização atual.

ls
Uma 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 -la
Isso permite que você veja tudo, incluindo arquivos ocultos (aqueles que começam com um ponto) e informações detalhadas:

A flag -l dá a você 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 no sistema de arquivos.

cd /var/log
#Check new dir location
pwd
/var/log

Trê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 in

O truque “cd -“ é especialmente útil — é como um “desfazer” para sua última mudança de diretório.

Você pode se mover para qualquer lugar no sistema de arquivos.

Passo 6: Limpe com “clear”

Depois de executar vários comandos, seu terminal fica desordenado. O comando clear limpa a tela e dá a você um novo começo.

clear
Dica 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: Pesquise coisas com “man”

Você não precisa memorizar cada flag para cada comando. O comando man — Manual — abre a documentação embutida para qualquer comando.

man ls
Isso abre a página de manual completa para ls, mostrando cada flag disponível, o que ela faz e exemplos. Navegue com as setas ou barra de espaço, e pressione q para sair.
Pense no man como sua rede de segurança. Quando você não tem certeza do que um comando faz ou quais opções ele suporta, o man tem a resposta.

Você tem acesso à documentação embutida para cada comando.

Passo 8: Revise seu passado 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  history

Aqui está a parte útil: você pode reexecutar qualquer comando digitando “!” seguido do seu número.

!3
Isso reexecuta o comando número 3 (ls -la). Isso o salva de redigitar comandos longos — e de cometer erros de digitação quando você está com pressa.

Você pode revisar e reexecutar qualquer comando anterior.


Dia 2: Criando e Gerenciando Seu Espaço de Trabalho

Você sabe onde está e como se mover. Agora é hora de construir algo — uma estrutura de diretórios para seu projeto.

Passo 1: Crie diretórios com “mkdir”

O comando mkdir — Make Directory — cria novas pastas.

mkdir projects
# Check dir
ls
projects

Mas a verdadeira estrela é o mkdir -p, que cria diretórios aninhados de uma só vez — incluindo quaisquer diretórios pai que ainda não existam.

mkdir -p projects/myapp/logs

Sem o -p, você precisaria criar projects, depois projects/myapp, depois projects/myapp/logs separadamente. Com ele, um comando faz tudo.

Você criou uma estrutura de diretórios para seu projeto.

Passo 2: Crie arquivos vazios com “touch”

O comando touch cria um arquivo vazio instantaneamente.

touch projects/myapp/notes.txt
Verifique o novo arquivo:


ls projects/myapp/
# logs notes.txt

Se o arquivo já existir, touch atualiza seu timestamp em vez disso. É uma maneira rápida de criar arquivos de espaço reservado ou marcar que você trabalhou em algo.

Você criou seu primeiro arquivo no servidor.

Passo 3: Copie arquivos com “cp”

O comando cp — Copy — duplica arquivos e diretórios.

cp projects/myapp/notes.txt projects/myapp/notes-backup.txt

Para diretórios, você precisa da flag -r (recursivo), que copia tudo dentro do diretório também:

cp -r projects/myapp projects/myapp-backup

Você pode duplicar arquivos e árvores de diretórios inteiras.

Passo 4: Mova ou renomeie arquivos com “mv”

O comando mv faz dois trabalhos: ele move arquivos e os renomeia. Mesmo comando, contexto diferente.

mv projects/myapp/notes.txt projects/myapp/readme.txt

Isso renomeia notes.txt para readme.txt no mesmo diretório. Para realmente mover um arquivo para um local diferente:

mv projects/myapp/readme.txt projects/

Você pode mover e renomear arquivos com um comando.

Passo 5: Exclua arquivos com “rm”

O comando rm — Remove — exclui arquivos permanentemente.

rm projects/myapp-backup/readme.txt

Para diretórios, use -r (recursivo):

rm -r projects/myapp-backup

⚠️ AVISO: rm -rf é a opção nuclear. A flag -f força a exclusão sem pedir confirmação, e combinada com -r, ela excluirá árvores de diretórios inteiras silenciosamente. Não há desfazer. Verifique o caminho antes de pressionar Enter. Nunca execute rm -rf / — ele tentará excluir todo o seu sistema de arquivos.

Você pode remover arquivos e diretórios que não precisa mais.

Passo 6: Imprima e escreva texto com “echo”

O comando echo imprime texto no terminal — mas seu verdadeiro poder vem quando combinado com operadores de redirecionamento.

echo "Hello, server"

Hello, server

Agora redirecione essa saída para um arquivo 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 arquivo ou o sobrescreve se ele existir. O operador >> acrescenta ao final sem tocar no conteúdo existente. Este é seu primeiro gosto de redirecionamento — um dos superpoderes centrais do Linux.

Você pode escrever texto em arquivos diretamente da linha de comando.

Passo 7: Leia arquivos com “cat”

O comando cat — Concatenate — exibe o conteúdo dos arquivos no terminal.

cat projects/myapp/notes.txt

Para arquivos pequenos, cat é a maneira mais rápida de inspecionar o conteúdo. Para arquivos maiores, você vai querer less (que permite rolar), mas cat é seu recurso para verificações rápidas.

Você pode ler o conteúdo dos arquivos sem abrir um editor.

Passo 8: Edite arquivos com “nano”

Quando você precisa realmente modificar um arquivo, nano é o editor de terminal mais amigável para iniciantes.

nano projects/myapp/notes.txt

Nano abre o arquivo no seu terminal com uma interface simples. Os atalhos de teclado são exibidos na parte inferior da tela.

💡 DICA: Atalhos essenciais do Nano: Ctrl+O para salvar (depois Enter para confirmar), Ctrl+X para sair, Ctrl+W para procurar texto. Isso é tudo que você precisa para começar a editar.

Você também ouvirá falar sobre vim — é mais poderoso, mas tem uma curva de aprendizado notoriamente íngreme. Fique com nano por enquanto. Você pode explorar vim mais tarde, quando estiver confortável com o terminal.

Você pode editar arquivos diretamente no servidor.


Dia 3: Encontrando o Que Você Precisa

Você criou uma dúzia de arquivos em vários diretórios. Agora você precisa encontrar aquele que editou ontem. Veja como.

Passo 1: Procure arquivos com “find”

O comando find procura arquivos por nome, tipo, tamanho e mais.

find ./projects -name "*.txt"

Isso procura tudo sob /home por arquivos terminando em .txt. Você também pode procurar por tipo — find / -type f -name “config” encontra todos os arquivos chamados “config” em todo o sistema.

find é minucioso, mas pode ser lento em sistemas de arquivos grandes. Para buscas diárias, é sua ferramenta mais confiável.

Você pode localizar qualquer arquivo no sistema por nome ou tipo.

Passo 2: Procure dentro de arquivos com “grep”

Se find localiza arquivos, grep localiza conteúdo dentro deles. É o detetive da linha de comando.

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 refused
Aqui é onde grep se torna ainda mais poderoso — combine-o com outros comandos usando o operador pipe “|”. O pipe pega a saída de um comando e a alimenta como entrada para o próximo.

cat /var/log/syslog | grep "error"

Isso faz a mesma coisa que o exemplo anterior, mas o padrão de pipe permite que você encadeie comandos juntos. Você usará pipes constantemente quando eles fizerem sentido. Por exemplo, para procurar erros nas entradas de log de hoje:

cat /var/log/syslog | grep "Apr 15" | grep "error"

Cada pipe restringe ainda mais os resultados. Essa componibilidade é o que torna a linha de comando do Linux tão poderosa.

Você pode procurar por qualquer padrão de texto em qualquer arquivo.

Passo 3: Encontre locais de executáveis com “which”

O comando which diz onde o arquivo executável de um comando está no sistema.

which python3
/usr/bin/python3
Isso é útil quando você precisa saber qual versão de um programa está executando, ou quando um script precisa do caminho completo para um executável.

Você sabe exatamente onde o executável de qualquer comando está armazenado.

Passo 4: Encontre mais com “whereis”

O comando whereis vai além do which — ele 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.gz
Onde which fornece um caminho, whereis fornece o quadro completo. Use which quando você só precisa do executável. Use whereis quando quiser ver tudo relacionado a um comando.

Você pode localizar cada componente de um comando no sistema.

Passo 5: Obtenha uma descrição rápida com “whatis”

O comando whatis dá uma descrição de uma linha de qualquer comando.

whatis grep
grep (1) - print lines that match patterns
É a maneira mais rápida de lembrar-se do que um comando faz sem abrir a página completa do man. Pense nisso como uma consulta rápida de glossário.

Você pode obter um resumo de uma linha do propósito de qualquer comando.


Dia 4: Compreendendo Sua Máquina

Antes de instalar qualquer coisa, você deve saber com o que está lidando. Quanto espaço em disco você tem? Quanto de RAM? O que já está em execução?

Passo 1: Verifique as informações do sistema com “uname”

O comando uname — Unix Name — exibe 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/Linux
A flag -a mostra tudo: o nome do kernel, hostname, versão do kernel, arquitetura e sistema operacional. Em um VPS, isso diz exatamente qual kernel você está executando e se está em um sistema de 64 bits (você quase certamente está).

Você conhece a versão do seu kernel e a arquitetura do sistema.

Passo 2: Verifique o espaço em disco com “df”

O comando df — Disk Free — mostra quanto armazenamento você tem e quanto está usado.

df -h

A flag -h significa “legível por humanos” — ela exibe tamanhos em GB e MB em vez de bytes brutos. Preste atenção à linha da partição “/” root. Com 7% usado, este servidor tem muito espaço. Se você algum dia vir esse número subindo além de 80%, é hora de limpar.

Você sabe exatamente quanto espaço em disco está disponível.

Passo 3: Verifique a memória com “free”

O comando free mostra o uso de RAM.

free -h

Novamente, -h dá a você uma saída legível por humanos. A coluna chave aqui é “available” — esta é a memória realmente livre para novos aplicativos. “Used” inclui memória que o kernel está usando para cache, que pode ser liberada se necessário. Em um novo VPS com 4GB de RAM, ver 3.3GB disponíveis é exatamente o que você quer.

Você sabe quanta memória seu servidor tem e quanto está livre.

Passo 4: Monitore processos com “top”

O comando top mostra o monitoramento de processos em tempo real — uma visão ao vivo do que está em execução e quais recursos cada processo está consumindo.

top

top atualiza a cada poucos segundos. As colunas mais importantes são PID (ID do processo), %CPU, %MEM e COMMAND. Se seu servidor algum dia parecer lento, top é o primeiro lugar para olhar.

💡 DICA: Pressione q para sair do top. Se top estiver em execução e você não souber como parar, esta é a resposta.

Você pode monitorar processos em execução em tempo real.

Passo 5: Capture processos com “ps”

O comando ps — Process Status — dá a você uma captura estática de processos em execução.

ps aux

As flags aux mostram todos os processos de todos os usuários com informações detalhadas. As colunas chave: USER (quem possui o processo), PID (o ID do processo que você usaria com kill), %CPU e %MEM (uso de recursos) e COMMAND (o que está em execução). Use ps quando precisar de uma captura rápida em vez de uma visão ao vivo.

Você pode tirar uma captura de cada processo em execução.

Passo 6: Verifique o calendário com “cal”

O comando cal exibe 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 30

Não é essencial, mas é um lembrete agradável de que o terminal pode fazer mais do que apenas gerenciar servidores. É também uma maneira rápida de verificar a data sem sair da sua sessão.

Você pode exibir um calendário diretamente no seu terminal.

Passo 7: Verifique a data com “date”

O comando date mostra a data e hora atuais do sistema.

date
Wed Apr 15 14:32:01 UTC 2026
Isso importa mais do que você pensa. Muitos serviços — especialmente certificados SSL, rotação de logs e tarefas agendadas — dependem de um horário do sistema preciso. Se a data parecer errada, você vai querer corrigi-la antes de instalar qualquer coisa.

Você sabe a data e hora atuais do seu servidor.


Dia 5: Instalando e Executando Serviços

Seu servidor está em execução, você conhece suas especificações, e agora é hora de torná-lo útil. Vamos instalar software e colocar serviços em execução.

Passo 1: Atualize listas de pacotes com “apt update”

Antes de instalar qualquer coisa, atualize suas listas de repositórios de pacotes.

sudo apt update
Resultado:
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... Done
Distinção importante: apt update atualiza a lista de pacotes disponíveis — não instala nada. apt upgrade realmente baixa e instala versões mais recentes dos pacotes que você já tem. Eles quase sempre andam juntos:

sudo apt update && sudo apt upgrade -y

Em sistemas baseados em Red Hat, como CentOS ou Fedora, os comandos equivalentes são yum update ou dnf update.

Sua lista de pacotes está atualizada e pronta para instalações.

Passo 2: Instale software com “apt install”

Agora vamos instalar algo. Nginx é um servidor web popular — um bom primeiro serviço para configurar.

sudo apt install nginx -y
Resultado:
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 seu servidor começa a fazer algo real. A flag -y confirma automaticamente a instalação para que você não precise digitar yes. O Nginx será instalado e geralmente começará a funcionar imediatamente.

Você instalou seu primeiro serviço no servidor.

Passo 3: Gerencie serviços com “systemctl”

O comando systemctl — System Control — é como você inicia, para e gerencia serviços.

systemctl status nginx
Resultado:
● 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.service
A linha chave é Active: active (running) — isso significa que o 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 é o que os iniciantes perdem. start executa o serviço agora. enable garante que ele inicie toda vez que o servidor reiniciar. Para um servidor web, você quase sempre quer ambos.

Você pode controlar qualquer serviço no seu servidor.

Passo 4: Pare processos com “kill”

Às vezes, você precisa encerrar um processo manualmente. O comando kill faz isso pelo PID.

kill 1234

Isso envia um sinal de término ao processo 1234, pedindo que ele seja encerrado graciosamente. Se ele não responder, você pode forçá-lo:

kill -9 1234

⚠️ AVISO: kill -9 é um kill forçado. Ele não permite que o processo limpe — sem salvar estado, sem fechar conexões corretamente. Use-o apenas quando um kill normal não funcionar.

Encontre o PID usando ps aux ou top, depois mate-o.

Você pode encerrar qualquer processo pelo seu ID.

Passo 5: Mate pelo nome com “pkill”

Encontrar o PID primeiro às vezes é desnecessário. O comando pkill mata processos pelo nome.

pkill nginx

Isso encontra todos os processos correspondentes a “nginx” e os encerra. É mais rápido do que procurar o PID com ps e depois executar kill. Use pkill quando você souber o nome do processo e quiser um encerramento rápido.

Você pode matar processos sem saber seu PID.

Passo 6: Baixe arquivos com “wget”

O comando wget — Web Get — baixa arquivos da internet.

wget https://example.com/file.zip
Exemplo 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 é direto: dê-lhe uma URL, ele baixa o arquivo para o seu diretório atual. Ele também suporta retomar downloads interrompidos com wget -c.

Você pode baixar arquivos diretamente para o seu servidor.

Passo 7: Transfira dados com “curl”

O comando curl — Client URL — é mais versátil do que wget. Ele lida com downloads, solicitações de API e transferências de dados com cabeçalhos personalizados.

curl -O https://example.com/file.zip

A flag -O salva o arquivo com seu nome original (assim como wget). Mas curl pode fazer muito mais:

curl -s https://api.example.com/data

A flag -s executa silenciosamente, tornando curl perfeito para scripts e chamadas de API. Enquanto wget é ótimo para downloads 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 — arquivos, APIs e mais.


Dia 6: Protegendo as Coisas

Seu servidor está executando um serviço e funciona. Mas agora, está completamente aberto. Vamos protegê-lo.

📝 NOTA: Seu usuário precisa de permissões sudo para que esses comandos funcionem. Na maioria dos provedores de VPS, o usuário padrão já está configurado com acesso sudo. Se você criou um novo usuário, precisará adicioná-lo ao grupo sudo primeiro.

Passo 1: Execute comandos com segurança com “sudo”

O comando sudo — Superuser Do — permite que você execute comandos com privilégios elevados.

sudo apt update

Você será solicitado a digitar sua senha na primeira vez que usar sudo em uma sessão. Depois disso, ele se lembra por 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 de root pode apagar seu sistema. sudo força você a conscientemente escalar privilégios para cada comando — é um mecanismo de segurança, não apenas um escalador de privilégios.

Você pode executar comandos de administrador sem fazer login como root.

Passo 2: Altere permissões de arquivos com “chmod”

O comando chmod — Change Mode — controla quem pode ler, escrever ou executar um arquivo.

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). Isso é 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). Isso é padrão para arquivos de configuração e documentos.

chmod 644 config.txt

Se um script não executar, quase sempre é um problema de permissões. chmod +x script.sh é uma maneira rápida de tornar qualquer arquivo executável sem lembrar os números.

Você controla exatamente quem pode acessar cada arquivo.

Passo 3: Altere a propriedade de arquivos com “chown”

O comando chown — Change Owner — define quem possui um arquivo.

sudo chown www-data:www-data /var/www/html/index.html

Isso muda o proprietário para www-data e o grupo para www-data. É comumente usado ao configurar servidores web — o processo do servidor web precisa possuir os arquivos que ele serve. O formato é user:group, e você quase sempre precisará de sudo para mudar a propriedade.

Você pode atribuir a propriedade de arquivos a qualquer usuário ou grupo.

Passo 4: Altere senhas com “passwd”

O comando passwd atualiza senhas de usuários.

passwd username
Em um novo VPS, mudar a senha padrão deve ser uma das suas primeiras ações. Se você estiver logado como o usuário cuja senha deseja mudar, basta executar passwd sem um nome de usuário.

Você pode atualizar senhas para qualquer usuário no sistema.

Passo 5: Crie novos usuários com “useradd”

O comando useradd cria uma nova conta de usuário.

sudo useradd -m newuser

A flag -m é crítica — ela cria um diretório home em /home/newuser. Sem ela, o usuário existe, mas não tem um diretório home, o que causa problemas com SSH e vários aplicativos. Após criar o usuário, defina sua senha:

sudo passwd newuser

Você pode criar novas contas de usuário com diretórios home.

Passo 6: Troque de usuário com “su”

O comando su — Switch User — permite que você faça login como outro usuário.

su - newuser
whoami
newuser
A flag “-“ (ou –login) é importante — ela carrega o ambiente do novo usuário, incluindo seu caminho e configuração de shell. Sem ela, você trocaria de usuário, mas manteria o ambiente do usuário antigo, o que leva a comportamentos confusos.

Você pode alternar entre contas de usuário no servidor.

Passo 7: Configure o firewall com “ufw”

O comando ufw — Uncomplicated Firewall — é a maneira mais simples de gerenciar o firewall do seu servidor no Ubuntu.

Primeiro, defina a política padrão para negar todas as conexões de entrada:

sudo ufw default deny incoming
Em seguida, permita explicitamente o tráfego SSH. Este passo é crítico.

sudo ufw allow 22/tcp

⚠️ AVISO CRÍTICO: Sempre execute sudo ufw allow 22/tcp antes de sudo ufw enable. Se você habilitar o firewall sem permitir SSH, você se bloqueará fora do servidor. Sua única opção seria acessar o servidor através do console do seu provedor de hospedagem — o que pode não estar disponível em todos os planos.

Agora é seguro habilitar o firewall:

sudo ufw enable
Command may disrupt existing SSH connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Você pode verificar o status a qualquer momento:

sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Seu servidor agora só aceita conexões SSH de entrada na porta 22. Tudo o mais está bloqueado. Quando você instalar o Nginx mais tarde, adicionará outra regra: sudo ufw allow 80/tcp para HTTP e sudo ufw allow 443/tcp para HTTPS.

Seu servidor está protegido por um firewall.


Dia 7: Verificações de Rede e Conclusão

Seu servidor está configurado, seguro e em execução. Antes de dar por terminado, vamos verificar se tudo funciona do lado de fora e aprender a desligar corretamente.

Passo 1: Teste a conectividade com “ping”

O comando ping testa se seu servidor pode alcançar outras máquinas na rede.

ping -c 4 8.8.8.8
A flag -c 4 limita o ping a 4 pacotes. Sem ela, ping executa para sempre 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: Verifique interfaces de rede com “ip”

O comando ip mostra a configuração de rede do seu servidor.

ip addr
O comando ip substitui o ifconfig depreciado. 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 fazer SSH ou acessar seu servidor web.

Você pode ver os endereços IP e interfaces de rede do seu servidor.

O comando ln cria links entre arquivos — essencialmente atalhos.

ln -s /var/www/html /home/user/webroot

Isso 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 no sistema.

Passo 4: Desligue com segurança com “shutdown”

O comando shutdown desliga seu servidor de maneira controlada.

sudo shutdown -h now

A flag -h significa “halt” — pare tudo e desligue. now significa imediatamente. Mas você também pode agendar um desligamento:

sudo shutdown -h +5

Isso dá a você 5 minutos antes do desligamento — tempo suficiente para salvar o trabalho, notificar os 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 horário agendado.

Passo 5: Reinicie 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 alterações de configuração que exigem um novo início.

Você pode reiniciar o servidor com um único comando.


O Que Vem a Seguir

Sete dias atrás, você estava olhando para um terminal em branco após fazer SSH em um servidor que não sabia como usar. Agora você pode navegar no sistema de arquivos, criar e gerenciar arquivos, procurar qualquer coisa no sistema, verificar a saúde do seu servidor, instalar software, executar serviços, proteger a segurança e gerenciar o ciclo de vida do servidor desde a inicialização até o desligamento.

A verdadeira habilidade não é memorizar esses comandos. É saber qual deles recorrer quando um problema aparecer. Isso vem de usá-los — não de ler sobre eles.

Abra um terminal hoje. Execute ls, cd e pwd até que eles pareçam naturais. Adicione um novo comando por dia. Dentro de uma semana, o terminal não parecerá mais uma interface estrangeira. Ele parecerá a linha direta para o seu servidor que ele é.

Se você está pronto para colocar esses comandos em prática no seu próprio servidor, AlexHost oferece planos de Linux VPS acessíveis com configuração instantânea e suporte 24/7 — um ótimo lugar para praticar sem riscos.


Cheatsheet: Todos os Comandos de Relance

Aqui está cada comando deste guia em um só lugar. Marque esta página.

 

ComandoSignificaO Que Faz
ssh
Secure ShellConectar-se a um servidor remoto com segurança
whoami
Who Am IMostrar nome de usuário atual
pwd
Print Working DirectoryMostrar caminho do diretório atual
ls
ListListar arquivos e diretórios
cd
Change DirectoryNavegar entre diretórios
clear
ClearLimpar a tela do terminal
man
ManualAbrir a página de manual para qualquer comando
history
HistoryMostrar comandos executados anteriormente
mkdir
Make DirectoryCriar novos diretórios
touch
TouchCriar arquivos vazios ou atualizar timestamps
cp
CopyCopiar arquivos e diretórios
mv
MoveMover ou renomear arquivos e diretórios
rm
RemoveExcluir arquivos e diretórios
echo
EchoImprimir texto ou escrever em arquivos
cat
ConcatenateExibir conteúdo de arquivos
nano
NanoEditor de texto baseado em terminal
find
FindProcurar arquivos por nome, tipo ou atributos
grep
Global Regular Expression PrintProcurar padrões de texto em arquivos
which
WhichLocalizar caminho do executável de um comando
whereis
Where IsLocalizar binário, fonte e manual de um comando
whatis
What IsObter uma descrição de uma linha de um comando
uname
Unix NameExibir informações do sistema
df
Disk FreeMostrar uso de espaço em disco
free
FreeMostrar uso de memória/RAM
top
TopMonitoramento de processos em tempo real
ps
Process StatusCaptura de processos em execução
cal
CalendarExibir um calendário
date
DateMostrar ou definir data e hora do sistema
apt update
APT UpdateAtualizar listas de repositórios de pacotes
apt install
APT InstallInstalar pacotes de software
systemctl
System ControlIniciar, parar e gerenciar serviços
kill
KillEncerrar um processo pelo PID
pkill
Process KillEncerrar processos pelo nome
wget
Web GetBaixar arquivos da internet
curl
Client URLTransferir dados de URLs
sudo
Superuser DoExecutar comandos com privilégios elevados
chmod
Change ModeAlterar permissões de arquivos
chown
Change OwnerAlterar propriedade de arquivos
passwd
PasswordAlterar senhas de usuários
useradd
User AddCriar uma nova conta de usuário
su
Switch UserAlternar para outro usuário
ufw
Uncomplicated FirewallGerenciar o firewall do servidor
ping
PingTestar conectividade de rede
ip
IPMostrar interfaces e endereços de rede
ln
LinkCriar links de arquivos (simbólicos ou rígidos)
shutdown
ShutdownDesligar o servidor com segurança
reboot
RebootReiniciar o servidor

 


15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar