Conceptos clave de Linux

Este módulo cubre los conceptos esenciales y filosóficos de Linux, que todo administrador de sistemas debe dominar para trabajar de manera eficiente y segura.


Filosofía Linux / Unix

Linux hereda principios de Unix:

  1. Haz una cosa y hazla bien

  2. Cada herramienta tiene un propósito específico

  3. Se combinan con otras herramientas usando pipes

  4. Todo es un archivo

  5. Archivos, dispositivos, sockets, pipes → representados como archivos

  6. Composición mediante pipes y redirecciones

  7. Permite construir tareas complejas combinando programas simples

Ejemplo:

cat /var/log/syslog | grep error | sort | uniq

Streams (flujo de datos)

Linux trabaja con flujos de entrada/salida:

  • stdin → entrada estándar (teclado¿?)
  • stdout → salida estándar (pantalla¿?)
  • stderr → salida de errores (pantalla¿?)

Redirecciones

Salida estándar

ls > lista.txt   # Crea/Sobrescribe archivo
ls >> lista.txt  # Añade al archivo

Error estándar

ls /noexiste 2> error.txt

Mezcla de stdout y stderr

command > salida.txt 2>&1

Pipes (|)

Permite encadenar programas:

cat archivo.log | grep "ERROR" | sort | uniq
  • Salida de un comando → entrada del siguiente
  • Muy usado en scripting y debugging

Conceptos de procesos

  • PID → Process ID
  • PPID → Parent Process ID
  • Foreground / background
  • Señales:

  • SIGTERM → pedir cierre

  • SIGKILL → forzar cierre
  • SIGHUP → reiniciar servicio

Ejemplo de señal:

kill -SIGTERM 1234

Todo es un archivo

Tipos de archivos:

  • Regular (-) → archivos normales
  • Directorio (d) → contenedores
  • Link (l) → enlace simbólico
  • Device (c / b) → dispositivos de caracteres o bloques
  • Socket (s)
  • Pipe (p)

Permisos y seguridad

  • rwx → lectura, escritura, ejecución
  • chmod, chown, chgrp
  • SUID, SGID, sticky bit
  • Importante para redirecciones y scripts

Variables de entorno

Variables que afectan comportamiento del sistema y procesos:

  • PATH → dónde buscar binarios
  • HOME → directorio del usuario
  • USER → nombre del usuario
  • SHELL → shell por defecto
export NOMBRE=David
echo $NOMBRE

Herramientas básicas para introspección

  • file archivo → tipo de archivo
  • ls -l → permisos y enlaces
  • stat archivo → detalles del inode
  • lsof → archivos abiertos por procesos
  • ps aux → procesos en ejecución

Ejercicios prácticos

Redirecciona errores de un comando:

ls /noexiste 2> errores.txt

Encadena comandos con pipe:

cat /var/log/syslog | grep ssh | tail -n 10

Inspecciona tipo de archivo:

file /dev/null

Errores comunes de conceptos

  • Confundir stdout con stderr
  • Redireccionar sin entender el flujo
  • Usar pipes sin verificar contenido
  • No entender permisos de archivos y directorios

Resumen

  • Linux trabaja con streams y archivos
  • Todo es un archivo, incluidos dispositivos
  • Redirecciones y pipes son esenciales para productividad
  • Comprender procesos y señales es vital para troubleshooting
  • Variables de entorno afectan casi todo en Linux

Siguiente paso

En el siguiente módulo entrarás en:

Uso básico de la consola (para el día a día): (consola.md)

Donde verás: * comandos * alias * history * scripting