¿Cómo obtener la fecha y la hora usando la interfaz de línea de comandos?


101

¿Cómo puedo obtener la fecha / hora actual en la terminal? Principalmente inicio mi sistema en modo texto (consola) y necesito el comando para saber la fecha / hora actual.

Respuestas:


177

El datecomando le mostrará la fecha y la hora.

man datele mostrará cómo controlar la salida a cualquier formato que necesite, si desea algo más que la salida estándar. Por ejemplo:

date "+%H:%M:%S   %d/%m/%y"

generará la fecha y la hora en el formato 14:09:22 09/06/2015

Puede encontrar una versión más fácil de leer de la página de manual en las páginas de manual de Ubuntu


77
+1 solo por decirman date
— jshthornton 01 de

¿Cómo puedo obtener la diferencia de zona horaria?
— Ali D.

19

Tiempo como la línea de comando:

PS1="\@ \w$bk"

Parece que: 11:41 AM ~

Un poco más elegante, entre paréntesis:

PS1="[ \@ \w$bk ]"

Parece que: [11:36 AM ~]

Agregue el usuario y localhost con la hora, todo entre paréntesis:

PS1="[ \u on \h \@ \w$bk ]"

Parece que: [DrPete en LittleSorrel 10:34 AM ~]

Restablecer solicitud a # predeterminado: PS1="# "

Para que la solicitud esté disponible permanentemente , agregue la línea de solicitud que elija, es decir,

export PS1="\@ \w$bk "

a ~ / .profile.

No puedo evitarlo, estamos rodando ahora ... agregue colores, defínalos en .profile para que sean más fáciles de configurar:

 # Install GNU coreutils
    bk="\[\033[0;38m\]" #means no background and white lines
    txtBlue="\[\033[0;34m\]"   #letter color blue
    txtRed="\[\033[0;31m\]"    #letter color red
    txtCyan="\[\033[1;36m\]"   #letter color cyan
    txtWhite="\[\033[1;37m\]"  #letter color white
    txtYellow="\[\033[1;33m\]" #letter color yellow

Entonces un indicador de color de superfancy sería:

PS1="[ $txtYellow\u on $txtCyan\h $txtRed\@ $txtWhite\w$bk ]"

muy buena respuesta =) pero un poco corta.
— AB

Mi primera respuesta, ahora que ya no soy virgen, ¿expandirme de qué manera, narrativa o enlace a la información de la CLI?
— drPete

¿Cómo puedo hacer esto permanente, por ejemplo.
— AB

simplemente exporta @AB Respuesta inteligente por cierto :)
— Sharad Gautam

1
Mejor respuesta = más votos a favor
— AB

16

Hay una lista de comandos utilizados para la hora y la fecha:

  1. El comando date

    $ date 
    Tue Jun  9 18:04:30 EEST 2015
    
  2. El comando zdumpsolía hacer eco de la hora en una zona horaria específica.

    $ zdump EEST
    EEST  Tue Jun  9 15:05:17 2015 EEST
    
  3. hwclock

    $ sudo hwclock
    Tue 09 Jun 2015 06:05:55 PM EEST  -0.656710 seconds
    
  4. reloj pero necesita instalar xview-clients

    sudo apt-get install xview-clients
    
  5. utilizando el ntpdatecomando ntpdatese usa para configurar la hora del sistema, pero el uso sin sudosolo imprimirá la hora y fecha

    $ ntpdate
    
    26 Jun 10:48:34 ntpdate[4748]: no servers can be used, exiting
    

11

Con Ubuntu 15.04 (systemd) también existe el timedatectlque te muestra el tiempo y te permite cambiarlo y más man timedatectl.

Sin argumentos da

% timedatectl
Advertencia: ignorando la variable TZ. Lectura de la configuración de zona horaria del sistema solamente.

      Hora local: ke 2015-06-10 10:31:59 EEST
  Hora universal: ke 2015-06-10 07:31:59 UTC
        Hora RTC: ke 2015-06-10 07:31:59
       Zona horaria: Europa / Helsinki (EEST, +0300)
     NTP habilitado: sí
NTP sincronizado: sí
 RTC en TZ local: no
      DST activo: sí
 Último cambio de horario de verano: el horario de verano comenzó a las
                  su 2015-03-29 02:59:59 EET
                  su 29/03/2015 04:00:00 EEST
 Siguiente cambio de horario de verano: el horario de verano termina (el reloj salta una hora hacia atrás) a las
                  su 2015-10-25 03:59:59 EEST
                  su 2015-10-25 03:00:00 EET

Y otra buena característica que he usado es la timedatectl set-ntp trueque activa systemd-timesyncdel cliente SNTP (Protocolo simple de tiempo de red) incorporado que sincroniza su reloj con el servidor remoto.


1
$ timedatectlfunciona bien aquí en Ubuntu 14.04 también.
— Pomo

8

Aunque todas las respuestas aquí son correctas, debe usar el datecomando manualmente para ver la hora cuando lo desee, y la salida se mezclará con la salida normal de su comando. Esto está en su mayoría bien, pero a veces no es práctico.

Puede agregar el comando de fecha a su solicitud que mostrará un reloj (fijo) cada vez que el shell esté listo para el comando, o puede usar uno de los multiplexores de terminal que tienen una línea de estado. Mi preferido (aunque admito que el más antiguo) es la pantalla GNU.

En la consola o en una terminal, por ejemplo ssh, si usa la pantalla , entre millones de cosas diferentes que puede hacer (solía pensar que screenera inevitable para trabajar cuando solo tenía una terminal de texto) tiene la opción --- que es normalmente en la configuración predeterminada --- de tener un reloj en la línea de estado:

Pantalla en una terminal

(La captura de pantalla está en una terminal virtual, pero es la misma en una consola virtual).


1
Byobu (que se basa en la pantalla) también lo hace fuera de la caja. Solo para tu información
— Sergiy Kolodyazhnyy


1

No se mencionó Python, así que lo arrojaré aquí:

$ python -c 'import time;print(time.asctime(time.localtime()))'                                                                       
Tue Nov 29 20:25:27 2016

La forma en que funciona es bastante simple:

  • importamos timemódulo
  • localtime()La función le da al structtipo de datos toda la información necesaria, como la hora del día, día, año, etc.
  • asctime() convierte toda esa información en una cadena, y la imprimimos bien formateada

Funciona en python 2 y 3 por igual.


0

si está buscando algo como AAAAMMDDHHMMSS , 20160804020100 use esto:

date +%Y%m%d%H%M%S

sirve para la mayoría de los propósitos, como la copia de seguridad de archivos o el filtrado de registros.


2
Bienvenido a AskUbuntu. Si bien esta respuesta intenta resolver la pregunta publicada, la solución ya ha sido mencionada en la respuesta por muchos otros usuarios. Personalmente no encuentro útil esta respuesta. Mejore su publicación
— Sergiy Kolodyazhnyy

0

Si no está seguro de la precisión del reloj de su sistema, o si desea utilizar una fuente de tiempo externa, puede obtener la hora a través de Internet. Para obtener la mejor precisión, puede usar sntp(instalado de forma predeterminada en MacOS y viene como parte de las distribuciones ntp) para obtener la fecha:

sntp pool.ntp.org 

Si solo tiene acceso web a Internet, entonces se puede obtener a través de HTTP usando HTP, que está disponible en muchos sistemas, ya htpdateque generalmente solo tiene precisión al segundo más cercano, o puede acceder a él usando TLS (que extrae la marca de tiempo del TLS intercambio) tlsdateque puede proporcionar una mejor precisión:

tlsdate -nV ntp.org
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.