Noticias
Velocidades más rápidas: ancho de banda para vStack Los servidores en Kazajstán aumentaron a 200 Mbps
BS
Abril 14 2025
Actualizado el 14 de abril de 2025

Hoja de trucos de Bash

Linux

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="User" # no spaces around '='
echo $name # output: User

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

export EDITOR=nano # set default editor

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:

sleep 30 & # run in background

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 # find PID by name
ps aux | grep ssh # search via filter

Redirección de E / S

Flujos de datos de control:

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

Operadores clave:

  • — sobrescribir un archivo:
  • ls > files.txt # save file list
  • >> — añadir a un archivo;
    2> — redirigir errores a un archivo:
  • grep "text" nofile.txt 2> errors.log

    — salida de tubería entre comandos:

  • cat logs.txt | grep "ERROR" | sort

Redirección combinada:

  • script.sh &> output.log # combine stdout + stderr

Sustituciones (Expansión de parámetros)

Manipulación de cuerdas:

  • Eliminar parte de una cadena:
    • file="/home/user/doc.txt"
      echo ${file##*/} # doc.txt (like `basename`)
  • Reemplazar texto:
    • str="hello world"
      echo ${str// /_} # hello_world

Generación de listas:

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

Aritmética:

echo $((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' # add to ~/.bashrc

Uso del historial:

history|grep "git"# find all "git" commands

Corrección rápida:

^old^new # replace "old" with "new" in last command
Votar:
5 de 5
Calificación promedio: 5
Calificado por: 1
1101 CT Ámsterdam Países Bajos, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300

También le podría interesar...

Utilizamos cookies para hacer que su experiencia en el Serverspace mejor. Al continuar navegando en nuestro sitio web, usted acepta nuestros
Uso de Cookies e Política de privacidad.