Puedo usar el history
comando en CentOS para obtener una lista de los comandos ingresados anteriormente, sin embargo, si hago algo como:, el !372
historial intentará ejecutar el comando al que se hace referencia.
Necesito que el comando de ejecución anterior aparezca en el cursor actual. Aquí hay un ejemplo:
[dev@home ~]$ previous_command_no_execute!372
!372
y se expandirá por usted.Puede usar Ctrlry luego escribir algunos caracteres del comando original, por ejemplo
escribí arriba
Ctrl-r /etc
y saqué elsudo /etc/init.d/apache2 restart
comando de la historiafuente
history | grep 372
debería funcionar, ¿verdad?Editar:
Además, podría hacer algo como
echo !372 > /dev/clip
colocar el directorio de comandos en su portapapeles.fuente
MDMarra dio la manera fácil (
history|grep
y copie / pegue usando su entorno de escritorio, suponiendo que tenga uno). Proporcionaré lo que llamo de la manera difícil, que funciona si no tiene un entorno de escritorio o un mouse.Asumiendo que estás ejecutando bash como tu shell:
$ set -o vi
$ ESC372k
(ahora tendrá el comando que ejecutó hace 372 comandos, en línea, y estará en
vi
modo de comando estilo. Edite como lo haría si estuviera usandoex
/vi
)fuente
vi
edición para editar el estilo. Se debe trabajar tan pronto como ustedset -o vi
, y debería funcionar para toda su historia (el modo de edición es sólo una interfaz para la historia de comandos de la shell y otras cosas).La forma más simple y rápida de hacer lo que quieres es ejecutar:
seguido de Entery↑
fuente
¿Estás en un sistema de escritorio o servidor?
En mi sistema de escritorio Kubuntu con el shell abierto, admite el resaltado con el mouse. Por lo general, solo resalto el texto con el mouse y hago clic en el botón central del mouse para pegarlo. ¿Funcionaría para usted?
Entonces puedes buscar el comando. Resalta el texto. Pégalo con el botón central del mouse, luego edítalo.
Puede haber una mejor manera, pero esto funciona para mí.
fuente
no hay ningún comando para pegar automáticamente, pero puede recuperar cualquier comando en un editor para editarlo antes de ejecutarlo. esto puede lograr lo que está buscando, pero al salir del comando se ejecutará, por lo que si desea abortar, debe borrar el búfer de edición antes de salir de su editor.
fc -e vi 372 372
fuente