#Course

Linux

Linux es un sistema operativo de código abierto basado en Unix, creado por Linus Torvalds en 1991.

GIIA··8 min de lectura
Linux

Antes De Empezar

Linux es un sistema operativo de código abierto basado en Unix, creado por Linus Torvalds en 1991. Está compuesto por un núcleo (kernel) y múltiples distribuciones (como Ubuntu, Fedora o Debian). Se usa en servidores, supercomputadoras, Android y hasta dispositivos IoT. Su principal ventaja es la estabilidad, seguridad y personalización que ofrece frente a otros sistemas.

En otros sistemas operativos (como Windows o macOS) muchas cosas están limitadas o automatizadas, mientras que en Linux tú tienes el control total.

  • Si algo falla, puedes arreglarlo tú mismo sin depender de actualizaciones o licencias.

  • Si trabajas con servidores, redes o desarrollo, casi todo funciona mejor y más estable en Linux.

  • Si programas o administras sistemas, entender Linux te prepara para cualquier entorno profesional, ya que la mayoría de los servidores del mundo lo usan.

Antes de usar comandos, hay varias cosas básicas que hacen que Linux tenga sentido:

  • Todo en Linux es un archivo, incluso dispositivos (/dev/sda), configuraciones (/etc) y procesos virtuales (/proc).

  • El sistema de archivos es jerárquico, parte desde / (la raíz) y desde ahí baja: /home, /etc, /usr, /var, etc.

  • Los permisos funcionan con números:

    • r = 4, w = 2, x = 1.

      Ejemplo: 7 = 4+2+1 → lectura (4), escritura (2) y ejecución (1). Por eso 754 significa:

      • 7 → dueño: rwx

      • 5 → grupo: r-x

      • 4 → otros: r--

  • sudo significa “hazlo como administrador”. Sirve para ejecutar acciones que afectan el sistema (instalar, borrar, modificar configuraciones).

  • apt es el gestor de paquetes de Debian/Ubuntu, te permite instalar, actualizar o borrar programas.

  • nano es un editor de texto simple, útil para editar configuraciones sin depender de un entorno gráfico.

  • La terminal es una interfaz para controlar el sistema con comandos y muchos de ellos están diseñados para encadenarse entre sí usando pipes (|), redirecciones (>, >>).

  • Los usuarios y grupos determinan quién puede hacer qué, y por eso son importantes chmod, chown, etc.

Comencemos

Pequeña referencia práctica para moverte y trabajar en la terminal sin enredarte. Ideal si accedes por SSH o estás empezando en Linux.

Para moverte por el sistema de archivos necesitas ubicarte, listar y cambiar directorios.

ComandoDescripción
pwdMuestra la ruta actual (en qué carpeta estás)
lsLista los archivos y carpetas del directorio actual
ls -lLista con detalles (permisos, tamaño, fecha, etc.)
ls -aMuestra también los archivos ocultos
cd carpetaCambia de carpeta
cd ..Sube un nivel
cd ~Va al directorio del usuario (home)
clearLimpia la pantalla

Manejo de archivos y carpetas

Editar, crear, mover y eliminar archivos es básico para cualquier administración por terminal.

ComandoDescripción
touch archivo.txtCrea un archivo vacío
mkdir nueva_carpetaCrea una carpeta
cp origen destinoCopia archivos o carpetas
mv origen destinoMueve o renombra archivos
rm archivo.txtElimina un archivo
rm -r carpetaElimina una carpeta y su contenido
cat archivo.txtMuestra el contenido del archivo
nano archivo.txtEdita un archivo en la terminal (editor simple)
head archivo.txtMuestra las primeras líneas
tail archivo.txtMuestra las últimas líneas

Tip útil: tail -f archivo.log muestra el contenido de un log en vivo.

Permisos y propietarios

Linux controla el acceso a través de usuarios, grupos y permisos. Recuerda: r=4, w=2, x=1.

ComandoDescripción
chmod 755 archivoCambia los permisos (lectura, escritura, ejecución)
chmod +x script.shDa permiso de ejecución al archivo.
chown usuario:grupo archivoCambia el propietario
ls -lPermite ver los permisos actuales

Estructura de un permiso: drwxr-xr-- → tipo + dueño + grupo + otros.

Información del sistema

Te permite ver cómo está el sistema, los recursos y qué está corriendo.

ComandoDescripción
whoamiMuestra tu nombre de usuario
hostnameMuestra el nombre del equipo
uname -aMuestra información del sistema
topMuestra procesos activos y consumo de CPU/RAM
df -hMuestra el espacio en disco disponible
free -hMuestra la memoria RAM usada y libre

También útil:

  • htop (si lo instalas), para ver procesos más bonito.

Paquetes y actualizaciones (Ubuntu/Debian)

apt administra paquetes del sistema (programas, librerías, herramientas).

ComandoDescripción
sudo apt updateActualiza la lista de paquetes disponibles
sudo apt upgradeInstala las actualizaciones disponibles
sudo apt install paqueteInstala un paquete
sudo apt remove paqueteDesinstala un paquete
apt search nombreBusca un paquete

Otros comandos útiles

ComandoDescripción
historyMuestra los últimos comandos usados
echo "texto"Muestra texto en pantalla
man comandoAbre el manual del comando
exitCierra la sesión actual
shutdown nowApaga el sistema
rebootReinicia el sistema

Consejos

  • Usa la tecla Tab para autocompletar comandos o rutas.

  • Usa las flechas ↑ y ↓ para repetir comandos anteriores.

  • Siempre ten cuidado con sudo y con rm -r.

  • Si un comando no funciona, prueba a anteponer sudo.

  • man comando siempre explica mejor que internet.

  • Piensa antes de usar sudo No ejecutes cosas “porque sí”. Si no sabes qué hace un comando, revisa man o busca antes.

  • Evita usar rm -r en rutas incompletas Un espacio mal puesto y puedes borrar medio sistema. Tip: antes de ejecutar, usa ls carpeta_que_vas_a_borrar para confirmar.

  • No trabajes como root si no es necesario Un error pequeño siendo root puede romper el sistema completo.

  • Usa rutas absolutas cuando estés haciendo tareas delicadas Evita depender del “donde estás parado”.

  • Documenta cambios que hagas en /etc Aunque sea con un comentario al inicio del archivo o un archivo .backup.

  • No instales paquetes a lo loco Mantén el sistema limpio. Paquetes innecesarios = más cosas que pueden romperse.

  • Actualiza, pero no compulsivamente apt update && apt upgrade está bien… pero no lo hagas 100 veces al día ni en sistemas críticos sin revisar qué se actualiza.

  • Usa grep, tail, journalctl y logs para diagnosticar Adivinar es perder tiempo. Los logs casi siempre tienen la respuesta.

  • Haz scripts simples, modulares y comentados Te vas a agradecer a ti mismo después.

  • Usa permisos mínimos necesarios Nada de darle 777 a todo “para que funcione”. Muchas veces el problema no es de permisos, sino de rutas o usuarios.

  • Aprende a usar tab y el historial Acelera tu trabajo y evita que cometas un error escribiendo rutas largas.

  • Mantén tu estructura ordenada Carpetas con nombres claros, archivos en lugares consistentes, y sin dejar basura tirada.

  • Haz respaldos antes de editar archivos importantes Ejemplo: cp /etc/archivo.conf /etc/archivo.conf.bak

  • No aceptes comandos que alguien te manda sin leerlos Especialmente si incluyen pipes con sh, curl, wget, o cosas raras.

  • Usar sudo sin entender qué hace el comando Es la forma más rápida de romper el sistema. sudo rm -r / es chiste clásico… pero pasa más seguido de lo que crees.

  • Trabajar como root todo el tiempo Si eres root, cualquier error es fatal: puedes borrar, sobrescribir o romper servicios sin que el sistema te advierta.

  • Dar permisos 777 “para que funcione” Esto deja el archivo o carpeta completamente expuesto. Si algo requiere 777, el problema está en otro lado.

  • Editar archivos de configuración sin respaldo Si metes la pata, no tendrás cómo volver atrás.

  • Ignorar los logs Muchos novatos intentan adivinar por qué algo falla. Los logs casi siempre te dicen exactamente qué pasó.

  • Copiar comandos de internet sin leerlos Peor aún si vienen con pipes a sh, scripts descargados o rutas raras.

  • Usar rutas relativas para operaciones peligrosas Si estás en la carpeta equivocada… adiós archivos.

  • Llenar el sistema de paquetes innecesarios Más paquetes → más actualizaciones → más dependencias → más problemas.

  • Olvidar cerrar procesos o sesiones SSH Crea conflictos, procesos zombis, y a veces incluso bloqueos.

  • Instalar versiones aleatorias desde internet Especialmente cosas tipo .sh sospechosos o paquetes que no son del repositorio oficial.

  • Trabajar sin revisar qué servicios están corriendo Modificar configuraciones mientras un servicio corre puede causar errores que después son difíciles de rastrear.

  • Desconocer el usuario real que ejecuta algo Muchos servicios corren bajo usuarios como www-data, postgres, etc. Y si cambias permisos sin entender eso, rompes apps sin querer.

  • Borrar carpetas o archivos generados por el sistema “porque no los entiendes” Especialmente en /var, /usr, /etc y /lib.

Extras

Enlaces extra y documentación oficial de linux y muchos servicios relacionados.

Kernel y sistema

Distribuciones

Gestores de paquetes

Manuales y documentación general

Administración y servidores

Autores

GIIA
GIIA

GIIA