14.04.2025

Hoja de trucos de Bash

La pregunta "¿Qué es Bash?" se abordó en el artículo ¿Qué es Linux Bash y ¿cómo utilizarlo?En esta guía, profundizaremos en Bash, explorando sus características, capacidades y funcionalidades clave.

Bash (Bourne-Again SHell) Es la consola de comandos predeterminada para sistemas tipo Unix, que combina potencia de automatización, gestión flexible de procesos y facilidad de scripting. Esta guía de referencia cubre aspectos clave del trabajo con Bash: comandos básicos de navegación y gestión de archivos, redirección de E/S, variables, bucles, condiciones y consejos de productividad (alias, autocompletado, historial de comandos). El material es adecuado tanto para principiantes que aprenden a usar la terminal como para usuarios experimentados que buscan una referencia rápida para las tareas diarias, desde la administración de servidores hasta la automatización de rutinas.

Bash es una herramienta extremadamente versátil capaz de realizar numerosas funciones. A continuación, se muestra una tabla de comandos esenciales de Bash, clasificados por caso de uso:

Hoja de trucos de comandos Bash por categoría

  1. Ejecución de comandos y programas
    • Función:
      • Ejecutar programas, utilidades y scripts.
    • Comandos/construcciones:
      • ls, grep, mkdir, cd, chmod, ./script.sh, bash.
  2. Automatización y secuencias de comandos
    • Función:
      • Crear y ejecutar scripts, condiciones y bucles.
    • Comandos/construcciones:
      • si, para, mientras, función, caso, salida, prueba.
  3. Variables y manejo de datos
    • Función:
      • Crear variables, operaciones aritméticas y de cadenas.
    • Comandos/construcciones:
      • var=valor, exportar, desarmar, ${var}, $((expresión)).
  4. Gestión de procesos y señales
    1. Función:
      1. Gestionar procesos y señales.
    2. Comandos/construcciones:
      1. & (fondo), matar, killall, trabajos, fg, bg, Ctrl+C (SIGINT), Ctrl+Z (SIGTSTP).
  5. Redirección de E/S y canalizaciones
    • Función:
      • Controlar flujos de datos.
    • Comandos/construcciones:
      • >, >>, 2>, &>, |.
  6. Gestión del sistema de archivos y globbing
    • Función:
      • Navegación, operaciones con archivos, coincidencia de patrones.
    • Comandos/construcciones:
      • cp, mv, rm, *, ?, [], {}.
  7. Interacción y conveniencia del usuario
    • Función:
      • Historial, autocompletado, alias.
    • Comandos/construcciones:
      • historial, !!, !n, Tab, alias, hombre, --ayuda.
  8. Expansión avanzada
    • Función:
      • Generar secuencias y patrones.
    • Comandos/construcciones:
      • {}, ~, $().

Símbolos/Operadores: >, >>, |, &, *, ?, [], {}, ~ — no son comandos pero se usan ampliamente en Bash para el control de datos y procesos.
Combinaciones de teclas: Ctrl+C, Ctrl+Z, Tab — atajos para el control de procesos y autocompletado.
Construcciones de scripts: si, para, mientras, función — elementos de sintaxis para escribir scripts.

Para conocer métodos de creación de scripts detallados, consulte Linux Conceptos básicos de bash. Guía de secuencias de comandos, y las explicaciones de los comandos se pueden encontrar en Batalla Linux Hoja de referencia de comandosA continuación, nos centraremos en variables y entorno, gestión de procesos, redirección de E/S, historial de comandos, alias, sustituciones y teclas de acceso rápido.

Variables y entorno

Las variables locales almacenan datos de la sesión actual:

name="Usuario" # sin espacios alrededor de '='
echo $name # salida: Usuario

Exportar variables para que estén disponibles para los procesos secundarios (por ejemplo, scripts):

export EDITOR=nano # establecer el editor predeterminado

Variables especiales:

$? — código de salida del último comando (0 = éxito);
$$ — PID del proceso actual;
$ RUTA — rutas de búsqueda de ejecutables.

Sustituciones por flexibilidad:

${var:-default} — devuelve el valor predeterminado si var no está configurado;
${str// /_} — reemplaza todos los espacios con guiones bajos.

Consejo: Configure las variables de entorno en ~ / .bashrc Persistir a lo largo de las sesiones.

Gestión de proceso

Modo de fondo: agregue & para ejecutar un comando en segundo plano:

dormir 30 y # ejecutar en segundo plano

Pausa/reanudar:
Ctrl + Z — pausar un proceso;
fg — reanudar en primer plano, bg — continuar en segundo plano.
Terminar procesos:
Ctrl + C — terminación elegante (SIGINT);
matar -9 PID — terminación forzada (SIGKILL).

Encontrar un PID de proceso:

pgrep firefox # buscar PID por nombre
ps auxiliar | grep ssh # buscar mediante filtro

Redirección de E / S

Flujos de datos de control:

stdin (entrada), stdout (salida), stderr (errores).

Operadores clave:

Redirección combinada:

Sustituciones (Expansión de parámetros)

Manipulación de cuerdas:

Generación de listas:

echo archivo.{txt,log} # archivo.txt archivo.log

Aritmética:

eco $((10 / 2)) # 5

Teclas de acceso rápido

Edición de comandos:

Ctrl+A / Ctrl+E — saltar al inicio/final de la línea;

Ctrl+W / Alt+D — eliminar palabra izquierda/derecha;

Ctrl + T — intercambiar personajes.

Historial de comandos:

Ctrl + R — historial de búsqueda;

!! — repetir el último comando;

!$ — utiliza el último argumento del comando anterior.

Autocompletado:

Pestaña — autocompletar nombre de archivo/comando;

Doble pestaña — mostrar todas las opciones.

Consejos importantes

Alias ​​para comandos frecuentes:

alias ll='ls -alh' # agregar a ~/.bashrc

Uso del historial:

historial|grep "git"# buscar todos los comandos "git"

Corrección rápida:

^old^new # reemplaza "old" con "new" en el último comando