GUIA LINUX
Ubuntu · Debian · CentOS · Arch
Nivel intermedio — comandos + explicaciones + tips
1. NAVEGACION Y ARCHIVOS
■ Moverse y listar
pwd # Muestra la ruta actual
ls # Lista archivos
ls -la # Lista con permisos, dueno, tamano
ls -lh # Tamanos en formato humano (KB, MB, GB)
cd /ruta/destino # Cambia de directorio
cd .. # Sube un nivel
cd ~ # Va al directorio home
cd - # Vuelve al directorio anterior
■ Crear, copiar, mover y eliminar
mkdir carpeta # Crea directorio
mkdir -p a/b/c # Crea directorios anidados
touch [Link] # Crea archivo vacio
cp origen destino # Copia archivo
cp -r carpeta/ destino/ # Copia carpeta completa
mv origen destino # Mueve o renombra
rm archivo # Elimina archivo
rm -rf carpeta/ # Elimina carpeta y contenido
rmdir carpeta # Elimina carpeta vacia
CUIDADO: rm -rf no tiene confirmacion ni papelera. Verifica bien la ruta antes de ejecutar.
■ Buscar archivos
find / -name '[Link]' # Busca por nombre en todo el sistema
find /home -name '*.log' # Busca todos los .log en /home
find / -size +500M # Archivos mayores a 500MB
find / -mtime -7 # Modificados en los ultimos 7 dias
locate [Link] # Busqueda rapida (usa base de datos)
updatedb # Actualiza la base de datos de locate
grep -r 'texto' /ruta/ # Busca texto dentro de archivos
grep -rn 'error' /var/log/ # Busca con numero de linea
2. PERMISOS Y USUARIOS
■ Entendiendo los permisos
Los permisos: -rwxr-xr-- donde r=leer(4), w=escribir(2), x=ejecutar(1). Orden: dueno | grupo | otros.
ls -la # Ver permisos
chmod 755 archivo # dueno=rwx, grupo=r-x, otros=r-x
chmod 644 archivo # dueno=rw-, grupo=r--, otros=r--
chmod +x [Link] # Agrega permiso de ejecucion
chmod -R 755 carpeta/ # Aplica permisos recursivamente
chown usuario archivo # Cambia dueno
chown usuario:grupo archivo # Cambia dueno y grupo
chown -R usuario:grupo carpeta/
Tip: 755 para directorios y ejecutables. 644 para archivos de texto. 600 para archivos privados como claves SSH.
■ Gestion de usuarios
whoami # Usuario actual
id # UID, GID y grupos
who # Usuarios conectados
last # Historial de logins
sudo adduser nuevo_usuario # Crea usuario (interactivo)
sudo passwd usuario # Cambia contrasena
sudo usermod -aG sudo usuario # Agrega al grupo sudo
sudo userdel -r usuario # Elimina usuario y su home
groups usuario # Grupos del usuario
sudo visudo # Edita sudoers de forma segura
3. GESTION DE PAQUETES
■ APT — Debian / Ubuntu
sudo apt update # Actualiza lista de paquetes
sudo apt upgrade # Instala actualizaciones
sudo apt full-upgrade # Actualiza cambiando dependencias si es necesario
sudo apt install paquete # Instala paquete
sudo apt remove paquete # Desinstala (conserva config)
sudo apt purge paquete # Desinstala + borra configuracion
sudo apt autoremove # Elimina paquetes huerfanos
apt search nombre # Busca paquete
apt show paquete # Info detallada
dpkg -l # Lista instalados
■ DNF/YUM — Fedora/CentOS | Pacman — Arch
# Fedora / CentOS
sudo dnf update
sudo dnf install paquete
sudo dnf remove paquete
sudo dnf search nombre
# Arch Linux / Manjaro
sudo pacman -Syu # Actualiza todo
sudo pacman -S paquete # Instala
sudo pacman -Rns paquete # Desinstala + dependencias huerfanas
pacman -Ss nombre # Busca
4. DISCOS Y SISTEMA DE ARCHIVOS
■ Ver informacion de discos
lsblk # Lista discos y particiones en arbol
lsblk -f # Incluye sistema de archivos y UUID
df -h # Espacio usado/libre en particiones
du -sh /ruta/ # Tamano de una carpeta
du -h --max-depth=1 / # Tamano de cada carpeta en /
sudo fdisk -l # Lista discos y particiones (detallado)
blkid # UUID y tipo de cada particion
■ Montar y desmontar
sudo mount /dev/sdb1 /mnt/disco # Monta particion
sudo umount /mnt/disco # Desmonta
# Montar automaticamente — editar /etc/fstab:
sudo nano /etc/fstab
# Agregar: UUID=xxxx /mnt/disco ext4 defaults 0 2
sudo mount -a # Monta todo lo definido en fstab
■ Formatear y reparar
sudo fdisk /dev/sdb # Particionar (interactivo)
sudo mkfs.ext4 /dev/sdb1 # Formatea en ext4
sudo [Link] /dev/sdb1 # Formatea en NTFS
sudo [Link] /dev/sdb1 # Formatea en FAT32
sudo fsck /dev/sdb1 # Verifica y repara sistema de archivos
sudo fsck -y /dev/sdb1 # Repara automaticamente
sudo smartctl -a /dev/sda # Informe SMART completo
sudo badblocks -v /dev/sdb # Escanea sectores malos
sudo dd if=/dev/sda of=/dev/sdb bs=4M status=progress # Clona disco
sudo dd if=/dev/zero of=/dev/sdb bs=1M status=progress # Borra disco
CUIDADO: Verifica con lsblk el nombre del disco antes de usar dd o mkfs. Un error puede borrar el disco del sistema.
5. REDES Y CONECTIVIDAD
■ Informacion y diagnostico
ip a # IPs e interfaces de red
ip r # Tabla de enrutamiento
hostname -I # Solo las IPs del equipo
curl [Link] # IP publica
ping -c 4 [Link] # Prueba Internet
traceroute [Link] # Ruta de paquetes
mtr [Link] # ping + traceroute en tiempo real
nslookup [Link] # Consulta DNS
dig [Link] # DNS detallado
ss -tulpn # Puertos abiertos y servicios
■ SSH — acceso remoto
ssh usuario@[Link] # Conectarse a servidor
ssh -p 2222 usuario@servidor # Puerto personalizado
ssh-keygen -t ed25519 # Genera par de claves SSH
ssh-copy-id usuario@servidor # Copia clave al servidor
scp [Link] usuario@servidor:/destino/ # Copia archivo
scp -r carpeta/ usuario@servidor:/destino/ # Copia carpeta
ssh -L 8080:localhost:80 usuario@servidor # Tunnel SSH
Tip: Configura auth por clave SSH y deshabilita login por contrasena en /etc/ssh/sshd_config para mayor seguridad.
6. SERVICIOS, PROCESOS Y LOGS
■ Systemctl
systemctl status servicio # Estado del servicio
systemctl start/stop/restart servicio
systemctl reload servicio # Recarga config sin reiniciar
systemctl enable/disable servicio # Habilita/deshabilita inicio automatico
systemctl list-units --type=service # Todos los servicios activos
systemctl --failed # Servicios con fallos
■ Procesos
top / htop # Monitor en tiempo real (htop: apt install htop)
ps aux # Lista todos los procesos
ps aux | grep nginx # Filtra por nombre
kill PID # Termina proceso por ID
kill -9 PID # Fuerza terminacion
killall nginx # Mata todos los nginx
nohup comando & # Ejecuta en background (sobrevive al logout)
jobs / fg %1 # Ver jobs / traer al frente
■ Logs
journalctl -xe # Logs recientes con contexto
journalctl -f # Sigue logs en tiempo real
journalctl -u nginx # Logs de un servicio
journalctl --since '1 hour ago' # Ultima hora
tail -f /var/log/syslog # Sigue log del sistema
grep -i error /var/log/syslog # Busca errores
dmesg | grep -i error # Errores del kernel
7. SCRIPTING BASH
Un script bash automatiza tareas repetitivas. Es la herramienta mas poderosa del administrador Linux.
■ Estructura basica
#!/bin/bash
# Comentario
NOMBRE='Ubuntu'
FECHA=$(date +%Y-%m-%d) # Guarda resultado de comando
echo "Hoy es $FECHA en $NOMBRE"
if [ -f /etc/passwd ]; then
echo 'El archivo existe'
else
echo 'No existe'
fi
for i in 1 2 3; do
echo "Numero: $i"
done
■ Script de backup automatico
#!/bin/bash
ORIGEN='/var/www/html'
DESTINO='/mnt/backup'
FECHA=$(date +%Y%m%d_%H%M)
tar -czf "$DESTINO/backup_$[Link]" "$ORIGEN"
echo "Backup: backup_$[Link]"
# Guardar como [Link]
# Dar permisos: chmod +x [Link]
# Ejecutar: ./[Link]
# Automatizar con cron — ejecutar cada dia a las 2am:
# crontab -e
# Agregar linea: 0 2 * * * /ruta/[Link]
Tip: Cron: minuto hora dia_mes mes dia_semana. El * significa cualquier valor. 0 2 * * * = a las 2am todos los dias.
Guia Linux — Nivel Intermedio · Creada con Claude · Verifica el disco con lsblk antes de formatear