Tutorial sobre Linux



Aqui vai um tutorial completo e bem organizado sobre comandos do Linux, do básico ao avançado, pensado para quem quer usar no dia a dia, estudar ou trabalhar com TI (servidores, programação, redes, etc.).


🐧 TUTORIAL COMPLETO DE COMANDOS LINUX

(Guia prático do iniciante ao avançado)

📌 1. Conceitos básicos

  • Linux é case-sensitive (Arquivo ≠ arquivo)
  • Tudo é tratado como arquivo
  • Diretórios começam em / (raiz)
  • Comandos seguem o padrão:
comando -opções argumentos

Exemplo:

ls -la /home

📁 2. Navegação entre diretórios

Comando Função
pwd Mostra o diretório atual
ls Lista arquivos
ls -l Lista detalhada
ls -a Mostra arquivos ocultos
cd pasta Entra na pasta
cd .. Volta um nível
cd / Vai para a raiz
cd ~ Vai para home do usuário

📂 3. Manipulação de arquivos e pastas

Criar

touch arquivo.txt
mkdir pasta
mkdir -p pasta/subpasta

Copiar

cp arquivo.txt destino/
cp -r pasta destino/

Mover / Renomear

mv arquivo.txt novo_nome.txt
mv arquivo.txt pasta/

Remover ⚠️

rm arquivo.txt
rm -r pasta
rm -rf pasta   # força (cuidado!)

📄 4. Visualizar conteúdo de arquivos

Comando Uso
cat arquivo.txt Mostra tudo
less arquivo.txt Visualização paginada
more arquivo.txt Similar ao less
head arquivo.txt Primeiras linhas
tail arquivo.txt Últimas linhas
tail -f log.txt Monitorar em tempo real

✏️ 5. Editores de texto no terminal

Nano (simples)

nano arquivo.txt
  • Salvar: CTRL + O
  • Sair: CTRL + X

Vim (avançado)

vim arquivo.txt
  • Inserir: i
  • Salvar e sair: :wq
  • Sair sem salvar: :q!

🔐 6. Permissões e usuários

Ver permissões

ls -l

Exemplo:

-rwxr-xr--

Alterar permissões

chmod 755 arquivo
chmod +x script.sh

Dono do arquivo

chown usuario:grupo arquivo

👤 7. Usuários e grupos

whoami
id
adduser usuario
passwd usuario
deluser usuario

Trocar de usuário:

su
su usuario

⚙️ 8. Processos e sistema

Comando Função
top Monitor em tempo real
htop Monitor avançado
ps aux Lista processos
kill PID Mata processo
kill -9 PID Força encerramento
uptime Tempo ligado
free -h Uso de memória
df -h Espaço em disco

📦 9. Gerenciamento de pacotes

Debian / Ubuntu

apt update
apt upgrade
apt install pacote
apt remove pacote

Red Hat / CentOS

dnf install pacote
yum install pacote

Arch

pacman -S pacote

🌐 10. Rede e internet

ip a
ip route
ping google.com
ifconfig
netstat -tuln
ss -tuln
curl site.com
wget arquivo

🔍 11. Busca de arquivos e texto

Buscar arquivos

find / -name arquivo.txt

Buscar texto dentro de arquivos

grep "texto" arquivo.txt
grep -r "texto" /diretorio

🔄 12. Redirecionamento e pipes

comando > arquivo.txt      # sobrescreve
comando >> arquivo.txt     # adiciona
comando1 | comando2        # pipe

Exemplo:

ps aux | grep apache

🕒 13. Agendamento (cron)

Editar tarefas:

crontab -e

Exemplo:

0 2 * * * /backup.sh

👉 Executa todo dia às 02h


📜 14. Shell Script (básico)

Criar script:

nano script.sh

Conteúdo:

#!/bin/bash
echo "Olá Linux!"

Executar:

chmod +x script.sh
./script.sh

🧠 15. Comandos avançados

awk '{print $1}' arquivo
sed 's/erro/correto/g' arquivo
xargs
watch comando

🛠️ 16. Estrutura de diretórios Linux

Diretório Função
/ Raiz
/home Usuários
/etc Configurações
/var Logs
/bin Comandos básicos
/usr Aplicações
/tmp Temporários

🚀 17. Dicas profissionais

✔ Use TAB para autocompletar
✔ Use history para ver comandos anteriores
✔ Use man comando para ajuda
✔ Aprenda bash scripting
✔ Use tmux/screen para servidores


📚 Próximos passos (se quiser)

Posso te ajudar com:

  • ✔️ Linux para servidores

Boa 😄 então vamos direto ao que interessa: Linux para servidores, do jeito que é usado em produção de verdade (web, banco, cloud, segurança).

Vou organizar em camadas, pra você entender o porquê de cada comando, não só decorar.


🐧 LINUX PARA SERVIDORES

Guia completo – prática profissional

🎯 O que um servidor Linux faz?

Normalmente ele:

  • Hospeda sites e APIs
  • Roda banco de dados
  • Controla usuários e permissões
  • Trabalha sem interface gráfica
  • Prioriza segurança, estabilidade e desempenho

🖥️ 1. Distros mais usadas em servidores

Distro Quando usar
Ubuntu Server LTS Cloud, Docker, fácil
Debian Estável, produção
Rocky Linux / AlmaLinux Substituto do CentOS
RHEL Corporativo
Amazon Linux AWS

👉 Recomendação geral: Ubuntu Server LTS ou Debian


🔐 2. Acesso remoto (SSH) – essencial

Conectar ao servidor

ssh usuario@ip_do_servidor

Porta personalizada (mais seguro)

ssh -p 2222 usuario@ip

Arquivo de configuração SSH

nano /etc/ssh/sshd_config

Boas práticas:

PermitRootLogin no
PasswordAuthentication no

Reiniciar serviço:

systemctl restart ssh

👤 3. Usuários e permissões (segurança básica)

Criar usuário:

adduser deploy

Dar permissão sudo:

usermod -aG sudo deploy

Trocar usuário:

su - deploy

🔥 4. Firewall (UFW – simples e eficaz)

ufw allow ssh
ufw allow 80
ufw allow 443
ufw enable
ufw status

👉 Regra de ouro: abra só o que for usar


⚙️ 5. Serviços e systemd

Ver status:

systemctl status nginx

Iniciar / parar:

systemctl start nginx
systemctl stop nginx

Ativar no boot:

systemctl enable nginx

Logs:

journalctl -u nginx
journalctl -f

🌐 6. Servidor Web (Nginx – padrão atual)

Instalar:

apt update
apt install nginx -y

Configuração:

cd /etc/nginx/sites-available
nano site.conf

Exemplo:

server {
  listen 80;
  server_name site.com;
  root /var/www/site;
  index index.html;
}

Ativar:

ln -s /etc/nginx/sites-available/site.conf /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

🛢️ 7. Banco de dados (exemplo MySQL)

apt install mysql-server -y
mysql_secure_installation

Acessar:

mysql -u root -p

Criar banco:

CREATE DATABASE app;
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'senha';
GRANT ALL PRIVILEGES ON app.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;

📦 8. Deploy de aplicações (ex: Node, Java, PHP)

Node.js

apt install nodejs npm
npm install
pm2 start app.js
pm2 startup

Java

apt install openjdk-17-jdk
java -jar app.jar

PHP

apt install php-fpm

📊 9. Monitoramento e performance

htop
free -h
df -h
iostat
vmstat

Logs importantes:

/var/log/syslog
/var/log/auth.log

🛡️ 10. Segurança avançada

Fail2Ban

apt install fail2ban
systemctl enable fail2ban

Atualizações automáticas

apt install unattended-upgrades

Chaves SSH

ssh-keygen
ssh-copy-id usuario@ip

🧩 11. Containers (padrão atual)

Docker

apt install docker.io
docker run nginx

Docker Compose

apt install docker-compose

💾 12. Backup e automação

Backup simples:

rsync -av /dados /backup

Cron:

crontab -e

Exemplo:

0 1 * * * /backup.sh

☁️ 13. Linux em Cloud (AWS / Azure / GCP)

Você vai usar:

  • SSH
  • Firewall
  • Systemd
  • Docker
  • Logs
  • Monitoramento

👉 É Linux puro, só muda o painel.


🧠 14. Mentalidade de administrador Linux

✔ Nunca logar como root
✔ Sempre backup antes
✔ Atualizações frequentes
✔ Logs são seus melhores amigos
✔ Segurança > conveniência