Come ottenere data e ora usando l'interfaccia a riga di comando?

79

Come posso ottenere la data / ora corrente nel terminale. Principalmente avvio il mio sistema in modalità testo (console) e ho bisogno del comando per conoscere la data / ora corrente.

    
posta Sharad Gautam 09.06.2015 - 14:56

8 risposte

131

Il comando date ti mostrerà la data e l'ora.

man date ti mostrerà come controllare l'output in qualsiasi formato tu voglia, se vuoi qualcosa di diverso dallo standard output. Ad esempio:

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

mostrerà la data e l'ora nel formato 14:09:22 09/06/2015

È possibile trovare una versione più facile della pagina man su Pagine Man di Ubuntu

    
risposta data Carl H 09.06.2015 - 15:00
17

Ora come prompt della riga di comando:

PS1="\@ \w$bk"

Sembra: 11:41 AM ~

Un po 'più elaborato, racchiuso tra parentesi:

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

Sembra: [11:36 AM ~]

Aggiungi l'utente e il localhost con l'ora, il tutto tra parentesi:

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

Sembra: [DrPete su LittleSorrel 10:34 AM ~]

Reimposta prompt al valore predefinito #: PS1="# "

Per rendere il prompt permanente disponibile, aggiungi la riga di richiesta, ad esempio,

export PS1="\@ \w$bk "

in ~ / .profile.

Non posso farci niente, stiamo rotolando ora ... aggiungi colori, definiscili in .profile per renderli più facili da configurare:

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

Quindi un prompt colorato in modo superfantico sarebbe:

PS1="[ $txtYellow\u on $txtCyan\h $txtRed\@ $txtWhite\w$bk ]"
    
risposta data drPete 09.06.2015 - 17:40
13

C'è una lista di comandi usati per ora e data:

  1. Il comando date

    $ date 
    Tue Jun  9 18:04:30 EEST 2015
    
  2. Il comando zdump utilizzato per echo l'ora in un fuso orario specificato.

    $ 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. orologio ma ha bisogno di installare xview-clients

    sudo apt-get install xview-clients
    
  5. utilizzando il comando ntpdate . ntpdate viene utilizzato per impostare l'ora del sistema ma l'utilizzo senza sudo consente di stampare solo l'ora e la data.

    $ ntpdate
    
    26 Jun 10:48:34 ntpdate[4748]: no servers can be used, exiting
    
risposta data Maythux 09.06.2015 - 17:07
8

Sebbene tutte le risposte qui siano corrette, devi usare manualmente il comando date per vedere l'ora ogni volta che vuoi, e l'output si mescolerà con l'output normale del tuo comando. Questo è per lo più ok, ma a volte non è pratico.

Puoi aggiungere il comando data al tuo prompt che mostrerà un (fisso ) orologio ogni volta che la shell è pronta per il comando, oppure è possibile utilizzare uno dei multiplexer terminali con una riga di stato. Il mio preferito (anche se ammetto il più vecchio) è lo schermo GNU.

In console o in un terminale, ad esempio tramite ssh , se utilizzi la schermata , tra zillioni di diversi < a href="http://www.rackaid.com/blog/linux-screen-tutorial-and-how-to/"> cose che puoi fare (ero solito pensare a screen come inevitabile per funzionando quando avevo solo un terminale di testo) hai l'opzione --- che è normalmente nella configurazione di default --- di avere un orologio nella riga di stato:

(Lo screenshot si trova su un terminale virtuale, ma è lo stesso su una console virtuale).

    
risposta data Rmano 09.06.2015 - 17:50
8

Con Ubuntu 15.04 (systemd) c'è anche timedatectl che ti mostra l'ora e ti permette di cambiarlo e di più in man timedatectl .

Senza argomenti dà

% timedatectl
Warning: Ignoring the TZ variable. Reading the system's time zone setting only.

      Local time: ke 2015-06-10 10:31:59 EEST
  Universal time: ke 2015-06-10 07:31:59 UTC
        RTC time: ke 2015-06-10 07:31:59
       Time zone: Europe/Helsinki (EEST, +0300)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  su 2015-03-29 02:59:59 EET
                  su 2015-03-29 04:00:00 EEST
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  su 2015-10-25 03:59:59 EEST
                  su 2015-10-25 03:00:00 EET

E un'altra bella caratteristica che ho usato è timedatectl set-ntp true che attiva systemd-timesyncd che è inbuild client SNTP (Simple Network Time Protocol) che sincronizza l'orologio con il server remoto.

    
risposta data Mikaela 10.06.2015 - 09:35
4

Inoltre mostrerà la data e l'ora:

sudo hwclock

Più dettagliato:

man hwclock
    
risposta data JoKeR 09.06.2015 - 16:38
1

Non c'era alcuna menzione di python, quindi lo lancerò qui:

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

Il modo in cui funziona è abbastanza semplice:

  • importiamo time modulo
  • La funzione localtime() fornisce il tipo di dati struct con tutte le informazioni necessarie, ad esempio ora del giorno, giorno, anno, ecc.
  • asctime() converte tutte le informazioni in stringa e la stampiamo ben formattata

Funziona in Python 2 e 3 allo stesso modo.

    
risposta data Sergiy Kolodyazhnyy 30.11.2016 - 04:25
0

se stai cercando qualcosa di simile a YYYYMMDDHHMMSS , 20160804020100 usa questo:

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

it server la maggior parte degli scopi come il backup dei file o il filtraggio dei log.

    
risposta data computingfreak 30.11.2016 - 04:17

Leggi altre domande sui tag