GNU/Linux >> Tutoriales Linux >  >> Linux

El truco de la línea de comandos de la historia de Linux favorito de un administrador de sistemas

Como muchas personas que trabajan con máquinas Linux, prefiero usar la interfaz de línea de comandos cuando sea posible y tenga sentido. En algunos casos, es más fácil encontrar, inspeccionar y modificar algunas configuraciones con los dedos porque simplemente "saben" los comandos que necesita escribir y es más rápido que abrir una GUI y buscar la secuencia de menús que necesita. haga clic.

Claro, hay algunos casos en los que usar la GUI es más rápido y solo estás haciendo esa tarea una o dos veces, así que a quién le importa, ¿verdad? Pero si es algo que necesitará hacer varias veces, tal vez con algunas variaciones, su cerebro de administrador de sistemas reflexiona:"¿Puedo automatizar esto?" En muchos casos, la respuesta será sí, pero el esfuerzo de automatizar la tarea no vale la pena en otras situaciones.

[ También te puede interesar: truco del terminal de Linux:piratea el comando cd para recordar dónde has estado]

Si pudiera reutilizar los comandos recientes que escribí.

Historia

La opción más sencilla a la hora de recuperar los últimos comandos que escribiste en la consola de Linux es usar history . En este ejemplo, está trabajando con el servidor HTTP y está deteniendo repetidamente el servicio, editando el httpd.conf y luego reiniciar httpd para comprobar los resultados en el navegador.

El siguiente comando le mostrará los últimos 10 comandos utilizados:

❯ history | tail -10
10057  systemctl stopt httpd.service
10058  systemctl stop httpd.service
10059  sudo systemctl stop httpd.service
10060  sudo systemctl start httpd.service
10061  systemctl status httpd.service
10062  history
10063  systemctl status httpd.service
10064  ps -ef|grep httpd
10065  man httpd.conf
10066  view /etc/httpd/conf/httpd.conf

Desde allí, puede copiar y pegar la línea (si necesita editar el comando o usarlo en otra terminal) o escribir el signo de exclamación seguido de la secuencia del comando en el historial:

> !10061

Esta línea recuerda el comando systemctl status httpd.service desde el historial, y luego solo presiona ENTER (o edite el comando antes de volver a ejecutarlo).

Esto no está mal, pero aún necesita escribir la secuencia o copiar y pegar con el mouse. No es un enorme trato, pero desea concentrarse en su tarea principal.

Algunas buenas alternativas

Puede recuperar los comandos anteriores del historial usando el ARRIBA Tecla de flecha. Navegue por la lista usando ARRIBA y ABAJO llaves.

Este enfoque está bien, pero ¿qué sucede si desea recuperar algo que sabe que usó hace 15 minutos? Seguro que estará en la lista del historial, pero es posible que debas hacer algo de minería.

Por ejemplo, podría usar history , envía la salida a grep y enumere solo los comandos que coincidan con sus necesidades. En este ejemplo, muestro todos los comandos en history que incluyen el http cadena:

> history | grep http
10544* systemctl status httpd.service
10545* systemctl stopt httpd.service
10546* systemctl stop httpd.service
10547* sudo systemctl stop httpd.service
10548* sudo systemctl start httpd.service
10549* systemctl status httpd.service
10551* systemctl status httpd.service
10552* ps -ef|grep httpd
10553* man httpd.conf
10554* view /etc/httpd/conf/httpd.conf
10561* systemctl status httpd.service

Entonces, desde aquí, puede usar el signo de exclamación y el número de secuencia nuevamente. Por ejemplo:!10546

Pero puede pensar:"Esto está bien, pero mi conexión entre el cerebro y los dedos es tan rápida que no quiero distraerme. Lo sé exactamente el comando que estoy buscando."

De acuerdo, también hay una solución para eso.

Cuando tu cerebro y tus dedos saben lo que están buscando

Continuando con este ejemplo, desea recuperar comandos relacionados con httpd rápidamente.

La opción para ti es usar CTRL+R , que le pedirá una subcadena. Úsalo para recordar el último comando que escribiste que contiene esa cadena.

A medida que escribe la cadena de su comando, se mostrará el último comando que usó esa cadena. Si el comando es lo que está buscando, presione ENTER , y se ejecutará.

Si en este punto sigues presionando CTRL+R , el penúltimo Se mostrará el comando que contiene esa cadena de búsqueda, que en este ejemplo es view /etc/httpd/conf/httpd.conf comando.

Puede navegar hacia atrás (CTRL+R ) y adelante (CTRL+S ).

[ ¿Quiere poner a prueba sus habilidades de administrador de sistemas? Tome una evaluación de habilidades hoy. ] 

Resumir

Cuando sepa parte del comando que ejecutó recientemente, puede usar los accesos directos que se describen aquí para recuperarlo rápidamente. Esto puede ser especialmente útil si usó el comando hace mucho tiempo y todavía está en el historial del shell, pero sus dedos lo "recuerdan".

Obviamente, hay formas más eficientes de realizar tus tareas diarias que escribir:crear alias para los comandos que usas mucho, crear scripts, automatizar, etc. Pero cuando es necesario escribir, es mejor hacerlo de manera eficiente.


Linux
  1. 15 ejemplos para dominar la historia de la línea de comandos de Linux

  2. Servicio del sistema operativo Linux 'httpd'

  3. Ejemplos de comandos de servicio en Linux

  4. Ejemplos del comando chkconfig en Linux

  5. Ejemplos de comandos httpd en Linux

Comando Dif en Linux

Comando de historial en Linux con ejemplos

Domina la línea de comandos de Linux

Conceptos básicos de la línea de comandos de Linux:sudo

Comando de historial en Linux:ver el historial de terminales de Linux

Ejemplos de comandos systemd-analyze en Linux