es.phhsnews.com


es.phhsnews.com / Cómo usar tu historial de Bash en el terminal Linux o macOS

Cómo usar tu historial de Bash en el 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 la instalación en Windows 10. Recuerda los comandos que escribe y los almacena en un archivo de historial. Probablemente conozcas algunos conceptos básicos del historial de bash, pero es mucho más poderoso de lo que crees.

Atajos de teclado

RELACIONADOS: Los mejores atajos de teclado para Bash (también conocido como Linux y macOS Terminal)

Para desplazarse por el 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 aviso.

  • Flecha arriba o Ctrl + P : vaya al comando anterior en su historial. Presione la tecla varias veces para retroceder en los comandos que ha usado.
  • Flecha hacia abajo o Ctrl + N : vaya al siguiente comando de su historial. Presiona la tecla varias veces para avanzar por los comandos que has usado.
  • Alt + R : revierte cualquier cambio a un comando que hayas sacado de tu historial si lo has editado en la línea actual.

Bash también tiene un modo de "recuperación" especial que puede usar para buscar los comandos que ha ejecutado previamente, en lugar de desplazarse por ellos uno por uno.

  • Ctrl + R : Recupere el último comando que coincida con personajes que proporcionas Presione este atajo y comience a escribir para buscar un comando en su historia de bash.
  • Ctrl + O : ejecute el comando que encontró con Ctrl + R.
  • Ctrl + G : abandone el modo de búsqueda de historial sin ejecutar un comando.

Ver su historial de bash

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

historial

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

RELACIONADO: Conviértete en usuario de la terminal Linux con estos 8 trucos

Puedes hacer lo que quieras con la salida. Por ejemplo, puede canalizarlo al comandogreppara buscar su historial de comandos.

historial | grep your_search

También puede canalizarlo al comandotailpara 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 en su historial.

historial | tail -5

Ejecutar Comandos desde su Historial

Bash puede "expandir" rápidamente comandos anteriores, o expandirlos y modificarlos. Esta característica se conoce como "expansión de historial" y utiliza un signo de exclamación, conocido como "explosión". Solo escríbalos en el indicador y presiona Enter para ejecutarlos como si hubieses ejecutado cualquier otro comando.

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

! #

For Por ejemplo, supongamos que quieres ejecutar el 12º comando desde tu historial de bash. Ese es el comando con un "12" a la izquierda cuando ejecuta el comandohistorial. Escriba 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 Enter.

!!

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

Esta expansión funciona en cualquier lugar de la línea. Puede agregar cualquier cosa que quiera antes o después de!!o cualquiera de las otras expresiones en esta sección. Por ejemplo, puede escribir el siguiente comando para volver a ejecutar el último comando que ejecutó a través desudo, dándole privilegios de administrador. Esto es particularmente útil si olvida agregarsudoantes de ejecutar un comando.

sudo !!

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

!! | grep text

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

! text

Entonces, si ejecutó recientemente un comando que comenzó conping, puede ejecutar el siguiente comando para buscarlo. Esto buscará hacia atrás a través de su historial, ubicará el comando más reciente que comience con "pi", y lo ejecutará inmediatamente:

! Pi

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

! 12: p
!!: p
! Texto: p

Reutilizar argumentos de su historial

Bash también te permite ejecutar un nuevo comando, pero usa argumentos de comandos previos en tu historial. Esto puede ayudarlo a reutilizar rápidamente argumentos largos o complicados sin tener que volver a escribirlos.

comando! $

Por ejemplo, digamos que ejecutó el comandotouch / home / chris / some_long_file_name_you_dont_want_to_type_again. Ahora desea ejecutar el comandonano / 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.

Esto solo completa el último argumento Entonces, si ejecutaping google.com -c 4y luego ejecutaping! $, esto simplemente se expandiría a "ping 4".

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

¡comando! ^

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

Para completar todos los argumentos utilizados en el comando anterior en lugar de simplemente un solo argumento, usaría lo siguiente: comando

*

Por lo tanto, si ejecutaraping! *, bash rellenaría automáticamente todos los argumentos que utilizó en el comando anterior .

Puedes usar el mismo truco que usas para ejecutar comandos desde tu historial para obtener argumentos de ellos. Solo usa el siguiente formulario.

command! Abc: #

Por ejemplo, ejecutamos el comandosudo nombre de host ubuntuanterior. Si ejecutamos el siguiente comando, bash buscará hacia atrás a través del historial para encontrar el último comando beginni ng con las letras que escribimos y completamos el argumento que especificamos. Entonces, si ejecutamosecho! Su: 2, bash buscará nuevamente para encontrar el último comando que comience con "su" y completará 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 complete todos los argumentos del comando:

command! Abc: *

Vuelva a ejecutar el comando anterior y modifíquelo

Bash también permite usted para 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" con el texto "xyz".

^ abc ^ xyz

Por ejemplo, si accidentalmente ejecutóping gogle.com, podría ejecutar^ gog ^ googy bash ejecutaría el comandoping google.com.

Dónde está almacenado 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 manera 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 separado.

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

history -c

Bash solo recuerda un número limitado de comandos de forma predeterminada, lo que impide que el archivo de historial crezca demasiado. Elcontrola el número de entradas de historial que bash recuerdaHISTSIZEvariable. El valor predeterminado es generalmente 500 o 1000 entradas. Puede ejecutar el siguiente comando para ver el tamaño del historial de bash en su sistema.

echo $ HISTSIZE

Para configurar su historial a cero, ejecute el siguiente comando.

HISTSIZE = 0

Para el sesión actual, bash no almacenará ninguna entrada de historial a menos que ejecute un comando comoHISTSIZE = 1000para volver a establecer 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 la variableHISTCONTROLenignorespace.

HISTCONTROL = ignorespace

Escriba un espacio antes de un comando antes de ejecutarlo en el bash shell y el comando se ejecutarán normalmente, pero no aparecerán en su historial si tiene habilitada esta variable. 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 los comandos duplicados que pueden saturar su historial. Para hacerlo, configureHISTCONTROLaignoredups.

HISTCONTROL = ignoredups

Para usar las funcionesignorespaceyignoredups, establezcaHISTCONTROLvariable aignoreboth.

HISTCONTROL = ignoreboth

Tenga en cuenta que las variables de bash que establezca solo se mantendrán para la sesión actual. Tendrá que 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 las secciones Bash History Builtins y History Expansion en el manual oficial de bash, información más detallada y otros trucos avanzados que puede usar.


Cómo cambiar la interfaz Color de fondo en Photoshop

Cómo cambiar la interfaz Color de fondo en Photoshop

Photoshop es el mejor editor de imágenes que existe, y está repleto de miles de pequeñas características que no sabía que necesitaba. Una de estas características es poder cambiar el color de fondo de la interfaz. A veces, cuando trabajas, querrás ver cómo se vería tu foto contra una pared blanca, o quizás necesitarás obtener más contraste alrededor de los bordes para que puedas hacer una selección más clara.

(how-top)

Cómo encender automáticamente las luces de tu porche cuando se pone oscuro usando Wink

Cómo encender automáticamente las luces de tu porche cuando se pone oscuro usando Wink

Si eres como yo y enciendes las luces de tu porche después de que se pone el sol, a veces es fácil olvidarlo para hacerlo todas las noches Sin embargo, si tiene un concentrador Wink y una bombilla inteligente o un interruptor inteligente, puede hacer que la luz de su porche se encienda y apague automáticamente según el horario de puesta y salida del sol.

(how-top)