A veces experimento que el tiempo no es correcto y es más antiguo, como si hubiera algún tipo de retraso. Pensé que podría usarlo para ver cuánto tiempo demoran ciertos comandos (gruñidos ...). ¿Como puede ser?
Kevin Simper
2
@ devav2: ¿Hay alguna forma de especificar la zona horaria?
Hippo
¿Hay alguna manera de que también pueda agregar una marca de tiempo al terminal cuando está usando root? Solo tengo la marca de tiempo cuando soy un usuario normal. Gracias
Yufenyuy Veyeh Dider
44
Para el datecomando, puede reemplazar +%H:%M:%Scon +%T.
snapfractalpop
55
Esto se atornilló con mi envoltura de terminal, por lo que en su lugar utilicé el enfoque detallado aquí . Simplemente agregue '\ D {% T}' a su PS1
Usar PROMPT_COMMAND me confunde el historial. Cuando aparece una línea más larga mientras recorre el historial, corta el final de la solicitud por la misma cantidad de caracteres que la marca de tiempo que se agregó al frente. p.ej
El enlace aquí es ideal para personalizar aún más los sellos.
cellepo
16
En lugar de agregar la fecha a la solicitud en sí, puede agregar la fecha justo antes de la solicitud colocando la siguiente línea en la parte superior de su .bashrc. Para que funcione también necesitará instalar cowsay. Es una forma divertida de mostrar la fecha manteniendo un breve aviso:
El punto de ponerlo en el indicador es saber cuándo fue la última vez que ejecutó un comando específico.
James Oltmans
6
Como no tengo suficientes puntos de reputación para agregar un comentario a la respuesta para mejorarlo. Parece que la única forma en que puedo agregar información es crear una segunda respuesta. Entonces, repetiré lo que se dijo como respuesta y construiré sobre eso.
Edite el archivo .bashrc para el usuario para el que desea modificar el sello de fecha.
Si ve "user @ host: ~ $" está en el directorio de inicio de su usuario actual. El archivo .bashrc es un archivo oculto ya que está prefijado con el punto ".". Para verlo en una lista, deberá usar una lista larga.
Puede usar "ls -a" y luego debería ver el archivo ".bashrc".
Edite el archivo con un editor de texto. Por ejemplo, "nano .bashrc", "vim .bashrc", "vi .bashrc", "pico .bashrc" o cualquier editor que desee utilizar.
Si desea escribir esto y planea agregarlo a muchos shells para muchos usuarios, puede ser beneficioso usar el comando "echo" junto con el operador ">>" anexar. Por ejemplo,
Si utiliza ese método, asegúrese de estar en el directorio de trabajo actual del usuario para el que desea modificarlo. Para verificar esto, puede usar el comando "pwd" o imprimir el directorio de trabajo.
Si no le gusta el espacio extra entre el corchete final "]" y el nombre de usuario, use esta expresión regular ligeramente modificada:
Debido a que el comando echo no está destinado a ser evaluado en el momento de la exportación, tiene más sentido usar comillas simples para comillas literales en lugar de comillas dobles. El uso de comillas simples para citar todo el comando le permite usar comillas dobles para citar el argumento del comando echo, eliminando la necesidad de escapar de caracteres especiales como , [y$
Los escapes se están utilizando para formatear (los corchetes). No veo lo que esto agrega a la respuesta aceptada.
Élder Geek
Puede agregarlos a 'echo -n "$ (fecha +% H:% M:% S)"' también: 'echo -n "[$ (fecha +% H:% M:% S)]"' sin necesitando escapar de ellos. La ventaja de usar una cadena como argumento para el comando echo es que ahora no necesita escapar de lo que de otro modo sería bash evaluable, lo que hace que sea más fácil de leer.
qwertyzw
@ElderGeek Agregué más aclaraciones. Espero que eso ayude.
qwertyzw
0
Creo que la forma correcta de proceder es ubicar en $HOME/.bashrclos códigos que establece PS1, comentarlos y agregar los personales. Este es mi bloque, por ejemplo:
Respuestas:
Agregue esta línea al
~/.bashrc
archivo:Entonces la salida será algo así como:
fuente
date
comando, puede reemplazar+%H:%M:%S
con+%T
.Mi solución fue usar http://bashrcgenerator.com/ para generar esta línea PS1 para poner en .bashrc:
Que se verá como
Usar PROMPT_COMMAND me confunde el historial. Cuando aparece una línea más larga mientras recorre el historial, corta el final de la solicitud por la misma cantidad de caracteres que la marca de tiempo que se agregó al frente. p.ej
Y esta línea no se puede editar porque no muestra los caracteres en el lugar correcto, ya que no está escribiendo donde parece que está escribiendo.
Supongo que podría hacerse con PROMPT_COMMAND, tal vez usando esa parte [$ (tput sgr0)], pero PS1 funciona.
fuente
En lugar de agregar la fecha a la solicitud en sí, puede agregar la fecha justo antes de la solicitud colocando la siguiente línea en la parte superior de su
.bashrc
. Para que funcione también necesitará instalarcowsay
. Es una forma divertida de mostrar la fecha manteniendo un breve aviso:En su forma actual, funcionará en el sistema de cualquier persona sin enmiendas, ya que lee
$USER
ladate
variable y la del entorno actual.fuente
Como no tengo suficientes puntos de reputación para agregar un comentario a la respuesta para mejorarlo. Parece que la única forma en que puedo agregar información es crear una segunda respuesta. Entonces, repetiré lo que se dijo como respuesta y construiré sobre eso.
Edite el archivo .bashrc para el usuario para el que desea modificar el sello de fecha.
Si ve "user @ host: ~ $" está en el directorio de inicio de su usuario actual. El archivo .bashrc es un archivo oculto ya que está prefijado con el punto ".". Para verlo en una lista, deberá usar una lista larga.
Puede usar "ls -a" y luego debería ver el archivo ".bashrc".
Edite el archivo con un editor de texto. Por ejemplo, "nano .bashrc", "vim .bashrc", "vi .bashrc", "pico .bashrc" o cualquier editor que desee utilizar.
Si desea escribir esto y planea agregarlo a muchos shells para muchos usuarios, puede ser beneficioso usar el comando "echo" junto con el operador ">>" anexar. Por ejemplo,
Si utiliza ese método, asegúrese de estar en el directorio de trabajo actual del usuario para el que desea modificarlo. Para verificar esto, puede usar el comando "pwd" o imprimir el directorio de trabajo.
Si no le gusta el espacio extra entre el corchete final "]" y el nombre de usuario, use esta expresión regular ligeramente modificada:
Use esto si está editando directamente el archivo.
fuente
imprime la fecha antes de emitir cada solicitud.
fuente
Abre tu
.bashrc
viay luego agregue lo siguiente a
.bashrc
:donde
\A
es por tiempo (\W
solo para el final de la ruta, elimine si desea toda la ruta actual del directorio de trabajo). Luego escribeVerás algo como esto:
fuente
\W
no mostrará ninguna ruta en absoluto.\w
dará el camino completo.Solo para agregar a la respuesta de @ devav2:
Un comando echo más fácil de leer para los novatos sería:
export PROMPT_COMMAND='echo -n "$(date +%H:%M:%S) "'
En lugar de
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\ "
Debido a que el comando echo no está destinado a ser evaluado en el momento de la exportación, tiene más sentido usar comillas simples para comillas literales en lugar de comillas dobles. El uso de comillas simples para citar todo el comando le permite usar comillas dobles para citar el argumento del comando echo, eliminando la necesidad de escapar de caracteres especiales como
,
[
y$
fuente
Creo que la forma correcta de proceder es ubicar en
$HOME/.bashrc
los códigos que establecePS1
, comentarlos y agregar los personales. Este es mi bloque, por ejemplo:Salida:
fuente
La sintaxis más fácil para mostrar una marca de tiempo en un símbolo del sistema probablemente sería:
dónde
\D{format}
tiene formato de fecha (consulteman bash
la sección PROMOCIÓN) como%F
fecha completa igual que% Y-% m-% d (verman date
sección FORMATO), y\t
es la hora actual en formato HH: MM: SS de 24 horas (consulteman bash
la sección PROMOCIÓN)hacer cambios a las variables de PS1 como se muestra arriba
fuente
Mi tiempo es similar a la
cowsay
respuesta anterior. Debe ponernow
su~/.bashrc
pero también puede llamarlo desde la terminal escribiendonow
.Aquí hay una captura de pantalla:
El código bash se publica en esta respuesta muy detallada:
fuente
al menos me parece útil.
fuente