aprender_linux
Linux para principiantes

Aprender Linux no consiste en memorizar cientos de comandos, sino en dominar tareas reales. Un usuario básico sabe abrir una terminal, copiar archivos o instalar programas. Un usuario profesional, en cambio, entiende permisos, usuarios, servicios, logs, red, actualizaciones, seguridad, backups y diagnóstico de fallos.

La propia documentación de Ubuntu recuerda que Linux es un sistema multiusuario y que comprender usuarios, grupos y permisos es esencial para trabajar de forma segura. También explica que /var/log almacena registros útiles para diagnosticar problemas, mientras que la documentación de Ubuntu Server incluye áreas completas sobre terminal, paquetes, seguridad, OpenSSH, firewall y administración del sistema.

Idea central: si dominas estas 25 tareas, dejarás de usar Linux “por intuición” y empezarás a administrarlo con método profesional.

1. Orientarte en la terminal

El primer paso es perder el miedo a la terminal. Debes saber en qué directorio estás, qué archivos existen, cómo moverte y cómo volver a tu carpeta personal.

Comandos básicos de orientación
pwd
ls
ls -la
cd /etc
cd ~
clear

2. Entender la estructura de directorios

Un usuario profesional sabe qué guarda Linux en /etc, /home, /var, /usr, /tmp, /opt y /root. Esto evita errores graves al borrar, mover o modificar archivos del sistema.

Directorio Uso principal
/etc Configuración del sistema y servicios.
/home Carpetas personales de usuarios.
/var Logs, cachés, colas, bases variables y datos de servicios.
/usr Programas, librerías y documentación.
/tmp Archivos temporales.

3. Crear, copiar, mover y eliminar archivos

Esta tarea parece básica, pero es fundamental. Todo administrador Linux debe manejar archivos sin depender del entorno gráfico.

Operaciones con archivos
mkdir laboratorio
cd laboratorio
touch notas.txt
cp notas.txt copia-notas.txt
mv copia-notas.txt respaldo-notas.txt
rm respaldo-notas.txt

4. Leer archivos de texto y configuraciones

Linux se administra mucho desde archivos de texto. Por eso debes saber leer configuraciones, revisar logs y comparar contenido.

Visualizar archivos
cat archivo.txt
less archivo.txt
head archivo.txt
tail archivo.txt
tail -f /var/log/syslog

5. Editar archivos desde consola

Un usuario profesional debe poder editar configuraciones aunque no tenga entorno gráfico. Para empezar, nano es suficiente. Luego puedes aprender vim.

Editar un archivo
nano notas.txt
sudo nano /etc/hosts

Consejo: antes de modificar un archivo crítico, crea una copia: sudo cp archivo archivo.bak.

6. Buscar archivos y contenido

GNU Findutils documenta herramientas como find, locate y xargs para localizar archivos según criterios y ejecutar acciones sobre ellos. Esto es indispensable para auditorías, limpieza y diagnóstico.

Buscar archivos y texto
find /etc -name "*.conf" 2>/dev/null
grep -R "PermitRootLogin" /etc/ssh
grep -i "error" archivo.log

7. Comprender permisos: chmod, chown y grupos

Los permisos son una frontera básica de seguridad en Linux. Debes entender lectura, escritura y ejecución para propietario, grupo y otros usuarios.

Permisos básicos
ls -l
chmod 640 archivo.txt
chmod +x script.sh
sudo chown usuario:grupo archivo.txt

8. Administrar usuarios y grupos

Ubuntu Server explica que la gestión de usuarios y grupos locales en Ubuntu y otras distribuciones Debian se realiza de forma similar a otros sistemas GNU/Linux, y recomienda herramientas como adduser para administración de cuentas. También advierte que bloquear la contraseña de un usuario no impide necesariamente el acceso remoto si ya tiene autenticación SSH por llave pública configurada.

Usuarios y grupos
id
whoami
groups
sudo adduser alumno
sudo usermod -aG sudo alumno
sudo passwd -l alumno

9. Usar sudo con responsabilidad

sudo permite ejecutar tareas administrativas sin iniciar sesión directamente como root. La documentación de Ubuntu para principiantes advierte que root puede modificar o eliminar cualquier archivo del sistema y que Ubuntu reduce riesgos promoviendo el uso de sudo.

Uso básico de sudo
sudo apt update
sudo systemctl restart ssh
sudo visudo

10. Instalar, actualizar y eliminar paquetes

En Ubuntu y Debian, el método recomendado para instalar paquetes .deb es APT. La documentación de Ubuntu Server indica que apt permite instalar paquetes, actualizar paquetes existentes, actualizar el índice de paquetes y actualizar el sistema.

Paquetes con APT
sudo apt update
sudo apt upgrade
sudo apt install nginx
sudo apt remove nginx
apt search editor

11. Conocer el estado del sistema

Antes de solucionar un problema, debes saber qué sistema tienes, cuánto disco queda, cuánta memoria se consume y qué dispositivos están conectados.

Diagnóstico básico del sistema
hostnamectl
uname -r
uptime
free -h
df -h
lsblk
lscpu

12. Ver procesos y consumo de recursos

Un profesional Linux debe identificar procesos que consumen demasiada CPU, memoria o disco. También debe saber detener un proceso problemático con cuidado.

Procesos y recursos
ps aux
top
htop
pgrep nginx
kill PID
kill -9 PID

13. Administrar servicios con systemctl

Red Hat documenta el uso de systemctl para gestionar servicios con systemd, incluyendo iniciar, detener, habilitar y revisar unidades del sistema. Debian también mantiene documentación sobre systemd como gestor de sistema y servicios.

Servicios con systemctl
systemctl status ssh
sudo systemctl restart ssh
sudo systemctl enable nginx
sudo systemctl disable nginx
systemctl --failed

14. Revisar logs con journalctl

Red Hat explica que journald es un componente de systemd para gestionar logs y que su formato estructurado e indexado mejora la búsqueda y almacena metadatos como marcas de tiempo o IDs de usuario. La documentación de journalctl permite consultar logs de servicios, sistema y kernel.

Logs con journalctl
journalctl -xe
journalctl -u ssh
journalctl -u nginx --since "1 hour ago"
journalctl -p err -b

15. Diagnosticar red básica

Todo usuario profesional debe saber verificar IP, rutas, DNS, puertos abiertos y conectividad. Esto permite resolver problemas comunes de servidores, VPS, estaciones y servicios web.

Comandos de red
ip addr
ip route
ping -c 4 8.8.8.8
ping -c 4 google.com
ss -tulpn
curl -I https://example.com

16. Conectarte por SSH de forma segura

Ubuntu Server documenta OpenSSH como implementación común de SSH en Ubuntu y recomienda revisar permisos de authorized_keys; Linux Foundation también describe SSH como base del acceso remoto seguro.

SSH básico
ssh usuario@servidor
ssh-keygen -t ed25519 -C "usuario@equipo"
ssh-copy-id usuario@servidor
ssh usuario@servidor "hostnamectl"

17. Configurar un firewall básico

Ubuntu documenta ufw como herramienta predeterminada para firewall en Ubuntu. Su uso permite abrir o bloquear puertos de forma sencilla, aunque siempre debe configurarse con cuidado para no perder acceso remoto.

Firewall con ufw
sudo ufw status
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose

18. Hacer copias de seguridad simples

Un usuario profesional no espera a perder datos para aprender backups. tar permite agrupar archivos en un archivo comprimido, mientras rsync es una herramienta rápida y versátil para copiar archivos local o remotamente.

Backups básicos
tar -czvf respaldo-home.tar.gz /home/usuario/documentos
rsync -avh /home/usuario/documentos/ /backup/documentos/
rsync -avh --delete /origen/ /destino/

19. Comprimir y descomprimir archivos

Comprimir archivos es útil para respaldos, transferencia, despliegues y administración diaria.

Compresión habitual
tar -czvf proyecto.tar.gz proyecto/
tar -xzvf proyecto.tar.gz
zip -r proyecto.zip proyecto/
unzip proyecto.zip

20. Programar tareas automáticas

La automatización separa al usuario básico del administrador. Puedes usar cron para tareas simples y luego avanzar hacia systemd timers.

Programar una tarea con cron
crontab -e

# Ejecutar un script todos los días a las 2:00 a. m.

0 2 * * * /home/usuario/backup.sh

21. Crear scripts básicos en Bash

Un script permite repetir tareas sin escribir comandos manualmente cada vez. Empieza con scripts simples: respaldos, limpieza, revisión de servicios o reportes.

Script básico
nano estado-servidor.sh
Contenido del script
#!/bin/bash
echo "Fecha: $(date)"
echo "Servidor: $(hostname)"
echo "Uso de disco:"
df -h
echo "Memoria:"
free -h
Ejecutar el script
chmod +x estado-servidor.sh
./estado-servidor.sh

22. Montar discos y revisar particiones

Debes saber identificar discos, particiones, sistemas de archivos y puntos de montaje. Esta tarea es clave para servidores, backups, discos externos y recuperación.

Discos y montajes
lsblk -f
blkid
df -h
mount
sudo mount /dev/sdb1 /mnt
sudo umount /mnt

Precaución: no edites /etc/fstab ni formatees discos sin entender qué partición estás tocando. Un error puede dejar el sistema sin arrancar o provocar pérdida de datos.

23. Aplicar actualizaciones de seguridad

Ubuntu documenta que unattended-upgrades se incluye por defecto desde Ubuntu 18.04 LTS para aplicar actualizaciones de seguridad automáticamente. Aun así, el administrador debe saber revisar, actualizar y reiniciar cuando sea necesario.

Actualizaciones de seguridad
sudo apt update
apt list --upgradable
sudo apt upgrade
test -f /var/run/reboot-required && cat /var/run/reboot-required

24. Monitorear el sistema de forma básica

Monitorear no significa instalar una plataforma compleja desde el primer día. Primero aprende a revisar CPU, RAM, disco, servicios fallidos, puertos y logs.

Checklist de monitoreo manual
uptime
free -h
df -h
systemctl --failed
journalctl -p err -b
ss -tulpn

25. Diagnosticar fallos con método

La última tarea es la más importante: aprender a resolver problemas sin improvisar. Un profesional no ejecuta comandos al azar; observa síntomas, recopila evidencia, identifica cambios recientes, revisa logs, prueba hipótesis y documenta la solución.

  1. ¿Qué dejó de funcionar?
  2. ¿Desde cuándo ocurre?
  3. ¿Qué cambió antes del fallo?
  4. ¿Hay errores en journalctl?
  5. ¿Hay servicios fallidos en systemctl --failed?
  6. ¿Hay disco lleno, memoria agotada o puertos ocupados?
  7. ¿La red responde por IP y por nombre DNS?
  8. ¿Se puede revertir el último cambio?

Ruta práctica de 30 días para aprender Linux

Periodo Objetivo Práctica
Días 1–7 Terminal y archivos. Moverte por directorios, crear carpetas, editar textos y buscar archivos.
Días 8–14 Permisos, usuarios y paquetes. Crear usuarios, cambiar permisos, instalar y actualizar software.
Días 15–21 Servicios, logs y red. Administrar servicios, leer journalctl, diagnosticar IP, DNS y puertos.
Días 22–30 Seguridad, backups y automatización. Configurar SSH, firewall, copias de seguridad, scripts y tareas programadas.

Errores comunes de principiantes

  • Copiar comandos de Internet sin entenderlos.
  • Usar sudo para todo.
  • Modificar archivos críticos sin copia de seguridad.
  • No leer los mensajes de error.
  • No revisar logs cuando un servicio falla.
  • Instalar paquetes desde fuentes no confiables.
  • No actualizar el sistema.
  • Desactivar firewall o seguridad para “probar rápido”.
  • No practicar recuperación de backups.
  • Creer que aprender Linux es solo memorizar comandos.

Preguntas clave


¿Cuánto tiempo toma aprender Linux?

En 30 días puedes dominar las bases prácticas si trabajas todos los días. Para administrar servidores con seguridad, necesitas varios meses de práctica real.

¿Qué distribución conviene para empezar?

Ubuntu, Linux Mint, Debian o Fedora son buenas opciones. Para servidores, Ubuntu Server y Debian son excelentes puntos de partida por documentación, comunidad y estabilidad.

¿Debo aprender todos los comandos?

No. Debes aprender tareas: instalar paquetes, revisar servicios, leer logs, diagnosticar red, configurar permisos, hacer backups y resolver fallos.

¿Qué debo practicar primero?

Terminal, archivos, permisos, usuarios, apt, systemctl, journalctl, red básica, SSH, firewall y backups.

¿Cuándo puedo decir que pasé de básico a profesional?

Cuando puedas instalar un servidor, protegerlo, actualizarlo, revisar logs, resolver fallos, automatizar tareas y restaurar datos sin depender de instrucciones copiadas.

Recomendamos

En resumen

Linux se aprende practicando tareas reales. Si quieres pasar de usuario básico a profesional, domina terminal, archivos, permisos, usuarios, paquetes, servicios, logs, red, SSH, firewall, backups, scripts y diagnóstico.

El objetivo no es parecer experto por usar comandos complejos, sino administrar sistemas con seguridad, orden y criterio. Cuando sabes leer errores, revisar logs, proteger accesos, automatizar tareas y restaurar información, Linux deja de ser difícil y se convierte en una herramienta profesional poderosa.

Conclusión editorial

El mejor camino para aprender Linux es construir una rutina práctica: todos los días una tarea, todos los días un comando, todos los días un pequeño problema resuelto. En pocas semanas puedes pasar de usar Linux como principiante a pensar como administrador.

  

Fuente: somoslibres