Además de ver el historial, ¿hay alguna forma de filtrar mi historial?
¿Decir que quiero buscar un comando que comenzó con "ssh"?
fuente
Además de ver el historial, ¿hay alguna forma de filtrar mi historial?
¿Decir que quiero buscar un comando que comenzó con "ssh"?
Presione Ctrl+ Ry escriba ssh
. Ctrl+ Rcomenzará la búsqueda desde el comando más reciente al anterior (búsqueda inversa). Si tiene más de un comando que comienza con ssh
, presione Ctrl+ Runa y otra vez hasta que encuentre la coincidencia.
Una vez que haya encontrado la coincidencia, puede presionar Enterpara ejecutar el comando o el cursor izquierdo / derecho para simplemente seleccionar el texto del comando.
No hay una opción inversa predeterminada para que Ctrl+ Rinvierta la dirección de la búsqueda, pero aquí encontrará algunas sugerencias al respecto.
Si solo quieres buscar en tu historial, puedes usarlo history | grep ssh
, sustituyendo ssh por lo que quieras buscar.
Hago una ligera variación de lo anterior, funciona bien para mí (si te refieres a tu historial de bash
En mi carpeta de inicio creo un archivo llamado
Adentro va esto
Nota: lo anterior ya no parece funcionar en 14.04, por lo que hace lo mismo:
Luego, escribiendo lo que desee de un comando anterior y usando los botones de página arriba / página dn busca el historial, siempre comenzando con la página arriba
fuente
Al presionar Ctrl+ Rse iniciará el modo "reverse-i-search", al escribir "ssh" se buscarán en el historial comandos que contengan "ssh".
fuente
Aquí hay otro método que usa comandos clásicos (es más probable que funcione en distribuciones). El historial de comandos se almacena en el archivo
.bash_history
en su directorio de inicio, por lo que puede hacer esto:No olvide la
-i
bandera si necesita una búsqueda que no distinga entre mayúsculas y minúsculas.fuente
history | grep ssh
mostrará solo la sesión temporal de ssh, así que buscaría esta respuesta.Encontré la siguiente función en algún lugar de Internet y la he usado con gran efecto. Pon esto en tu
~/.bashrc
:Ahora volver a cargar su shell:
exec bash
. Ahora tiene un nuevo comando, que puede usar así:Le mostrará una lista de comandos coincidentes de su historial. Para ejecutar un comando, escriba
!
seguido del número de comando. Aquí hay un ejemplo:Este enfoque me gusta más que Ctrl+ Rporque permite búsquedas mucho más flexibles y puedo ver múltiples resultados a la vez.
fuente
Pon esto en tu
~/.bashrc
:ejemplo:
fuente
Si usa shell en Emacs (
M-x shell
) puede usarM-r
(es equivalente a Ctrl+ Ren un terminal ).fuente
El historial es bueno pero limitado: prefiero configurar mi entorno bash para registrar todos los comandos que he ejecutado, además del directorio en el que se ejecutaron. Luego ejecuto un comando para enumerar todos los comandos Me he ejecutado en el directorio actual, que puedo canalizar a grep, etc., se llama 'plato', vea:
https://github.com/wolfwoolford/dish
Si quieres ir al grano, solo busca esto en tu .bashrc ( https://github.com/wolfwoolford/dish/blob/master/dishrc )
También hay un comando realmente útil que obtienes de forma gratuita llamado 'dishg', o dish global, que imprime todos los comandos que se ejecutan, independientemente del directorio. Obviamente, este solo es útil cuando se usa con grep y tail, etc.
Lo he estado usando durante años y es, literalmente, lo primero que instalo cada vez que configuro una nueva caja. Registra los comandos que ejecuta en archivos de texto en un directorio oculto (~ / .dish). Nunca he tenido un problema con el espacio en disco ...
fuente
Quería escribir esto como un comentario para @ssmy pero no pude obtener el formato en el comentario para cooperar.
Después de buscar en el historial
history | grep ssh
, puede ejecutar el comando que desee escribiendo su número precedido por un signo de exclamación, por ejemplo!42
.Ejemplo:
fuente