Shell y Entorno en Linux

La shell es la interfaz principal para interactuar con Linux. Como sysadmin, dominar la shell es imprescindible para administrar sistemas de manera rápida y eficiente.


¿Qué es la shell?

  • Es un programa que interpreta comandos
  • Permite ejecutar programas, scripts y herramientas
  • Las más comunes: bash, zsh, sh
echo "Hola mundo"

  • pwd → muestra directorio actual
  • ls → lista archivos y directorios
  • cd → cambiar directorio
  • grep → búsqueda
  • tree → vista jerárquica
  • find → búsqueda avanzada
cd /var/log
ls -lh
tree /etc

Archivos importantes de configuración

Archivo Función
~/.bashrc Configuración de shell interactiva
~/.profile Configuración de sesión
/etc/profile Configuración global de todos los usuarios
~/.bash_history Historial de comandos

Variables de entorno

Variables que afectan comportamiento del shell y programas:

  • PATH → rutas de búsqueda de comandos
  • HOME → directorio del usuario
  • USER → nombre del usuario
  • SHELL → shell por defecto
echo $PATH
export MYVAR="test"
echo $MYVAR

Para persistencia, agregarlas a ~/.bashrc o ~/.profile


Alias

Permite acortar o personalizar comandos:

alias ll="ls -lh"
alias gs="git status"

Se agregan a ~/.bashrc para persistir


Historia de comandos

  • history → lista de comandos ejecutados
  • !n → ejecutar comando número n
  • !! → ejecutar último comando
  • Ctrl + R → búsqueda inversa
history
!42

Redirecciones y Pipes (repaso práctico)

  • Salida estándar → >
  • Añadir → >>
  • Error → 2>
  • Pipes → |
cat archivo.txt | grep "ERROR" > errores.txt

Comandos útiles para sysadmin

  • whoami → usuario actual
  • id → UID, GID, grupos
  • env → variables de entorno
  • printenv → mostrar variables
  • type <comando> → tipo de comando (builtin, alias, archivo)

Ejercicios prácticos

Crear un alias permanente:

echo "alias ll='ls -lh'" >> ~/.bashrc
source ~/.bashrc

Crear y usar una variable de entorno temporal:

export SERVIDOR="db01"
echo $SERVIDOR

Buscar comandos en el PATH:

which python3

Errores comunes

  • Confundir archivos de configuración (.bashrc vs .profile)
  • No exportar variables → no disponibles para subprocesos
  • Usar alias sin persistencia → se pierden al reiniciar shell
  • Ignorar la historia → pérdida de comandos útiles

Resumen

  • La shell es tu herramienta principal para interactuar con Linux
  • Variables de entorno, aliases y archivos de configuración son esenciales
  • Dominar la historia y redirecciones mejora la productividad
  • Siempre prueba en un entorno seguro antes de scripts críticos

Siguiente paso

En el siguiente módulo entrarás en:

Variables de entorno: (variables.md)

Donde verás:

  • variables de entorno
  • scopes
  • export
  • persistencia avanzada