La meva relació amb Linux

Vaig començar amb Linux perquè "els professionals d'IT el fan servir". Al principi em semblava intimidant. Ara és el que més faig servir. No sóc sysadmin sènior ni res semblant, però amb el temps he construït un conjunt de comandes que resolen el 90% de les meves tasques quotidianes.

Navegació i gestió de fitxers

# Veure on sóc i què hi ha
pwd
ls -lah          # Llistat detallat amb mides llegibles

# Moure't ràpid
cd -             # Tornar al directori anterior
cd ~             # Anar a home

# Cercar fitxers
locate nom.txt             # Requereix updatedb
find /ruta -name "*.log" -mtime -7   # Logs dels últims 7 dies

# Veure mida de directoris
du -sh */        # Mida de cada subdirectori
df -h            # Espai lliure als discs

Veure i filtrar contingut

# Veure fitxers grans
less fitxer.log       # Navegar sense carregar tot a memòria
tail -f /var/log/syslog   # Veure logs en temps real

# Cercar dins de fitxers
grep -rn "error" /var/log/   # Cercar "error" recursivament amb número de línia
grep -i "failed" auth.log     # Case insensitive

# Combinar eines (pipes)
cat access.log | grep "404" | awk '{print $1}' | sort | uniq -c | sort -rn | head -20
# → Les 20 IPs amb més errors 404

Processos i recursos

# Veure què passa
htop          # Interactiu (instal·lar si no hi és)
ps aux | grep nginx   # Cercar procés específic

# Matar procés
kill -9 PID
pkill nom-procés

# Veure ports en escolta
ss -tulpn     # Més modern que netstat
netstat -tulpn

Xarxa

# Diagnòstic bàsic
ip addr show   # Veure IPs de les interfícies
ping -c 4 google.com
traceroute 8.8.8.8

# Descarregar fitxers
curl -O https://exemple.com/fitxer.zip
wget https://exemple.com/fitxer.zip

# Transferir fitxers entre màquines
scp fitxer.txt usuari@servidor:/ruta/destí/
rsync -avz --progress carpeta/ usuari@servidor:/ruta/

# Veure connexions actives
ss -s         # Resum estadístic

Gestió de serveis (systemd)

# El 80% del que faig amb systemctl
systemctl status nginx
systemctl start/stop/restart nginx
systemctl enable nginx    # Arrancar a l'inici
systemctl disable nginx

# Veure logs del servei
journalctl -u nginx -f    # -f per seguir en temps real
journalctl -u nginx --since "1 hour ago"

Permisos

# Veure i canviar permisos
ls -la
chmod 755 script.sh      # rwxr-xr-x
chmod 644 config.conf    # rw-r--r--
chown usuari:grup fitxer

# Executar com un altre usuari
sudo comanda
sudo -u www-data bash    # Obrir shell com www-data

Trucs que m'han estalviat temps

# Repetir l'última comanda amb sudo
sudo !!

# Cercar a l'historial de comandes
Ctrl+R   # Llavors escriu part de la comanda

# Executar alguna cosa en segon pla
nohup comanda &
screen -S nom-sessio   # O millor, usar tmux

# Veure què ocupa més espai
du -h / --max-depth=2 | sort -rh | head -20

# Comprimir i descomprimir
tar -czf fitxer.tar.gz carpeta/
tar -xzf fitxer.tar.gz

Àlies que tinc configurats

Al meu ~/.bashrc o ~/.zshrc:

alias ll='ls -lah'
alias ..='cd ..'
alias ports='ss -tulpn'
alias update='sudo apt update && sudo apt upgrade -y'
alias myip='curl -s ifconfig.me'
alias logs='journalctl -f'

Conclusió

Linux fa por al principi però amb el temps es converteix en l'eina més poderosa que tens. No cal memoritzar totes les comandes. N'hi ha prou amb familiaritzar-se amb les que fas servir cada dia i saber que pots trobar la resta amb man comanda o comanda --help.