In questo tutorial tratteremo le basi della date
comando.
La date
comando visualizza o imposta la data di sistema. È più comunemente usato per stampare la data e l'ora in diversi formati e calcolare le date future e passate.
Utilizzo della date
di Linux Comando #
La sintassi per la date
il comando è il seguente:
date [OPTION]... [+FORMAT]
Per visualizzare l'ora e la data di sistema correnti utilizzando la formattazione predefinita, richiama il comando senza opzioni e argomenti:
date
L'output include il giorno della settimana, il mese, il giorno del mese, l'ora, il fuso orario e l'anno:
Sat Jun 1 14:31:01 CEST 2019
Opzioni di formattazione della data #
L'output della date
il comando può essere formattato con una sequenza di caratteri di controllo del formato preceduta da un +
cartello. I controlli del formato iniziano con il %
simbolo e sono sostituiti dai loro valori.
date +"Year: %Y, Month: %m, Day: %d"
Il %Y
il carattere verrà sostituito con l'anno, %m
con mese e %d
con il giorno del mese:
Year: 2019, Month: 06, Day: 02
Ecco un altro esempio:
date "+DATE: %D%nTIME: %T"
DATE: 06/02/19
TIME: 01:47:04
Di seguito è riportato un piccolo elenco di alcuni dei caratteri di formattazione più comuni:
%a
- Nome abbreviato del giorno della settimana abbreviato di Locale (ad es. Lun)%A
- Nome abbreviato del giorno della settimana completo di Locale (ad es. lunedì)%b
- Nome abbreviato del mese di Locale (ad es. Jan)%B
- Nome abbreviato del mese lungo di Locale (ad es. gennaio)%d
- Giorno del mese (es. 01)%H
- Ora (00..23)%I
- Ora (01..12)%j
- Giorno dell'anno (001..366)%m
- Mese (01..12)%M
- Minuti (00..59)%S
- Secondo (00..60)%u
- Giorno della settimana (1..7)%Y
- Anno intero (es. 2019)
Per ottenere un elenco completo di tutte le opzioni di formattazione, eseguire date --help
o man date
nel tuo terminale.
Stringa data #
Il -d
l'opzione consente di operare in una data specifica. Puoi specificare la data come stringa di data leggibile come di seguito:
date -d "2010-02-07 12:10:53"
Sun Feb 7 12:10:53 CET 2010
Utilizzando la formattazione personalizzata:
date -d '16 Dec 1974' +'%A, %d %B %Y'
Monday, 16 December 1974
La stringa della data accetta valori come "domani", "venerdì", "venerdì scorso" "venerdì successivo", "mese successivo", "settimana successiva" ..ecc.
date -d "last week"
Sat May 25 14:31:42 CEST 2019
Puoi anche utilizzare l'opzione della stringa della data per mostrare l'ora locale per diversi fusi orari. Ad esempio, per visualizzare l'ora locale per le 6:30 di lunedì prossimo sulla costa orientale australiana, digitare:
date -d 'TZ="Australia/Sydney" 06:30 next Monday'
Sun Jun 2 22:30:00 CEST 2019
Sostituisci il fuso orario #
La date
comando restituisce la data nel fuso orario di sistema predefinito. Per utilizzare un fuso orario diverso, impostare la variabile di ambienteTZ
al fuso orario desiderato.
Ad esempio, per mostrare l'ora di Melbourne, Australia, digitare:
TZ='Australia/Melbourne' date
Sat Jun 1 22:35:10 AEST 2019
Per elencare tutti i fusi orari disponibili, puoi elencare i file in /usr/share/zoneinfo
directory o utilizzare la timedatectl list-timezones
comando.
Convertitore epoca #
La date
comando può essere utilizzato come convertitore Epoch. Epoch, o timestamp Unix, è il numero di secondi trascorsi dal 1 gennaio 1970 alle 00:00:00 UTC.
Per stampare il numero dei secondi dall'epoca al giorno corrente, richiama date
con il %s
controllo del formato:
date +%s
1559393792
Per convertire i secondi dall'epoca ad oggi, imposta i secondi come una stringa di data preceduta da @
:
date -d @1234567890
Sat Feb 14 00:31:30 CET 2009
Utilizzo di date
con altri comandi #
La date
Il comando viene utilizzato più frequentemente per creare nomi di file che contengono l'ora e la data correnti.
Il comando seguente creerà un file di backup Mysql nel seguente formato database_name-20190601.sql
mysqldump database_name > database_name-$(date +%Y%m%d).sql
Puoi anche utilizzare la date
comando negli script della shell. Nell'esempio seguente stiamo assegnando l'output di date
al date_now
variabile:
date_now=$(date "+%F-%H-%M-%S")
echo $date_now
2019-06-01-15-02-27
Visualizza l'ora dell'ultima modifica di un file #
La date
comando con -r
l'opzione mostra l'ora dell'ultima modifica di un file. Ad esempio:
date -r /etc/hosts
Tue Jul 24 11:11:48 CEST 2018
Se vuoi modificare il timestamp del file, usa il touch
comando.
Imposta l'ora e la data del sistema #
Impostazione manuale dell'ora e della data del sistema con la date
comando non è raccomandato perché sulla maggior parte delle distribuzioni Linux, l'orologio di sistema è sincronizzato usando il ntp
o il systemd-timesyncd
servizi.
Tuttavia, se desideri impostare manualmente l'orologio di sistema, puoi utilizzare il --set=
opzione. Ad esempio, se desideri impostare la data e l'ora alle 17:30 del 1 giugno 2019, devi digitare:
date --set="20190601 17:30"
Conclusione #
La date
di Linux il comando visualizza o imposta la data e l'ora del sistema.
Se hai domande o feedback, sentiti libero di lasciare un commento.