Puede encontrar fácilmente la lista de comandos ejecutados recientemente en Linux usando history
comando, ¿verdad? Sí. Pero, ¿cómo saber la hora a la que se ejecutó el comando? Por supuesto, puede buscar en los archivos de registro. Sin embargo, hay una manera más fácil. Simplemente puede habilitar la marca de tiempo en el historial de Bash en Linux, por lo que es más fácil encontrar cuándo se ejecutó un comando específico en Linux.
Habilitar la marca de tiempo en el historial de Bash en Linux
Golpe mantiene un historial de los comandos que se han ingresado en la Terminal. Esta lista de comandos se guarda en un archivo llamado .bash_history
en nuestro directorio HOME. La mayoría de las distribuciones de Linux recuerdan los últimos 1000 comandos por defecto. Podemos recuperar los comandos ejecutados recientemente usando history
ceniza de comando que se muestra a continuación:
$ history
Salida de muestra:
Como puede ver en el resultado anterior, aunque el comando de historial muestra la lista de comandos ejecutados anteriormente, no mostró cuándo se ejecutaron esos comandos.
Para habilitar la marca de tiempo en el historial de Bash en Linux, debe configurar HISTTIMEFORMAT
Variable ambiental. Esta variable se utiliza para imprimir la marca de tiempo asociada con cada entrada del historial que se muestra.
Ejecute el siguiente comando para establecer el HISTTIMEFORMAT
variable de entorno:
$ export HISTTIMEFORMAT='%F %T '
Aquí, el %F
La opción se utiliza para mostrar la fecha en YYYY-MM-D
Formato D (Año-Mes-Fecha). Y el %T
La opción se usa para mostrar la hora en el formato HH:MM:SS
(Hora-Minutos-Segundos) formato.
Ahora, ejecuta el history
comando de nuevo, y verá la marca de tiempo antes de cada comando:
¡Perfecto! Ahora puede encontrar fácilmente cuándo se ejecuta un comando específico en su sistema Linux.
Si desea mostrar las marcas de tiempo de los últimos comandos "N", por ejemplo, 10
, canalice el history
salida de comando a tail
comando como a continuación:
$ history | tail -10
Tenga en cuenta que esto solo establecerá las marcas de tiempo para el nuevo history
entradas después de HISTTIMEFORMAT
la variable de entorno está configurada para las sesiones.
También puede personalizar el formato de fecha a su gusto como se muestra en el siguiente comando:
$ export HISTTIMEFORMAT='%d/%m/%y %T '
Esta variable de entorno muestra la fecha y la hora en el comando de historial en dd/mm/year formato ej. 27/11/20 19:11:55
.
Para hacer el HISTTIMEFORMAT
variable env persistente en los reinicios del sistema, edite el ~/.bashrc
archivo:
$ nano ~/.bashrc
Agregue la siguiente línea al final:
export HISTTIMEFORMAT='%F %T '
O,
export HISTTIMEFORMAT='%d/%m/%y %T '
Presiona CTRL+O
para guardar el archivo y presiona CTRL+X
para salir.
Ejecute el siguiente comando para que los cambios surtan efecto inmediatamente:
$ source ~/.bashrc
Esto solo mostrará la marca de tiempo para el usuario actual. Para habilitar la marca de tiempo del historial de Bash para todos los usuarios del sistema, edite /etc/profile
archivo:
$ sudo nano /etc/profile
y agregue esta línea:
export HISTTIMEFORMAT='%F %T '
O,
export HISTTIMEFORMAT='%d/%m/%y %T '
Guarde y cierre el archivo. Para hacer efectivos los cambios, ejecute:
$ sudo source /etc/profile
Para obtener más detalles, consulte las páginas man:
$ man bash
Ahora sabe mostrar la fecha y la hora en la salida del comando de historial en Linux. Como ya se indicó, si alguna vez desea verificar cuándo se ejecuta un comando, simplemente habilite la marca de tiempo en el comando bash history como se describe anteriormente.
¿Estás usando Pescado? o Zsh ¿cáscara? Consulte los siguientes tutoriales para aprender cómo habilitar la marca de tiempo en history
comando:
- Habilitar marca de tiempo para el comando Historial en Fish Shell
- Habilitar marca de tiempo para el comando de historial en Zsh en Linux
Espero que esto ayude.
Lectura relacionada:
- Cómo borrar el historial de la línea de comandos en Linux
- Cómo mostrar el historial de Bash sin números de línea
- Cómo evitar entradas duplicadas en el historial de Bash en Linux
- Encuentre el tiempo de ejecución de un comando o proceso en Linux