Um guia prático e completo sobre os comandos essenciais do Linux para quem trabalha com desenvolvimento web — desde a navegação no sistema de ficheiros até à gestão de processos e permissões.

01 —Porquê o Linux?

Se trabalhas com desenvolvimento web, mais cedo ou mais tarde vais cruzar-te com o Linux. Os servidores que hospedam os teus projetos — desde um simples VPS até uma infraestrutura cloud complexa — correm quase sempre sobre uma distribuição Linux.

Conhecer o terminal não é apenas uma competência técnica: é uma superpotência. Permite-te automatizar tarefas repetitivas, diagnosticar problemas em produção, gerir servidores remotamente, e trabalhar muito mais depressa do que qualquer interface gráfica permitiria.

💡

Pré-requisitos

Este tutorial é adequado para qualquer nível. Se usas macOS, a maioria dos comandos funciona igualmente — ambos partilham raízes Unix. No Windows, podes usar o WSL 2 (Windows Subsystem for Linux).

03 —Gestão de Ficheiros e Diretórios

Criar, copiar, mover e eliminar ficheiros são operações do dia-a-dia. No Linux, estas ações são rápidas, poderosas e — atenção — irreversíveis por defeito. Não há lixo no terminal.

mkdir

Cria um novo diretório. Usa -p para criar estruturas aninhadas de uma só vez.

touch

Cria um ficheiro vazio ou atualiza a data de modificação de um ficheiro existente.

cp

Copia ficheiros ou diretórios. Usa -r para copiar diretórios recursivamente.

mv

Move ou renomeia ficheiros e diretórios. É o equivalente a cortar e colar.

workflow de um projeto web
# Criar estrutura de projeto
$ mkdir -p meu-site/{src,public,dist}
$ touch meu-site/src/{index.html,style.css,main.js}

# Verificar o resultado
$ ls -R meu-site/
meu-site/: dist  public  src
meu-site/src/: index.html  main.js  style.css

# Copiar ficheiro de configuração
$ cp .env.example .env

# Mover/renomear
$ mv old-name.html index.html

# Remover (CUIDADO — sem confirmação!)
$ rm ficheiro.txt
$ rm -rf pasta-a-eliminar/  # ⚠️ irreversível

Ler e Pesquisar Conteúdo

pesquisa de ficheiros
# Ver conteúdo de um ficheiro
$ cat package.json

# Ver ficheiro com paginação (q para sair)
$ less ficheiro-longo.log

# Pesquisar texto num ficheiro
$ grep "TODO" src/main.js

# Pesquisar recursivamente em toda a pasta
$ grep -r "console.log" src/

# Encontrar ficheiros pelo nome
$ find . -name "*.css"
$ find . -name "*.log" -type f -delete

04 —Permissões de Ficheiros

As permissões no Linux controlam quem pode ler, escrever ou executar um ficheiro. Compreender este sistema é essencial para trabalhar com servidores e evitar brechas de segurança.

-rwxr-xr–
tipo
rwx
dono
(owner)
r-x
grupo
(group)
r–
outros
(others)
r = leitura (4) w = escrita (2) x = execução (1)
chmod e chown
# Dar permissão de execução ao dono
$ chmod u+x script.sh

# Notação octal — o modo mais comum
$ chmod 755 script.sh   # rwxr-xr-x
$ chmod 644 index.html  # rw-r--r--

# Mudar o dono de um ficheiro
$ chown www-data:www-data /var/www/html

# Recursivamente (toda a pasta)
$ chmod -R 755 /var/www/html
⚠️

Cuidado com chmod 777

Definir permissões 777 (tudo para todos) é uma má prática de segurança em servidores. Nunca o uses em produção — dás acesso total de escrita a qualquer utilizador do sistema.

05 —Gestão de Processos

Em desenvolvimento web precisas frequentemente de monitorizar processos — o teu servidor Node.js, o webpack em modo watch, ou um container Docker. Aqui estão as ferramentas para isso.

processos e monitorização
# Ver processos em execução
$ ps aux

# Monitor interativo em tempo real
$ htop   # (ou top, mais básico)

# Encontrar processo por nome
$ pgrep node
3421

# Terminar processo pelo PID
$ kill 3421

# Forçar terminação (sinal SIGKILL)
$ kill -9 3421

# Correr processo em background
$ node server.js &

# Ver uso de disco
$ df -h
$ du -sh ./node_modules

06 —Comandos de Rede

Diagnosticar problemas de conectividade, fazer download de ficheiros, ou testar endpoints de API — o terminal tem ferramentas poderosas para tudo isso.

rede e HTTP
# Testar conectividade
$ ping google.com

# Ver portas abertas
$ ss -tlnp

# Download de ficheiro
$ wget https://exemplo.com/ficheiro.zip
$ curl -O https://exemplo.com/ficheiro.zip

# Testar API REST
$ curl -X GET https://api.exemplo.com/users
$ curl -X POST https://api.exemplo.com/users \
  -H "Content-Type: application/json" \
  -d '{"nome": "Ana", "email": "ana@exemplo.com"}'

# Ligação SSH a servidor remoto
$ ssh utilizador@192.168.1.100
$ ssh -i ~/.ssh/chave.pem utilizador@servidor.com

07 —Dicas de Produtividade

Os melhores utilizadores de Linux não conhecem mais comandos — conhecem os atalhos e truques que tornam tudo mais fluido. Aqui estão os que mais vão impactar o teu dia-a-dia.

Tab

Autocompletar: o teu melhor amigo. Carrega Tab uma vez para completar, duas vezes para ver todas as opções. Funciona com comandos, caminhos e argumentos.

Ctrl + R

Pesquisa no histórico: pesquisa reversa nos comandos anteriores. Escreve parte do comando e vai aparecendo o mais recente que corresponde.

Ctrl + C / Z

Interromper/pausar: Ctrl+C termina o processo atual. Ctrl+Z pausa-o (usa fg para retomar).

Aliases — Atalhos Personalizados

Adiciona aliases ao teu ~/.bashrc ou ~/.zshrc para criar os teus próprios atalhos.

~/.bashrc
# Aliases úteis para developers
alias ll='ls -la'
alias gs='git status'
alias gp='git pull'
alias ni='npm install'
alias nr='npm run'
alias dev='npm run dev'
alias ..='cd ..'
alias ...='cd ../..'

# Recarregar configurações
$ source ~/.bashrc
🐧

Continua a Praticar

O terminal parece assustador no início, mas com prática torna-se a forma mais rápida e precisa de interagir com um sistema. Tenta usar estes comandos no teu próximo projeto.

man <comando>
para ver o manual de qualquer comando

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *