Cómo usar su historial de Bash en la terminal Linux o macOS

El shell bash es el entorno de terminal estándar incluido con la mayoría de las distribuciones de Linux, incluido con macOS y disponible para su instalación en Windows 10. Recuerda los comandos que escribe y los almacena en un archivo de historial. Probablemente conozcas algunos conceptos básicos de la historia de la fiesta, pero es mucho más poderoso de lo que crees.

Métodos abreviados de teclado

Para desplazarse por su historial de bash, puede usar algunos de los muchos atajos de teclado útiles de bash. Presione estos accesos directos y los comandos que ha utilizado anteriormente aparecerán en el símbolo del sistema.

  • Flecha arriba o Ctrl+P: Vaya al comando anterior de su historial. Presione la tecla varias veces para retroceder a través de los comandos que ha utilizado.
  • Flecha abajo o Ctrl+N: Vaya al siguiente comando de su historial. Presiona la tecla varias veces para avanzar a través de los comandos que has usado.
  • Alt+R: Revierta cualquier cambio en un comando que haya extraído de su historial si lo ha editado en la línea actual.

Bash también tiene un modo especial de “recuperación” que puede usar para buscar comandos que haya ejecutado anteriormente, en lugar de desplazarse por ellos uno por uno.

  • Ctrl+R: Recuerda el último comando que coincide con los caracteres que proporcionas. Presione este acceso directo y comience a escribir para buscar un comando en su historial de bash.
  • Ctrl+O: Ejecute el comando que encontró con Ctrl+R.
  • Ctrl+G: Salga del modo de búsqueda del historial sin ejecutar un comando.

Ver el historial de Bash

Puede imprimir todo su historial de bash en la pantalla ejecutando un solo comando:

history

Verás una lista de todos los comandos en tu historial de bash, junto con un número a la izquierda de cada uno. El comando con un “1” al lado es el comando más antiguo en su historial de bash, mientras que el comando con el número más alto es el más reciente.

Puede hacer lo que quiera con la salida. Por ejemplo, podría canalizarlo al greppara buscar en el historial de comandos.

history | grep your_search

También puede canalizarlo al tail para ver solo un pequeño número de los comandos recientes que ha ejecutado. Por ejemplo, el siguiente comando mostraría las últimas 5 entradas de su historial.

history | tail -5

Ejecutar comandos desde el historial

Bash puede “expandir” rápidamente los comandos anteriores, o expandirlos y modificarlos. Esta característica se conoce como “expansión de la historia” y utiliza un signo de exclamación, conocido como “bang”. Simplemente escoséelos en el símbolo del sistema y presione Entrar para ejecutarlos como si ejecutara cualquier otro comando.

Para ejecutar un comando específico de su historial por su número, use el siguiente comando:

!#

Por ejemplo, supongamos que desea ejecutar el comando 12 desde su historial de bash. Ese es el comando con un “12” a la izquierda cuando ejecutas el history mandar. Escribiría el siguiente comando.

!12

Para volver a ejecutar el último comando que ejecutó, escriba lo siguiente. Esto tiene el mismo efecto que presionar la flecha hacia arriba una vez para ver el comando anterior y luego presionar Entrar.

!!

También puede hacer referencia a un comando un cierto número de líneas hacia atrás. Por ejemplo !-2 ejecutaría el penúltimo comando que ejecutó. !! significa lo mismo que !-1 .

Esta expansión funciona en cualquier lugar de la línea. Puedes añadir lo que quieras antes o después !! o cualquiera de las otras expresiones de esta sección. Por ejemplo, puede escribir el siguiente comando para volver a ejecutar el último comando que ejecutó sudo, dándole privilegios de raíz. Esto es particularmente útil si olvida agregar sudo antes de ejecutar un comando.

sudo !!

O, por ejemplo, puede volver a ejecutar el comando anterior y canalizar su salida a grep para buscar texto.

!! | grep text

Para buscar un comando en el historial y ejecutarlo, escriba lo siguiente. Esto ejecutará el último comando que coincida con el texto que especifique:

!text

Por lo tanto, si recientemente ejecutó un comando que comenzó con ping, puede ejecutar el siguiente comando para buscarlo. Esto buscará hacia atrás a través de su historial, localice el comando más reciente que comienza con “pi“, e inmediatamente ejecutarlo:

!pi

Puede anexar un :p a cualquiera de las expansiones anteriores y bash imprimirá el comando en el terminal sin ejecutarlo. Esto es útil si desea confirmar que está seleccionando el comando correcto antes de ejecutarlo.

!12:p
!!:p
!text:p

Reutilizar argumentos de tu historial

Bash también le permite ejecutar un nuevo comando, pero usar argumentos de comandos anteriores en su historial. Esto puede ayudarle a reutilizar rápidamente argumentos largos o complicados sin tener que volver a escribirlos.

command !€

Por ejemplo, digamos you ejecutó el comando touch /home/chris/some_long_file_name_you_dont_want_to_type_again . Ahora desea ejecutar el comando nano /home/chris/some_long_file_name_you_dont_want_to_type_again. En lugar de escribir todo desde cero, podría ejecutar:

nano !€

El !€ haría que bash completara automáticamente el último argumento de su comando anterior.

Te puede ser útil:  Cómo habilitar o deshabilitar el modo de desarrollador en Discord

Esto solo completa el último argumento. Entonces, si corres ping google.com -c 4 y, a continuación, ejecutar ping !€ , esto simplemente se expandiría a “ping 4“.

Para solucionar esta situación, puede utilizar el siguiente truco para expandir el primer argumento de la línea, en lugar del último:

command !^

Entonces, si corriste ping google.com -c 4 y luego corrió ping !^ , bash expandiría esto a “ping google.com".

Para rellenar todos los argumentos utilizados en el comando anterior en lugar de un solo argumento, debe utilizar lo siguiente:

command !*

Entonces, si corriste ping !* en su lugar, bash completaría automáticamente todos los argumentos que utilizó en el comando anterior.

Puede usar el mismo truco que usa para ejecutar comandos de su historial para obtener argumentos de ellos. Simplemente use el siguiente formulario.

command !abc:#

Por ejemplo, ejecutamos el comando sudo hostname ubuntu anterior. Si ejecutamos el siguiente comando, bash buscará hacia atrás a través del historial para encontrar el último comando comenzando con las letras que escribamos y rellene el argumento que especifiquemos. Entonces, si corremos echo !su:2 , bash buscará de nuevo para encontrar el último comando que comienza con “su” y rellene su segundo argumento, que es “ubuntu“.

Otros trucos funcionan como cabría esperar. Por ejemplo, reemplazar el número con un asterisco, conocido como comodín, hace que bash rellene todos los argumentos del comando:

command !abc:*

Vuelva a ejecutar el comando anterior y modifíquelo

Bash también le permite volver a ejecutar el comando anterior y especificar algo que debe cambiarse. Esto puede ser útil para corregir un error tipográfico en un comando. Por ejemplo, el siguiente comando volverá a ejecutar el comando anterior, reemplazando el texto “abc” en él con el texto “xyz“.

^abc^xyz

Por ejemplo, si corriste accidentalmente ping gogle.com, a continuación, podría ejecutar ^gog^goog y bash ejecutaría el comando ping google.com en lugar de.

Dónde se almacena su historial y cómo borrarlo

El shell bash almacena el historial de comandos que ha ejecutado en el archivo de historial de su cuenta de usuario en ~ / .bash_history de forma predeterminada. Por ejemplo, si su nombre de usuario es bob, encontrará este archivo en /home/bob/.bash_history.

Debido a que su historial se almacena en un archivo, persiste entre sesiones. Puede ejecutar algunos comandos, cerrar sesión, volver al día siguiente, y esos comandos seguirán estando en su archivo de historial listos para ver y usar. Cada cuenta de usuario tiene su propio archivo de historial con un historial de comandos independiente.

Para borrar el historial de bash, puede ejecutar el siguiente comando. Esto borra el contenido del archivo de .bash_history de su cuenta de usuario:

history -c

Bash solo recuerda un número limitado de comandos de forma predeterminada, lo que evita que el archivo de historial crezca demasiado. El número de entradas del historial que bash recuerda está controlado por el HISTSIZEvariable. El valor predeterminado suele ser 500 o 1000 entradas. Puede ejecutar el siguiente comando para ver el tamaño del historial de bash en su sistema.

echo €HISTSIZE

Para establecer el historial en cero, ejecute el siguiente comando.

HISTSIZE=0

Para la sesión actual, bash no almacenará ninguna entrada del historial a menos que ejecute un comando como HISTSIZE=1000 para volver a establecerlo en un cierto número de entradas.

Cómo ignorar espacios y duplicados

Bash le permite ignorar las entradas del historial que comienzan con un espacio si establece el HISTCONTROLvariable a ignorespace.

HISTCONTROL=ignorespace

Escriba un espacio antes de un comando antes de ejecutarlo en el shell bash y el comando se ejecutará normalmente, pero no aparecerá en su historial si tiene esta variable habilitada. Esto le permite mantener su historial un poco más limpio, eligiendo ejecutar comandos sin que aparezcan en su historial.

Bash también le permite ignorar comandos duplicados que pueden saturar su historial. Para ello, establezca HISTCONTROL Para ignoredups.

HISTCONTROL=ignoredups

Para utilizar ambos, el ignorespace y ignoredups , establezca el HISTCONTROL variable a ignoreboth.

HISTCONTROL=ignoreboth

Tenga en cuenta que las variables bash que establezca solo persistirán durante la sesión actual. Deberá agregarlos al archivo .bashrc de su cuenta de usuario para que estos valores se establezcan automáticamente en cada sesión de bash que inicie, si lo prefiere.

El shell bash es una herramienta compleja con muchas más opciones que estas. Consulte el Historia de Bash Builtins y Expansión de la historia en el manual oficial de bash información más detallada y otros trucos avanzados que puedes usar.

¿Qué tan útil te resultó el artículo?

¡Haz click en una estrella para valorar!

Valoración media / 5. Votos totales:

¡No hay votos hasta ahora! Sé el primero en valorar este artículo.

Utilizamos cookies para personalizar el contenido y los anuncios, para ofrecer funciones de redes sociales y para analizar nuestro tráfico. También compartimos información sobre su uso de nuestro sitio con nuestros socios de redes sociales, publicidad y análisis. View more
Cookies settings
Aceptar
Política de privacidad y cookies
Privacy & Cookies policy
Cookie name Active
El presente Política de Privacidad establece los términos en que Alternativa.click usa y protege la información que es proporcionada por sus usuarios al momento de utilizar su sitio web. Esta compañía está comprometida con la seguridad de los datos de sus usuarios. Cuando le pedimos llenar los campos de información personal con la cual usted pueda ser identificado, lo hacemos asegurando que sólo se empleará de acuerdo con los términos de este documento. Sin embargo esta Política de Privacidad puede cambiar con el tiempo o ser actualizada por lo que le recomendamos y enfatizamos revisar continuamente esta página para asegurarse que está de acuerdo con dichos cambios.

Información que es recogida

Nuestro sitio web podrá recoger información personal por ejemplo: Nombre,  información de contacto como  su dirección de correo electrónica e información demográfica. Así mismo cuando sea necesario podrá ser requerida información específica para procesar algún pedido o realizar una entrega o facturación.

Uso de la información recogida

Nuestro sitio web emplea la información con el fin de proporcionar el mejor servicio posible, particularmente para mantener un registro de usuarios, de pedidos en caso que aplique, y mejorar nuestros productos y servicios.  Es posible que sean enviados correos electrónicos periódicamente a través de nuestro sitio con ofertas especiales, nuevos productos y otra información publicitaria que consideremos relevante para usted o que pueda brindarle algún beneficio, estos correos electrónicos serán enviados a la dirección que usted proporcione y podrán ser cancelados en cualquier momento. Alternativa.click está altamente comprometido para cumplir con el compromiso de mantener su información segura. Usamos los sistemas más avanzados y los actualizamos constantemente para asegurarnos que no exista ningún acceso no autorizado.

Cookies

Una cookie se refiere a un fichero que es enviado con la finalidad de solicitar permiso para almacenarse en su ordenador, al aceptar dicho fichero se crea y la cookie sirve entonces para tener información respecto al tráfico web, y también facilita las futuras visitas a una web recurrente. Otra función que tienen las cookies es que con ellas las web pueden reconocerte individualmente y por tanto brindarte el mejor servicio personalizado de su web. Nuestro sitio web emplea las cookies para poder identificar las páginas que son visitadas y su frecuencia. Esta información es empleada únicamente para análisis estadístico y después la información se elimina de forma permanente. Usted puede eliminar las cookies en cualquier momento desde su ordenador. Sin embargo las cookies ayudan a proporcionar un mejor servicio de los sitios web, estás no dan acceso a información de su ordenador ni de usted, a menos de que usted así lo quiera y la proporcione directamente. Usted puede aceptar o negar el uso de cookies, sin embargo la mayoría de navegadores aceptan cookies automáticamente pues sirve para tener un mejor servicio web. También usted puede cambiar la configuración de su ordenador para declinar las cookies. Si se declinan es posible que no pueda utilizar algunos de nuestros servicios.

Enlaces a Terceros

Este sitio web pudiera contener en laces a otros sitios que pudieran ser de su interés. Una vez que usted de clic en estos enlaces y abandone nuestra página, ya no tenemos control sobre al sitio al que es redirigido y por lo tanto no somos responsables de los términos o privacidad ni de la protección de sus datos en esos otros sitios terceros. Dichos sitios están sujetos a sus propias políticas de privacidad por lo cual es recomendable que los consulte para confirmar que usted está de acuerdo con estas. Control de su información personal En cualquier momento usted puede restringir la recopilación o el uso de la información personal que es proporcionada a nuestro sitio web.  Cada vez que se le solicite rellenar un formulario, como el de alta de usuario, puede marcar o desmarcar la opción de recibir información por correo electrónico.  En caso de que haya marcado la opción de recibir nuestro boletín o publicidad usted puede cancelarla en cualquier momento. Esta compañía no venderá, cederá ni distribuirá la información personal que es recopilada sin su consentimiento, salvo que sea requerido por un juez con un orden judicial. Alternativa.click Se reserva el derecho de cambiar los términos de la presente Política de Privacidad en cualquier momento.
Save settings
Cookies settings