9 esempi pratici del comando data di Linux

9 esempi pratici del comando data di Linux

Incontra il comando data di Linux. No, non può farti passare una serata romantica. Ma può formattare la data nella parte superiore di una lettera d'amore che hai scritto nel terminale. Abbastanza vicino? Iniziamo.





Mentre esegui lo scripting in Bash, dovrai inevitabilmente stampare una data o un'ora e tale data o ora dovrà spesso essere in un formato specifico per soddisfare i requisiti di altre funzioni. È allora che entra in gioco il comando data.





Come vedrai, il comando date in Linux è semplice e versatile, il che significa che accetterà tutti i tipi di input e genererà date in una moltitudine di formati. Ha anche altre funzioni speciali per varie attività di calcolo legate al tempo. Le opzioni e la sintassi della data di apprendimento ti renderanno sicuramente più abile nello scripting e forse più puntuale.





Sintassi di base del comando data

La sintassi di base per il comando date è la seguente:

date [OPTION]... [+FORMAT]

Ciò significa che dopo essere entrato Data , puoi inserire un'opzione, come -D o -S , per invocare una particolare funzione, che spiegheremo di seguito.



Puoi anche seguire quelli con stringhe di formattazione, che iniziano sempre con a + carattere. Tali stringhe richiedono caratteri di formattazione specifici, elencati anche di seguito, per definire l'output.

Linux date Command Esempi pratici

Puoi utilizzare il comando date in diversi modi. Consideriamo i casi d'uso più comuni e utili degli stessi.





1. Ottieni la data e l'ora correnti

È possibile ottenere la data e l'ora locali correnti nel formato predefinito passando il comando date da solo.

$ date
Mon 19 Apr 2021 12:41:17 PM CDT

Come puoi vedere, la data ti fornisce le informazioni relative a data e ora in un formato semplice e prevedibile.





2. Ottieni una data passata o futura

Supponiamo che nel tuo script sia necessario calcolare l'ora e la data tra una settimana esatta. Il comando date ti ha coperto. Emettere questo comando, utilizzando il -D opzione per ottenere informazioni dettagliate relative alle date future:

$ date -d 'next week'
Tue 27 Apr 2021 05:21:07 PM CDT

Il -D opzione, abbreviazione di data, è dove il comando date brilla davvero. Accetterà una varietà di stringhe di data personalizzate; possono essere tecnici, come 20200315 , 15/03/20 , o leggibile come 15 marzo 2020 . Ma puoi anche usare termini relativi, come Domani , ieri , domenica prossima , e altro ancora. Giocaci un po' e guarda come date interpreta le diverse stringhe di input.

3. Formatta una data

Potresti aver notato nei due esempi precedenti, la data è impostata su un formato orario molto specifico. E se ne avessi bisogno in un formato diverso?

Puoi formattare il tuo output in modo simile a il comando printf . Ad esempio, puoi stampare l'anno corrente con questo comando:

come concludere una lettera di scuse
date +'Year: %Y'

Il + segnala che si desidera una stringa formattata e qualsiasi cosa appaia in seguito all'interno del Citazione contrassegni, la data verrà elaborata e formattata per l'output.

Ecco un elenco dei caratteri di formattazione che probabilmente utilizzerai:

Carattere di formattazioneProduzione
%HOra (00-24)
%IOOra (01-12)
%MMinuto (00-59)
%SSecondo (00-60)
%PAntimeridiane o pomeridiane
%ANome completo del giorno della settimana (ad es. domenica)
%aNome abbreviato del giorno della settimana (ad es. Sole)
%inNumero del giorno della settimana (0-6)
%DGiorno del mese (01-31)
%JGiorno dell'anno (001-366)
% BNome completo del mese (ad es. gennaio)
% BNome abbreviato del mese (es. gennaio)
%mNumero del mese (01-12)

È possibile ottenere un elenco completo dei caratteri di formattazione utilizzando il --aiuto opzione nel terminale.

date --help

4. Ottieni il giorno della settimana

Un uso molto comune e pratico della formattazione della data è ottenere il giorno della settimana per una data data. Ad esempio, per verificare in quale giorno della settimana è caduto il 4 novembre 1995, inserisci un comando simile a questo:

$ date -d '1996-04-11' +'%A'
Friday

Il -D opzione indica che si desidera una data specifica, il '1996-04-11' stringa indica quale data si desidera e il + '% A' la formattazione indica che si desidera il giorno della settimana nell'output. Ricorda che la stringa della data può essere in molti formati, non solo in quello specificato qui.

5. Ottieni un tempo universale coordinato

Emettendo il -u flag, è possibile ottenere l'ora corrente in Coordinated Universal Time (UTC).

$ date -u
Wed 21 Apr 2021 12:46:59 PM UTC

6. Emetti l'ora locale in un altro fuso orario

Se hai bisogno di ottenere una data in qualsiasi altro fuso orario, puoi farlo impostando il TZ = variabile di ambiente prima del comando date.

Ad esempio, puoi vedere la data e l'ora correnti in Mountain Standard Time (MST) con il seguente comando:

$ TZ=MST date
Tue 20 Apr 2021 03:45:29 PM MST

Per i tuoi scopi, sostituisci semplicemente MST con le iniziali del fuso orario che preferisci. Puoi anche scegliere di utilizzare la notazione UTC. Ad esempio, per ottenere lo stesso fuso orario, sostituisci MST insieme a UTC+7 .

Inoltre, puoi nominare un continente e una città principale per ottenere l'ora locale di quella particolare città. Per esempio:

$ TZ=America/Phoenix date
Tue 20 Apr 2021 03:45:29 PM MST

7. Ottieni l'ora dell'ultima modifica di un file

Se stai creando backup, ad esempio, avrai spesso bisogno di ottenere la data dell'ultima modifica di un file. Puoi farlo passando il -R opzione e nominare un file.

$ date -r /etc/shadow
Wed 14 Apr 2021 07:53:02 AM CDT

Puoi cambiare i timestamp di un file usando il comando touch in Linux anche.

8. Stampa e converti Epoch Time

Puoi calcolare il numero di secondi da quando l'epoca Unix con il seguente comando:

$ date +%s
1618955631

Puoi anche invertire il processo e convertire l'ora Unix in un formato leggibile dall'uomo attraverso l'uso del -D opzione e @ carattere.

$ date -d @1618955631
Tue 20 Apr 2021 04:53:51 PM CDT

Il calcolo del tempo Unix è utile se hai bisogno di un secondo esatto che manterrà sicuramente sincronizzati gli altri dispositivi.

9. Imposta temporaneamente l'ora di sistema

Puoi cambiare il tuo orologio di sistema dal terminale con il comando date passando il -S argomento seguito dal tempo desiderato. Ad esempio, puoi impostare l'orologio di sistema su 24 ore future con il seguente comando:

date -s 'tomorrow'

Nota che avrai bisogno dei privilegi sudo per passare questo comando. Inoltre, la modifica probabilmente non sarà persistente (il che significa che l'orologio tornerà all'ora precedente dopo un riavvio) perché la maggior parte delle distribuzioni utilizza altre utilità per gestire l'orologio di sistema che sovrascriveranno la modifica all'avvio.

Spiegazione del comando data di Linux

Come nella vita, non puoi scappare dal tempo in Linux. Ecco perché è fondamentale capire come formattarlo e usarlo, attraverso il comando date. Una cosa che sicuramente incontrerai nella gestione dei file di Linux sono i vari timestamp che i file portano con sé.

Condividere Condividere Tweet E-mail Comprensione dei timestamp dei file Linux: mtime, ctime e atime

Vuoi saperne di più su come Linux tiene traccia delle modifiche in un file? Ecco cosa devi sapere sui timestamp dei file Linux.

cosa controllare quando si acquista un iPhone usato
Leggi Avanti Argomenti correlati
  • Linux
  • Comandi Linux
Circa l'autore Giordano Gloor(51 articoli pubblicati)

Jordan è uno scrittore dello staff di MUO che è appassionato di rendere Linux accessibile e senza stress per tutti. Scrive anche guide sulla privacy e sulla produttività.

Altro da Jordan Gloor

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti