¿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.

Sharad Gautam
fuente

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

Carl H
fuente
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 ]"
drPete
fuente
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
    
Maythux
fuente
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.

Mikaela
fuente
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).

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

También dará salida a la fecha y hora:

sudo hwclock

Más detallado:

man hwclock
Bufón
fuente
Corto pero agradable!
Sharad Gautam
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.

Sergiy Kolodyazhnyy
fuente
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.

computacion
fuente
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
Pierz
fuente