Mantenere una data precisa su un sistema Linux è una delle abilità essenziali che ogni utente Linux dovrebbe avere a portata di mano. Il comando Linux date viene utilizzato per visualizzare e impostare le impostazioni di data e ora su un sistema Linux. Questo tutorial ti dà un'idea di come puoi usare il comando date per visualizzare e impostare la data sul tuo sistema Linux.
Sintassi di base
Di seguito viene fornita la sintassi di base del comando date
$ data [opzione]… [+formato]
1) Comando Data senza opzioni
Nella sua forma di base, senza alcuna opzione di comando, il comando date mostra la data e l'ora correnti inclusi il giorno della settimana, il mese, l'anno, l'ora nel formato hh:mm:ss e il fuso orario come mostrato di seguito.
$ date Sun May 9 15:41:17 IST 2021 $
2) Visualizza la data e l'ora in UTC
Per visualizzare l'ora in UTC (Coordinated Universal Time), precedentemente denominata GMT (Greenwich Mean Time), aggiungi l'opzione -u.
$ date -u Sun May 9 10:11:59 UTC 2021 $
3 ) Visualizza una data specifica in un formato stringa
È possibile visualizzare una data specifica in un formato stringa utilizzando l'opzione –date come illustrato di seguito. Tieni presente che ciò non influisce sulla data e l'ora del tuo sistema, ma converte semplicemente il formato della data in una stringa.
$ date --date="10/10/2021" Sun Oct 10 00:00:00 IST 2021 $
4) Usa il comando date per controllare le date passate
Il comando date può anche stampare la data e l'ora nel passato rispetto alla data corrente.
Ad esempio, per verificare la data di 9 giorni fa, esegui il comando.
$ date --date="9 days ago" Fri Apr 30 15:45:28 IST 2021 $
Per visualizzare la data due settimane prima, esegui il comando:
$ date --date="2 weeks ago" Sun Apr 25 15:47:11 IST 2021 $
Per controllare la data di tre mesi fa, eseguire:
$ date --date="3 months ago" Tue Feb 9 15:47:52 IST 2021 $
Per stampare la data di 3 anni fa, esegui:
$ date --date="3 years ago" Wed May 9 15:49:04 IST 2018 $
5) Usa il comando date per controllare le date future
Proprio come puoi controllare le date passate, il comando date ti consente anche di visualizzare le date future.
Ad esempio, per controllare la data di esecuzione di domani:
$ date --date="tomorrow" Mon May 10 15:50:14 IST 2021 $
Per verificare quale sarà la data esatta tra una settimana, esegui:
$ date --date="next week" Sun May 16 15:51:03 IST 2021 $
Per visualizzare quale sarà la data tra due settimane, eseguire:
$ date --date="2 weeks" Sun May 23 15:51:46 IST 2021 $
Per visualizzare la data tra 4 mesi esegui:
$ date --date="4 months" Thu Sep 9 15:52:33 IST 2021 $
E per controllare la data tra 2 anni corri:
$ date --date="2 years" Tue May 9 15:53:20 IST 2023 $
6) Opzioni di formattazione della data
Il comando date include molte opzioni che consentono di personalizzare l'output della data. Di seguito sono elencate alcune delle opzioni di formattazione disponibili.
- %D – Visualizza la data nel formato mm/gg/aa
- %Y – Anno (ad es. 2021)
- %m – Mese (01-12)
- %B:nome del mese nel formato stringa completo (ad es. febbraio)
- %b – Nome del mese nel formato stringa abbreviato (ad es. Feb)
- %d – Giorno del mese (ad es. 01)
- %j – Giorno dell'anno (001-366)
- %u – Giorno della settimana (1-7)
- %A – Giorno della settimana in formato stringa completo (ad es. venerdì)
- %a – Giorno della settimana in formato abbreviato (ad es. Ven)
- %H – Ora (00-23)
- %I – Ora (01-12)
- %M – Minuti (00-59)
- %S – Secondo (00-60)
La sintassi per utilizzare l'opzione data è abbastanza semplice:
$ data "+% opzione"
Ad esempio, per stampare la data nel formato aa/mm/gg, esegui
$ date "+%Y-%m-%m" 2021-05-05 $
Per stampare il giorno della settimana, il mese, l'anno e l'ora corrente:
$ date "+%A %B %Y %T" Sunday May 2021 15:55:56 $
7) Come impostare la data e l'ora
Il comando data consente inoltre di impostare la data e l'ora. Ad esempio, per impostare la data e l'ora su 25 giugno 2021 alle 11:15, eseguire il comando:
$ sudo date --set="20210625 11:15" Fri Jun 25 11:15:00 IST 2021 $
NOTA:
L'impostazione della data e dell'ora del sistema in questo modo è sconsigliata poiché è molto probabile che l'ora sia imprecisa. Un modo migliore per raggiungere questo obiettivo è utilizzare l'utilità chrony che è un sostituto del demone ntpd ora deprecato. In effetti, i sistemi moderni come CentOS 8 / RHEL 8 non supportano NTP. Abbiamo una guida dettagliata su come sincronizzare ora e data utilizzando chrony.
Nel caso in cui desideri modificare il fuso orario, utilizza il comando timedatectl, l'esempio è mostrato di seguito.
$ sudo timedatectl set-timezone Asia/Kolkata
8) Utilizzo del comando Data nella variabile
A volte durante la creazione di uno script di shell, salviamo il comando date in una variabile e in seguito creiamo un file di registro utilizzando quella variabile, gli esempi sono mostrati di seguito,
#!/bin/bash LOGFILE=/tmp/logs-$(date +%d-%m-%Y_%T) echo "##Check Cluster for Failed Resources##" >> $LOGFILE crm_mon -1 -rf | grep FAILED >> $LOGFILE echo -e "\n\n" >> $LOGFILE echo "##Check Cluster for Stopped Resources##" >> $LOGFILE crm_mon -1 -rf | grep -i STOPPED >> $LOGFILE echo -e "\n\n" >> $LOGFILE
Riepilogo
Ci auguriamo di aver fatto luce sull'uso del comando data di Linux e confidiamo che tu possa usarlo per visualizzare la data del sistema e personalizzare l'output in base alle tue preferenze.
Leggi anche :9 esempi di comandi tee in Linux