🐧 Linha de Comando Linux
Comandos básicos e avançados para navegação, ficheiros, processos, redes, monitorização, pacotes e automação. Adequado para fluxos de trabalho DevOps.
🔹 Comandos básicos
Comando |
Exemplo |
Descrição |
|---|---|---|
cat |
Mostrar o conteúdo de um ficheiro ou concatenar vários ficheiros | |
cat file.txt |
Ver o conteúdo de um ficheiro |
|
cat file1 file2 |
Concatenar e mostrar dois ficheiros |
|
cat file1 file2 > merged.txt |
Concatenar ficheiros e guardar num novo ficheiro |
|
cd |
Mudar o diretório de trabalho atual | |
cd /etc |
Ir para o caminho absoluto |
|
cd ~ |
Ir para o diretório pessoal |
|
cd .. |
Subir um nível |
|
cd - |
Voltar ao diretório anterior |
|
clear |
Limpar o ecrã do terminal | |
cp |
Copiar ficheiros e diretórios | |
cp file1.txt file2.txt |
Copiar um ficheiro com um novo nome |
|
cp -r dir1 dir2 |
Copiar recursivamente um diretório |
|
cp -i file.txt /tmp/ |
Copiar com confirmação antes de substituir |
|
echo |
Imprimir uma string ou variável de ambiente | |
echo "Hello, World!" |
Imprimir uma string simples |
|
echo $HOME |
Mostrar o caminho do diretório pessoal |
|
echo -e "1\t2\n3" |
Interpretar sequências de escape ( ) |
|
history |
Mostrar o histórico de comandos | |
id |
Mostrar UID, GID e grupos do utilizador atual | |
ls |
Listar ficheiros e diretórios | |
ls -l |
Listagem detalhada com permissões e donos |
|
ls -a |
Mostrar ficheiros ocultos |
|
ls -lh |
Tamanhos legíveis por humanos |
|
mkdir |
Criar diretórios | |
mkdir folder |
Criar um único diretório |
|
mkdir -p a/b/c |
Criar diretórios aninhados |
|
mkdir dir{1,2,3} |
Criar múltiplos diretórios de uma vez |
|
mv |
Mover ou renomear ficheiros/diretórios | |
mv oldname.txt newname.txt |
Renomear um ficheiro |
|
mv file.txt /path/to/dir/ |
Mover um ficheiro para outro diretório |
|
mv *.txt archive/ |
Mover todos os ficheiros |
|
pwd |
Mostrar o diretório de trabalho atual | |
pwd -P |
Mostrar o caminho físico (sem symlinks) |
|
cd /tmp && pwd |
Mostrar o caminho depois de mudar para |
|
rm |
Remover ficheiros ou diretórios | |
rm file.txt |
Apagar um ficheiro |
|
rm -i file.txt |
Apagar um ficheiro com confirmação |
|
rm -r folder/ |
Apagar recursivamente um diretório |
|
rm -rf folder/ |
Forçar remoção sem confirmação |
|
rmdir |
Remover um diretório vazio | |
rmdir emptydir |
Remover o diretório |
|
touch |
Criar ficheiros vazios ou atualizar o tempo de modificação | |
touch newfile.txt |
Criar um novo ficheiro vazio se não existir |
|
touch a b c |
Criar múltiplos ficheiros de uma vez |
|
touch -c file.txt |
Atualizar o tempo sem criar ficheiro se não existir |
|
whereis |
Localizar o binário, código-fonte e manuais de um comando | |
whereis ls |
Encontrar localizações para |
|
whereis bash |
Mostrar caminhos para o binário e documentação do Bash |
|
whereis -b bash |
Procurar apenas pelo binário |
|
which |
Mostrar o caminho do executável de um comando | |
which python3 |
Caminho para |
|
which grep |
Caminho para |
|
which --skip-alias ls |
Ignorar aliases durante a procura |
|
whoami |
Mostrar o nome do utilizador efetivo |
🔸 Nível intermédio
Comando |
Exemplo |
Descrição |
|---|---|---|
chmod |
Alterar permissões de ficheiro ou diretório | |
chmod 755 file |
Definir permissões com notação octal (ex: 755) |
|
chmod +x script.sh |
Adicionar permissão de execução a um script |
|
chmod -R 644 dir/ |
Definir permissões recursivamente num diretório |
|
chown |
Alterar dono e grupo de ficheiro | |
chown user file |
Alterar o dono de um ficheiro |
|
chown user:group file |
Alterar dono e grupo |
|
chown -R user:group dir/ |
Alterar recursivamente dono e grupo |
|
curl |
Transferir dados de/para um servidor (HTTP, HTTPS, etc.) | |
curl -I https://example.com |
Enviar um pedido HEAD (apenas cabeçalhos) |
|
curl -O https://example.com/file.txt |
Descarregar um ficheiro mantendo o nome |
|
curl -d "a=1&b=2" -X POST URL |
Enviar um POST com dados de formulário |
|
df |
Mostrar uso de espaço em disco do sistema de ficheiros | |
df -h |
Tamanhos legíveis por humanos |
|
df /home |
Uso de um ponto de montagem específico |
|
df -T |
Mostrar tipos de sistemas de ficheiros |
|
diff |
Comparar ficheiros ou diretórios | |
diff file1 file2 |
Comparar dois ficheiros |
|
diff -u old.c new.c |
Diff unificado (estilo patch) |
|
diff -r dir1 dir2 |
Comparação recursiva de diretórios |
|
du |
Estimar uso de espaço de ficheiros e diretórios | |
du -sh * |
Mostrar tamanho de itens no diretório atual |
|
du -h file.txt |
Mostrar tamanho de um único ficheiro |
|
du -sh --max-depth=1 /var |
Resumir tamanhos de subdiretórios de topo |
|
find |
Procurar ficheiros/diretórios por nome, tamanho, tempo, etc. | |
find . -name "*.log" |
Encontrar todos os ficheiros |
|
find / -type f -size +100M |
Encontrar ficheiros maiores que 100 MB |
|
find . -mtime -1 |
Ficheiros modificados no último dia |
|
free |
Mostrar quantidade de memória livre e usada | |
free -h |
Unidades de memória legíveis por humanos |
|
free -m |
Mostrar valores em MB |
|
watch -n 2 free -h |
Atualizar saída a cada 2 segundos |
|
grep |
Procurar texto usando padrões (expressões regulares) | |
grep "error" logfile |
Encontrar linhas que contenham |
|
grep -r "error" /var/log |
Pesquisa recursiva num diretório |
|
grep -i "fail" file |
Pesquisa sem diferenciar maiúsculas/minúsculas |
|
head |
Mostrar as primeiras linhas de um ficheiro | |
head -n 10 file |
Primeiras 10 linhas |
|
head -n 20 file.txt |
Primeiras 20 linhas |
|
head -c 100 file |
Primeiros 100 bytes |
|
hostname |
Mostrar ou definir o nome de anfitrião do sistema | |
hostname newname |
Definir temporariamente o nome de anfitrião até reiniciar |
|
hostname -I |
Mostrar endereços IP |
|
kill |
Enviar sinais a processos | |
kill -9 1234 |
Forçar terminar um processo pelo PID |
|
kill -TERM 1234 |
Terminar graciosamente com SIGTERM |
|
pkill -f python |
Matar processos que correspondam a um padrão |
|
ping |
Verificar conectividade de rede com pedidos ICMP | |
ping 8.8.8.8 |
Ping a um endereço |
|
ping -c 4 ya.ru |
Enviar 4 pacotes |
|
ping -i 2 1.1.1.1 |
Definir intervalo de 2 segundos |
|
ps |
Mostrar estado de processos | |
ps aux |
Listar todos os processos |
|
ps -ef | grep nginx |
Filtrar por nome usando |
|
ps -u $USER |
Processos do utilizador atual |
|
rsync |
Transferência incremental rápida de ficheiros | |
rsync -av src/ dst/ |
Sincronizar diretórios localmente |
|
rsync -avz user@host:/src /dst |
Sincronizar com anfitrião remoto via SSH |
|
rsync --delete src/ dst/ |
Apagar ficheiros em destino ausentes na origem |
|
scp |
Cópia segura (programa de cópia remota) | |
scp file user@host:/path |
Copiar um ficheiro para um anfitrião remoto |
|
scp user@host:/file.txt . |
Copiar um ficheiro de um anfitrião remoto |
|
scp -r dir user@host:/path |
Copiar recursivamente um diretório |
|
sort |
Ordenar linhas de texto | |
sort file.txt |
Ordenação alfabética |
|
sort -r file.txt |
Ordem inversa |
|
sort -n numbers.txt |
Ordenação numérica |
|
tail |
Mostrar a parte final de ficheiros; seguir alterações | |
tail -f logfile.log |
Seguir log em tempo real |
|
tail -n 20 file.txt |
Mostrar as últimas 20 linhas |
|
tail -c 100 file.txt |
Mostrar os últimos 100 bytes |
|
tar |
Criar, listar ou extrair arquivos tar | |
tar -czf archive.tgz dir/ |
Criar um arquivo |
|
tar -xzf archive.tgz |
Extrair um arquivo |
|
tar -tf archive.tgz |
Listar conteúdo do arquivo |
|
tee |
Ler de stdin e escrever em stdout e ficheiros | |
echo "test" | tee out.txt |
Escrever saída em |
|
ls | tee list.txt |
Guardar saída de |
|
command | tee -a log.txt |
Acrescentar saída ao fim de |
|
top |
Mostrar tarefas do Linux (visualizador de processos interativo) | |
top |
Iniciar top |
|
htop |
Visualizador alternativo (htop) |
|
top -o %MEM |
Ordenar por uso de memória |
|
uptime |
Mostrar há quanto tempo o sistema está ativo | |
uptime -p |
Tempo de atividade em formato amigável |
|
uptime -s |
Hora de arranque do sistema |
|
wget |
Downloader de rede não interativo | |
wget https://site.com/file.zip |
Descarregar ficheiro por URL |
|
wget -c file.zip |
Retomar download interrompido |
|
wget -O saved.txt URL |
Guardar com nome diferente |
|
wc |
Mostrar contagem de linhas, palavras e bytes de ficheiros | |
wc -l file |
Contar linhas |
|
wc -w file |
Contar palavras |
|
wc -m file |
Contar caracteres |
|
uniq |
Relatar ou remover linhas repetidas (duplicados adjacentes) | |
uniq file.txt |
Remover duplicados adjacentes |
|
sort file | uniq |
Remover duplicados após ordenação |
|
sort file | uniq -c |
Contar ocorrências de cada linha |
|
yes |
Repetidamente imprimir uma string até ser interrompido; útil em scripts | |
yes "y" | command |
Responder sempre “y” a prompts |
|
yes | rm -i * |
Auto-confirmar eliminações interativas |
|
yes no | command |
Responder “no” a prompts |
🔧 Comandos avançados
Comando |
Exemplo |
Descrição |
|---|---|---|
at |
Agendar um comando único para executar numa hora definida | |
at now + 1 minute |
Executar um comando daqui a um minuto |
|
atq |
Listar tarefas pendentes |
|
atrm |
Remover uma tarefa pendente |
|
awk |
Linguagem de análise e processamento de padrões | |
awk '{print $1}' file |
Imprimir a primeira coluna |
|
ps aux | awk '$3 > 50' |
Filtrar processos por uso de CPU |
|
cat file.txt | awk '{print $2}' |
Imprimir o segundo campo de cada linha |
|
awk '/error/ {print $0}' logfile |
Imprimir linhas que correspondam a um padrão |
|
crontab |
Instalar, listar ou remover tarefas cron por utilizador | |
crontab -e |
Editar crontab do utilizador atual |
|
crontab -l |
Listar tarefas cron |
|
crontab -r |
Remover crontab do utilizador atual |
|
cut |
Remover ou selecionar secções de cada linha de ficheiros | |
cut -d':' -f1 /etc/passwd |
Imprimir nomes de utilizador de |
|
echo "a:b:c" | cut -d':' -f2 |
Cortar o segundo campo usando ‘:’ como delimitador |
|
cut -c1-5 filename |
Selecionar caracteres por posição |
|
df |
Mostrar uso de espaço em disco | |
df -h |
Tamanhos legíveis por humanos |
|
df -T |
Mostrar tipos de sistemas de ficheiros |
|
df /home |
Uso do diretório pessoal |
|
env |
Executar um comando num ambiente modificado ou mostrar env | |
env | grep PATH |
Mostrar entradas do PATH |
|
env -i bash |
Iniciar shell limpa com ambiente vazio |
|
export |
Definir variáveis de ambiente para a shell/sessão atual | |
export VAR=value |
Definir uma variável nesta shell |
|
export PATH=$PATH:/new/path |
Acrescentar um diretório ao PATH |
|
export -p |
Listar variáveis exportadas |
|
free |
Mostrar uso de memória | |
free -m |
Mostrar em MB |
|
free -h |
Unidades legíveis por humanos |
|
free -s 5 |
Amostragem a cada 5 segundos |
|
hostnamectl |
Consultar e alterar nome de anfitrião e definições relacionadas | |
hostnamectl status |
Mostrar estado do nome de anfitrião |
|
hostnamectl set-hostname newname |
Definir novo nome de anfitrião estático |
|
ifconfig / ip |
Ferramentas IP para ver/gerir interfaces e endereços | |
ifconfig |
Mostrar interfaces de rede (legado) |
|
ip a |
Mostrar endereços com |
|
ip link set eth0 up |
Ativar uma interface |
|
iostat |
Mostrar estatísticas de CPU e I/O | |
iostat -x 2 |
Estatísticas detalhadas a cada 2 segundos |
|
iostat -d 5 3 |
Estatísticas de dispositivos (intervalo 5s, 3 relatórios) |
|
iptables |
Ferramenta de administração de filtragem de pacotes IPv4 e NAT | |
iptables -L |
Listar regras atuais |
|
iptables -A INPUT -p tcp --dport 22 -j ACCEPT |
Permitir SSH na porta 22 |
|
iptables -F |
Limpar todas as regras |
|
journalctl |
Consultar o journal do systemd | |
journalctl -xe |
Mostrar erros recentes com contexto |
|
journalctl -u nginx.service |
Mostrar logs de um serviço |
|
journalctl --since "2 hours ago" |
Mostrar logs desde tempo relativo |
|
ln |
Criar ligações entre ficheiros | |
ln -s target link |
Criar um link simbólico |
|
ln file.txt backup.txt |
Criar um link físico |
|
ln -sf target link |
Forçar recriação de link simbólico |
|
sed |
Editor de fluxos para filtrar e transformar texto | |
sed 's/old/new/g' file |
Substituir uma string globalmente |
|
sed -n '1,5p' file |
Imprimir apenas intervalo de linhas |
|
sed '/pattern/d' file |
Apagar linhas correspondentes a padrão |
|
systemctl |
Controlar o systemd e serviços | |
systemctl status nginx |
Mostrar estado de serviço |
|
systemctl start nginx |
Iniciar um serviço |
|
systemctl enable nginx |
Ativar serviço no arranque |
|
tr |
Traduzir ou apagar caracteres | |
tr a-z A-Z |
Converter minúsculas em maiúsculas |
|
echo "hello" | tr 'h' 'H' |
Substituir um carácter |
|
echo "abc123" | tr -d '0-9' |
Apagar dígitos |
|
type |
Descrever como um nome seria interpretado na shell | |
type ls |
Mostrar como |
|
type cd |
Mostrar como |
|
type python3 |
Mostrar como |
|
ulimit |
Obter ou definir limites de recursos de processo do utilizador | |
ulimit -n |
Mostrar máximo de ficheiros abertos |
|
ulimit -c unlimited |
Ativar core dumps |
|
ulimit -u 4096 |
Limitar número de processos de utilizador |
|
uptime |
Mostrar tempo de atividade e carga média | |
uptime -p |
Tempo de atividade em formato amigável |
|
uptime -s |
Mostrar hora de arranque |
|
xargs |
Construir e executar comandos a partir da entrada padrão | |
xargs -n 1 echo |
Mostrar cada argumento numa linha separada |
|
echo "a b c" | xargs -n 1 |
Dividir palavras em argumentos separados |
|
find . -name '*.txt' | xargs rm |
Encontrar ficheiros e removê-los com xargs |
🌐 Comandos de rede
Comando |
Exemplo |
Descrição |
|---|---|---|
curl |
Transferir dados de/para servidores | |
curl -X POST -d "a=1" URL |
Pedido POST com dados de formulário |
|
curl -I URL |
Obter apenas cabeçalhos |
|
curl -o file.html URL |
Descarregar e guardar num ficheiro |
|
dig |
Utilitário de pesquisa DNS | |
dig openai.com |
Consultar registos A |
|
dig +short openai.com |
Resposta curta |
|
dig @8.8.8.8 openai.com |
Usar um servidor DNS específico |
|
ftp |
Cliente do Protocolo de Transferência de Ficheiros | |
ftp host |
Ligar a um servidor FTP |
|
ftp -n host |
Ligar sem auto-login |
|
ftp> get file.txt |
Descarregar um ficheiro numa sessão FTP |
|
ip address |
Mostrar/manipular endereços IP | |
ip addr show eth0 |
Mostrar informações de endereço para |
|
ip addr |
Listar todos os endereços |
|
ip link |
Mostrar/manipular dispositivos de rede | |
ip link show |
Mostrar ligações de rede |
|
ip link set eth0 up |
Ativar uma interface |
|
ip route |
Mostrar/manipular a tabela de encaminhamento IP | |
ip route list |
Listar tabela de rotas |
|
ip route add default via 192.168.1.1 |
Adicionar rota por defeito |
|
nc |
Conexões e escutas TCP/UDP arbitrárias | |
nc -zv host 22 |
Scan de portas de um host |
|
nc -l 1234 |
Escutar numa porta TCP |
|
nc host 1234 < file |
Enviar um ficheiro para uma porta remota |
|
nmap |
Ferramenta de exploração de rede e scanner de segurança/portas | |
nmap -sP 192.168.1.0/24 |
Scan de ping a uma sub-rede |
|
nmap -sV 192.168.1.1 |
Deteção de serviços/versões |
|
nmap -O 192.168.1.1 |
Deteção de sistema operativo |
|
nslookup |
Consultar servidores de nomes de domínio da Internet | |
nslookup google.com |
Consultar um nome de domínio |
|
nslookup 8.8.8.8 |
Pesquisa inversa para um IP |
|
ssh |
Cliente de login remoto OpenSSH | |
ssh user@host |
Ligar a um host |
|
ssh -p 2222 user@host |
Ligar usando uma porta não padrão |
|
ssh -i ~/.ssh/id_rsa user@host |
Login com uma chave privada específica |
|
ss |
Utilitário para investigar sockets | |
ss -tuln |
Listar portas TCP/UDP em escuta |
|
ss -s |
Estatísticas sumárias |
|
ss -l |
Listar sockets em escuta |
|
telnet |
Interface de utilizador para o protocolo TELNET | |
telnet host 80 |
Ligar a um host na porta 80 |
|
telnet example.com 443 |
Ligar à porta 443 |
|
telnet localhost 25 |
Ligar ao SMTP local |
|
traceroute |
Traçar a rota até um host de rede | |
traceroute 8.8.8.8 |
Traçar caminho até um IP |
|
traceroute -m 15 8.8.8.8 |
Limitar saltos máximos |
|
wget |
Obter ficheiros da web | |
wget -O file.txt URL |
Guardar saída num ficheiro |
|
wget URL |
Descarregar para o diretório atual |
|
wget -c URL |
Continuar um download parcial |
🔍 Pesquisa e gestão de ficheiros
Comando |
Exemplo |
Descrição |
|---|---|---|
basename |
Remover diretório e sufixo de nomes de ficheiros | |
basename /path/to/file |
Imprimir o nome do ficheiro a partir de um caminho |
|
basename /path/to/file .txt |
Remover um sufixo do nome |
|
dirname |
Remover o último componente de um caminho | |
dirname /path/to/file |
Mostrar parte do diretório do caminho |
|
dirname /etc/passwd |
Mostrar pai de |
|
du |
Estimar uso de espaço em disco | |
du -sh folder/ |
Mostrar tamanho de um diretório |
|
du -h * |
Mostrar tamanho de itens no diretório atual |
|
du -c folder1 folder2 |
Tamanho cumulativo de múltiplos diretórios |
|
file |
Determinar tipo de ficheiro | |
file some.bin |
Detetar tipo de ficheiro |
|
file * |
Detetar tipos para todos os ficheiros no diretório |
|
file -i file.txt |
Mostrar tipo MIME |
|
find |
Procurar ficheiros | |
find /path -type f -name "*.sh" |
Procurar scripts shell por nome |
|
find . -size +10M |
Procurar ficheiros maiores que 10 MB |
|
find /tmp -mtime -1 |
Procurar ficheiros modificados no último dia |
|
locate |
Procurar ficheiros por nome usando base de dados | |
locate filename |
Localizar um nome de ficheiro |
|
locate *.conf |
Pesquisa com wildcard |
|
locate -i README |
Pesquisa sem diferenciar maiúsculas/minúsculas |
|
realpath |
Mostrar o caminho absoluto resolvido | |
realpath file |
Resolver caminho de um ficheiro |
|
realpath ../relative/path |
Resolver um caminho relativo |
|
stat |
Mostrar estado de ficheiro ou sistema de ficheiros | |
stat file |
Mostrar estado detalhado de um ficheiro |
|
stat -c %s file |
Imprimir apenas tamanho do ficheiro |
|
stat -f file |
Mostrar estado do sistema de ficheiros |
|
tree |
Listar conteúdos de diretórios em formato de árvore | |
tree |
Imprimir árvore de diretórios |
|
tree -L 2 |
Limitar profundidade de exibição |
|
tree -a |
Incluir ficheiros ocultos |
📊 Monitorização do sistema
Comando |
Exemplo |
Descrição |
|---|---|---|
dmesg |
Imprimir ou controlar o buffer de mensagens do kernel | |
dmesg | tail |
Mostrar últimas mensagens do kernel |
|
dmesg | grep usb |
Filtrar mensagens USB |
|
free |
Mostrar uso de memória | |
free -h |
Unidades legíveis por humanos |
|
free -m |
Mostrar em MB |
|
htop |
Visualizador interativo de processos | |
htop |
Executar |
|
iotop |
Mostrar uso de I/O por processos | |
iotop |
Executar |
|
iotop -o |
Mostrar apenas processos que fazem I/O |
|
lsof |
Listar ficheiros abertos | |
lsof -i :80 |
Mostrar processos a usar a porta 80 |
|
lsof -u username |
Mostrar ficheiros abertos por um utilizador |
|
uptime |
Mostrar tempo de atividade do sistema e carga média | |
vmstat |
Mostrar estatísticas de memória virtual | |
vmstat 1 |
Atualizar a cada 1 segundo |
|
vmstat 5 3 |
Intervalo de 5 segundos, 3 relatórios |
|
watch |
Executar periodicamente um programa, mostrando saída | |
watch -n 1 df -h |
Monitorizar uso de disco |
|
watch -d free -h |
Destacar diferenças e monitorizar memória |
📦 Gestão de pacotes
Comando |
Exemplo |
Descrição |
|---|---|---|
apt |
Gestor de pacotes APT (Debian/Ubuntu) | |
apt install curl |
Instalar um pacote |
|
apt remove curl |
Remover um pacote |
|
apt update && apt upgrade |
Atualizar listas e atualizar pacotes |
|
dnf |
Dandified YUM (família Fedora/RHEL) | |
dnf install curl |
Instalar um pacote |
|
dnf upgrade |
Atualizar pacotes |
|
rpm |
Gestor de pacotes RPM | |
rpm -ivh package.rpm |
Instalar um pacote RPM |
|
rpm -e package |
Apagar (desinstalar) um pacote |
|
snap |
Gestor de pacotes Snappy | |
snap install app |
Instalar um snap |
|
snap remove app |
Remover um snap |
|
yum |
Yellowdog Updater Modified (RHEL/CentOS) | |
yum install curl |
Instalar um pacote |
|
yum remove curl |
Remover um pacote |
💽 Sistemas de ficheiros
Comando |
Exemplo |
Descrição |
|---|---|---|
blkid |
Localizar/imprimir atributos de dispositivos de bloco | |
blkid |
Listar dispositivos de bloco e atributos |
|
df |
Mostrar uso de espaço em disco do sistema de ficheiros | |
df -Th |
Tamanhos legíveis por humanos por tipo |
|
fsck |
Verificar e reparar um sistema de ficheiros Linux | |
fsck /dev/sda1 |
Verificar um dispositivo |
|
lsblk |
Listar informações sobre dispositivos de bloco | |
lsblk |
Listar dispositivos em árvore |
|
mkfs |
Criar um sistema de ficheiros Linux | |
mkfs.ext4 /dev/sdb1 |
Criar sistema de ficheiros ext4 |
|
mount |
Montar um sistema de ficheiros | |
mount /dev/sdb1 /mnt |
Montar um dispositivo em |
|
mount | grep /mnt |
Mostrar sistemas montados filtrados por caminho |
|
parted |
Programa de manipulação de partições | |
parted /dev/sdb |
Abrir um disco para particionamento |
|
umount |
Desmontar sistemas de ficheiros | |
umount /mnt |
Desmontar um ponto de montagem |
🤖 Scripts e automação
Comando |
Exemplo |
Descrição |
|---|---|---|
alias |
Definir ou mostrar aliases de shell | |
alias ll='ls -la' |
Criar um alias útil |
|
alias |
Listar aliases definidos |
|
bash / sh |
Executar scripts de shell | |
bash script.sh |
Executar um script com Bash |
|
sh script.sh |
Executar um script com |
|
crontab |
Tabelas cron por utilizador | |
crontab -e |
Editar crontab do utilizador atual |
|
read |
Pedir input do utilizador em scripts shell | |
read name |
Ler para uma variável |
|
set |
Definir opções/argumentos posicionais do shell | |
set -e |
Sair no primeiro erro |
|
source |
Ler e executar comandos de um ficheiro no shell atual | |
source ~/.bashrc |
Recarregar configuração do shell |
|
trap |
Capturar sinais e executar comandos | |
trap "echo 'exit'" EXIT |
Executar um comando ao sair do shell |
🛠 Desenvolvimento e depuração
Comando |
Exemplo |
Descrição |
|---|---|---|
gcc |
Compilador GNU C | |
gcc main.c -o app |
Compilar um ficheiro fonte C |
|
gdb |
Depurador GNU | |
gdb ./app |
Depurar um binário compilado |
|
git |
Sistema de controlo de versões distribuído | |
git status |
Mostrar estado da árvore de trabalho |
|
git commit -m "msg" |
Fazer commit com mensagem |
|
ltrace |
Tracer de chamadas de biblioteca | |
ltrace ./app |
Rastrear chamadas de biblioteca de um binário |
|
make |
Utilitário para manter grupos de programas | |
make |
Compilar de acordo com Makefile |
|
shellcheck |
Análise estática para scripts shell | |
shellcheck script.sh |
Lint de um script shell |
|
strace |
Rastrear chamadas de sistema e sinais | |
strace ./app |
Rastrear syscalls de um programa |
|
valgrind |
Framework de instrumentação para ferramentas de análise dinâmica | |
valgrind ./app |
Executar um programa com Valgrind |
|
vim / nano |
Editores de texto na linha de comando | |
vim file.sh |
Editar com Vim |
|
nano file.sh |
Editar com Nano |
📌 Diversos
Comando |
Exemplo |
Descrição |
|---|---|---|
cal |
Mostrar um calendário | |
cal 2025 |
Mostrar calendário de um ano |
|
cal 08 2025 |
Mostrar um mês específico |
|
date |
Mostrar ou definir data e hora do sistema | |
date +%T |
Imprimir hora atual (HH:MM:SS) |
|
date -d "next friday" |
Imprimir data de um dia relativo |
|
factor |
Fatorizar inteiros | |
factor 100 |
Fatorizar um número |
|
man |
Formatar e mostrar páginas de manual online | |
man tar |
Abrir uma página man |
|
man -k copy |
Pesquisar manuais por palavra-chave |
|
man 5 passwd |
Abrir uma secção específica do manual |
|
seq |
Imprimir sequências de números | |
seq 1 5 |
Contar de 1 a 5 |
|
seq 1 2 9 |
Contar com passo |
|
seq -s ',' 1 5 |
Juntar números com separador personalizado |
|
yes |
Imprimir uma string repetidamente até ser interrompido | |
yes | rm -r dir |
Confirmar automaticamente uma remoção recursiva |
📚 Recursos adicionais
📘 man pages - manuais detalhados para comandos:
man ls
man rm📙 TLDR - exemplos concisos de uso de comandos populares:
🧠 Dica: Instale tldr para ajuda em estilo de guia rápido:
sudo apt install tldr # ou: npm install -g tldr
tldr tar # exemplo de um breve resumo do comando tar🌐 Links úteis
Linux man pages online — páginas de manual oficiais, pesquisáveis por comando:
https://man7.org/linux/man-pages/
Man pages simplificadas e da comunidade — páginas de ajuda com exemplos práticos:
https://tldr.sh/