Come posso ottenere la data / ora corrente nel terminale. Per lo più avvio il mio sistema in modalità testo (console) e ho bisogno del comando per conoscere la data / ora corrente.
Come posso ottenere la data / ora corrente nel terminale. Per lo più avvio il mio sistema in modalità testo (console) e ho bisogno del comando per conoscere la data / ora corrente.
Risposte:
Il date
comando ti mostrerà la data e l'ora.
man date
ti mostrerà come controllare l'output in qualunque formato tu abbia bisogno, se vuoi qualcosa di diverso dall'output standard. Per esempio:
date "+%H:%M:%S %d/%m/%y"
produrrà la data e l'ora nel formato 14:09:22 09/06/2015
Una versione più semplice da leggere della pagina man è disponibile nelle pagine man di Ubuntu
Ora come prompt della riga di comando:
PS1="\@ \w$bk"
Sembra: 11:41 ~
Un po 'più elaborato, racchiuso tra parentesi:
PS1="[ \@ \w$bk ]"
Sembra: [11:36 AM ~]
Aggiungi l'utente e localhost con l'ora, il tutto tra parentesi:
PS1="[ \u on \h \@ \w$bk ]"
Sembra: [DrPete su LittleSorrel 10:34 ~]
Ripristina prompt su # predefinito: PS1="# "
Per rendere il prompt permanentemente disponibile, aggiungi la riga del prompt che preferisci, ovvero
export PS1="\@ \w$bk "
a ~ / .profile.
Non posso farci niente, stiamo rotolando ora ... aggiungi colori, definiscili in .profile per renderli più facili da configurare:
# 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
Quindi un prompt colorato superfancy sarebbe:
PS1="[ $txtYellow\u on $txtCyan\h $txtRed\@ $txtWhite\w$bk ]"
Esiste un elenco di comandi utilizzati per ora e data:
Il comando date
$ date
Tue Jun 9 18:04:30 EEST 2015
Il comando zdump
utilizzato per ripetere l'ora in un fuso orario specificato.
$ zdump EEST
EEST Tue Jun 9 15:05:17 2015 EEST
hwclock
$ sudo hwclock
Tue 09 Jun 2015 06:05:55 PM EEST -0.656710 seconds
orologio ma deve installare xview-client
sudo apt-get install xview-clients
usando il ntpdate
comando. ntpdate
è usato per impostare l'ora del sistema, ma usando senza sudo
si stampa solo l'ora e la data.
$ ntpdate
26 Jun 10:48:34 ntpdate[4748]: no servers can be used, exiting
Con Ubuntu 15.04 (systemd) c'è anche timedatectl
che ti mostra l'ora e ti permette di cambiarla e altro ancora man timedatectl
.
Senza argomenti dà
% timedatectl Avvertenza: ignorare la variabile TZ. Lettura solo dell'impostazione del fuso orario del sistema. Ora locale: ke 2015-06-10 10:31:59 EEST Tempo universale: ke 2015-06-10 07:31:59 UTC Orario RTC: ke 2015-06-10 07:31:59 Fuso orario: Europa / Helsinki (EEST, +0300) NTP abilitato: si NTP sincronizzato: sì RTC nella TZ locale: no Ora legale attiva: si Ultima modifica dell'ora legale: l'ora legale è iniziata alle su 2015-03-29 02:59:59 EET su 2015-03-29 04:00:00 EEST Prossima modifica dell'ora legale: l'ora legale termina (l'orologio salta indietro di un'ora) alle su 2015-10-25 03:59:59 EEST su 2015-10-25 03:00:00 EET
E un'altra bella funzionalità che ho usato è quella timedatectl set-ntp true
che attiva il systemd-timesyncd
client SNTP (Simple Network Time Protocol) inbuild che sincronizza l'orologio con il server remoto.
$ timedatectl
funziona bene anche qui su Ubuntu 14.04.
Sebbene tutte le risposte qui siano corrette, devi usare il date
comando manualmente per vedere l'ora quando vuoi e l'output si mescolerà con l'output normale del tuo comando. Questo è per lo più ok, ma a volte non è pratico.
È possibile aggiungere il comando date al prompt che mostrerà un orologio (fisso) ogni volta che la shell è pronta per il comando, oppure è possibile utilizzare uno dei multiplexer del terminale con una riga di stato. Il mio preferito (anche se lo ammetto il più vecchio) è lo schermo GNU.
In console o in un terminale, dì tramite ssh
, se usi lo schermo , tra miliardi di cose diverse che puoi fare (pensavo fosse screen
inevitabile per lavorare quando avevo solo un terminale di testo) hai l'opzione --- che è normalmente nella configurazione predefinita --- di avere un orologio nella riga di stato:
(Lo screenshot è su un terminale virtuale, ma è lo stesso su una console virtuale).
Inoltre verranno visualizzati la data e l'ora:
sudo hwclock
Più dettagliato:
man hwclock
Non c'era menzione di Python, quindi lo butto qui:
$ python -c 'import time;print(time.asctime(time.localtime()))'
Tue Nov 29 20:25:27 2016
Il modo in cui funziona è abbastanza semplice:
time
modulolocaltime()
La funzione fornisce al struct
tipo di dati tutte le informazioni necessarie, come l'ora del giorno, il giorno, l'anno, ecc.asctime()
converte tutte queste informazioni in stringa e le stampiamo in modo ben formattato Funziona in Python 2 e 3 allo stesso modo.
se stai cercando qualcosa di simile come AAAAMMGGHHMMSS , 20160804020100 usa questo:
date +%Y%m%d%H%M%S
server la maggior parte degli scopi come il backup dei file o il filtro dei log.
Se non si è sicuri della precisione dell'orologio del proprio sistema o si desidera utilizzare una fonte di tempo esterna, è possibile ottenere l'ora su Internet. Per la massima precisione, è possibile utilizzare sntp
(installato per impostazione predefinita su MacOS e incluso nelle distribuzioni ntp) per ottenere la data:
sntp pool.ntp.org
Se si dispone solo dell'accesso Web a Internet, è possibile ottenerlo tramite HTTP utilizzando HTP, che è disponibile su molti sistemi in quanto di htpdate
solito ha solo la precisione al secondo più vicino, oppure è possibile accedervi tramite TLS (che estrae il timestamp dal TLS scambio) tlsdate
che può fornire una migliore precisione:
tlsdate -nV ntp.org
man date