El comando de historial del sistema operativo Linux está completamente controlado

  

$ historial ... 62 rm 092210.sql 63 mysqldump 64 mysqldump -u root -p dev_gamenomad_com > 092210.sql 65 más 092210.sql 66 rm 092210.sql ... 9991 mkdir chapter05 9992 cd chapter05 9993 dir 9994 Npm install websocket-server 9995 node hello.js 9996 exit 9997 history

El número de secuencia asociado con cada comando tiene un propósito importante, ya que permite al usuario volver a ejecutar el comando relevante al proporcionar el número de secuencia seguido directamente por el signo de exclamación, como sigue :

$! 10000 sudo /etc/init.d/apache2 start * Inicio del servidor web apache2

Pero esto no es todo. Los comandos del historial de Linux pueden hacer más, y se mencionarán más adelante en este artículo.

Controlar las extensiones históricas

Al escribir la tecla de flecha hacia arriba se mostrará el comando ejecutado anteriormente, y al presionar la tecla Intro se ejecutará nuevamente el comando. Pero también puede usar otra opción que puede incluir extensiones de historial más rápidas:

$ !!

Si repite las diferentes permutaciones de los mismos dos o tres comandos, puede Seleccione para ejecutar el comando que aparece cuando aparece el comando anterior identificando su índice de desplazamiento negativo. Por ejemplo, para ejecutar el comando anterior del comando anterior (devolver dos comandos), use la siguiente secuencia:

$! -2

Otra forma de ejecutar un comando anterior es escribir el signo de exclamación seguido de El principio del número de serie del comando. Se ejecuta el primer comando que coincide con el objeto de carácter. Por ejemplo, supongamos que los últimos tres comandos son los siguientes:

$ history ... 9876 build-book /home /wjgilmore /easy_php 9877 mkdir chapter05 9878 cd chapter05 9879 touch chapter05.md

Puedes Ejecute nuevamente el script de secuencias de comandos ejecutando el siguiente comando:

$! B

Cree un nuevo directorio y navegación con un proceso de dos pasos para confirmar y acortar la extensión del historial. En este caso, creé un nuevo directorio llamado easy_bash en /home /wjgilmore /books. Para confirmar el directorio, use! $ Para obtener el último " character ":

$ mkdir /home /wjgilmore /books /easy_bash $ cd! $

Historial de comandos de búsqueda

Aunque puede desplazarse por el historial de comandos (o usar el comando grep), también puede llamar a un fragmento del comando después de haberlo buscado con Ctrl + R Open Select. La línea de comando para el indicador se verá así:

(reverse-i-search) `':

Comience a escribir un fragmento de comando, y la línea de comandos se actualizará en tiempo real para reflejar el más consistente. Después de ingresar apa, aparecerá un comando similar a este:

(reverse-i-search) `apa ': sudo /etc/init.d/apache2 start

Cuando vea que desea Comando, presione Enter para ejecutarlo, o presione la flecha hacia arriba para modificarlo antes de volver a ejecutar.

Ajustar los comportamientos históricos

Puede realizar muchos cambios de configuración interesantes para controlar cómo se comporta el historial de comandos. Por ejemplo, el tamaño del historial predeterminado establecido por el shell Bash es de 500 registros, y este límite se alcanza rápidamente, incluso con pequeñas interacciones de línea de comandos. Puede aumentar el límite configurando la variable HISTSIZE que se encuentra en el archivo de configuración de Bash (.bashrc, ubicado en el directorio de inicio).

HISTSIZE = 10000

A menudo encontrará otra variable relacionada con el historial en .bashrc llamada HISTCONTROL. Esta variable ayuda a especificar qué se almacena en el archivo histórico (ubicado en .bash_history, también en el directorio de inicio). Por ejemplo, puede repetir el comando tail mientras verifica los archivos adjuntos del archivo de registro más recientes, solo unos minutos después de ejecutar tail. No es práctico agrupar los archivos históricos repitiéndolos, configurándolos en ignorados para hacer que la variable HISTCONTROL ignore las líneas duplicadas.

HISTCONTROL = ignoredups

Otra configuración HISTCONTROL para una utilidad sospechosa es ignorar espacios. El resultado de esta configuración HISTCONTROL es que todos los comandos de ejecución precedidos por espacios se eliminan del archivo histórico. Esto parece ser contraproducente para no rastrear cada comando, pero si desea implementar esta función además de las acciones ignoradas, puede configurar ambas:

HISTCONTROL = ignoreboth

Una característica de la que hablar es el reemplazo de comandos. Supongamos que desea configurar rápidamente un grupo de hosts virtuales basados ​​en una plantilla de perfil de host virtual. Estas secuencias de comandos pueden ser muy largas, como se muestra a continuación:

$ cp vhost.template /etc/apache2/sites-available/dev.example.com $ cp vhost.template /etc /apache2 /sites- Disponible /forum.example.com $ cp vhost.template /etc/apache2/sites-available/staging.example.com

Por lo general, la forma en que ejecuta esta lista de comandos se escribe y ejecuta primero, luego se desplaza hacia arriba Elimine el fragmento final (dev.example.com), luego ingrese el siguiente fragmento (forum.example.com) y vuelva a ejecutar. Alternativamente, puede usar la sustitución de comandos para reemplazar rápidamente otra cadena relacionada con una cadena de una línea de la siguiente manera:

$ !!: s /dev /forum

La línea de comandos ha brindado muchos beneficios al usuario en la interfaz de apuntar y hacer clic, lo que permite que la ejecución de tareas y la navegación del sistema operativo se realicen de manera rápida y elegante. Maximizar el uso de los comandos del historial de Linux solo puede agregar estas características y aumentar la productividad para ir aún más lejos.

El contenido del comando de historial de Linux está totalmente controlado. Espero que el aprendizaje a través del historial de comandos de Linux pueda ayudarlo. ¿No sabes si lo aprendiste?

Copyright © Conocimiento de Windows All Rights Reserved