Soy bastante adicto a bash y utilizo todas las características de bash para hacer mis cosas. Los siguientes puntos se basan en mi familiaridad con bash (excluyendo lo que se incluyó en otras respuestas).
– ! -N donde n es cualquier número entero ejecutará nth comando desde el último.
– ! Alguna vez se ejecutará el último comando ‘alguna vez’, por ejemplo. !encontrar
– !? Sometext ejecutará el último comando que contenga la cadena ‘Sometext’
- ¿Cuáles son los mejores consejos para una red profesional efectiva?
- Cómo ver quién visita mi sitio web.
- ¿Qué consejos le darías a un aspirante a comediante?
- ¿Cuáles son algunos de los mejores hacks de MS Excel?
- ¿Cuáles son los consejos clave para hacer crecer una empresa rápidamente?
– Use comentarios junto con los comandos para que su búsqueda de historial sea más intuitiva, por ejemplo. somecmd arg1 arg2… argN # propósito_de_cmd
La próxima vez, puede obtener el comando utilizando purpose_of_cmd para buscar a través de sus comandos.
– Para saber la fecha en que se usó su comando, puede usar export HISTTIMEFORMAT = ‘% F% T% t’.
Ahora, cuando ejecute el comando de historial, verá la hora del comando (útil para la auditoría)
– ! N ejecutará el enésimo comando de tu historial
Puedes usarlo en combinación con el comando de historial.
Ejemplo:
$ historia | más -3 1 ls 2 ecos "hola" 3 cal $! 3 California
– Ya veo menciones sobre HISTCONTROL en una respuesta y su comentario. Aparte de ellos, también puede usar HISTCONTROL = ignororedups (ignorar duplicados consecutivos) y HISTCONTROL = erasedups (ignorar / borrar duplicados al verificar el historial completo).
– historia -c borra toda la historia. Del mismo modo, la exportación HISTSIZE = 0 deshabilita el historial por completo.
– history -d offset eliminará la entrada del historial en el desplazamiento particular.
Ejemplo:
$ historia | más -3 1 ls 2 echo "mi contraseña: l0lftw" 3 cal $ historia -d 2
– ! ^ Obtiene el primer argumento del comando anterior.
Ejemplo:
$ ls / tmp / log /.dockercfg $ vim! ^ # eq. vim / tmp / log
– También puede obtener el argumento particular de cualquier comando específico.
Ejemplo:
$ ls / tmp / log /.dockercfg $ cat / etc / passwd $ vim! ls: 1 # eq. vim / tmp / log $ ls -liah! ls: 2 # eq. a ls -liah /.dockercfg
Un ejemplo más de tal designador:
$ echo "hello" "world" "de" "nepal" "por" "Samar" hola mundo desde nepal por samar $ echo !!: 1-4 echo "hola" "mundo" desde "" nepal " hola mundo desde nepal
– Puedes usar los modificadores para modificar el comportamiento de los designadores.
$ cat / tpm / a / tmp / b / tmp / c cat: / tpm / a: No existe tal archivo o directorio $! -1: gs / tpm / tmp / cat / tmp / a / tmp / b / tmp / c
Nota: vea el último consejo en esta respuesta para un tiempo más cómodo con los modificadores y designadores de palabras.
– Cambia tu archivo histórico con la variable de entorno HISTFILE.
– Use HISTIGNORE para ignorar ciertos comandos. También puede especificar patrones (por ejemplo, para comandos de un solo carácter). Punto de bonificación: apuesto a que puede lograr el mismo efecto que los valores de HISTCONTROL especificados en uno de los puntos anteriores.
Ejemplo:
HISTIGNORE="exit:clear:ls"
– Historia del hombre y historia de la ayuda . Desafortunadamente, la mayoría de nosotros olvidamos o subestimamos, pero la página de manual y la ayuda son muy útiles. Vale la pena comprobarlo.
Espero eso ayude.