Come visualizzare data e ora nel terminale Linux (e usalo negli script bash)

Contenuti

Bash shell nel concetto desktop di Unity

il date Il comando è nella shell bash, che è la shell predefinita sulla maggior parte delle distribuzioni Linux e persino su macOS. Questo tutorial ti mostra come padroneggiare date sulla riga di comando e come puoi usarlo negli script di shell per fare di più che stampare l'ora.

Corri il date comando per visualizzare queste informazioni. Stampa la data e l'ora correnti per il tuo fuso orario:

Data

Uscita comando data

Il formato predefinito sembra un po' ridicolo. Perché l'anno non viene stampato dopo il mese e il giorno?, invece di essere taggato alla fine, dietro il fuso orario? Non preoccuparti: se quello che vuoi è controllare il formato di output, date lo consegna con. C'è di più 40 opzioni a cui puoi andare date per istruirti a formattare l'output esattamente come desideri.

Per utilizzare una qualsiasi delle opzioni, scriba date, Uno spazio, un segno più +, e l'opzione anche il segno di percentuale principale. il %c (dati e ora in formato locale) fa in modo che la data e l'ora vengano stampate nel formato standard associato alla tua lingua. La tua localizzazione è determinata dalle informazioni geografiche e culturali che hai fornito quando hai installato il tuo sistema operativo.. Luogo regole cose come il simbolo di valuta, il formato della carta, fuso orario e altre norme culturali.

data +%c

Uscita comando data con opzione c

L'anno appare ora in una posizione più naturale nella produzione.

Puoi passare varie opzioni a date al momento. Una sequenza di opzioni è chiamata stringa di formato. Per vedere il nome del giorno (%A), il giorno del mese (%d) e il nome del mese (%B), usa questo comando:

data +%A%d%B

Uscita comando data con opzioni A d B

Ha funzionato, ma è brutto. Nessun problema, possiamo includere spazi a patto di racchiudere l'intera stringa di formato tra virgolette. Nota che il + volere al di fuori le virgolette.

Data +"%A %d %B"

Output comando data con opzione A d B con spazi

Puoi aggiungere del testo alla stringa di formato, Così:

Data +"Oggi è: %A %d %B"

Output del comando dati con testo aggiunto dall'utente

Scorri su e giù per date pagina man la ricerca dell'opzione desiderata diventa presto noiosa. Abbiamo diviso le opzioni in gruppi per aiutarti a trovare la strada più facilmente.

Opzioni per visualizzare la data e l'ora

  • %C: Stampa la data e l'ora nel formato delle tue impostazioni internazionali, compreso il fuso orario.

Uscita comando data

Opzioni per la visualizzazione della data

  • %D: Stampa la data in formato mm / dd / aa.
  • %F: Stampa la data nel formato aaaa-mm-gg.
  • %X: Stampa la data nel tuo formato locale.

Uscita comando data con opzioni DF x

Opzioni per visualizzare il giorno

  • %un: Stampa il nome del giorno, abbreviato come Mon, Mar, mer, eccetera.
  • %UN: Stampa il nome completo del giorno, lunedi martedì, mercoledì, eccetera.
  • % tu: Stampa il numero del giorno della settimana, dove lunedì = 1, martedì = 2, mercoledì = 3, eccetera.
  • % w: Stampa il numero del giorno della settimana, dove domenica = 0, lunedì = 1, martedì = 2, eccetera.
  • %D: Stampa il giorno del mese, con uno zero iniziale (01, 02… 09) se richiesto.
  • %me: Stampa il giorno del mese, con uno spazio principale ('1', '2'... '9') se richiesto. Si prega di notare che gli apostrofi non vengono stampati.
  • % J: Stampa il giorno dell'anno, con un massimo di due zeri iniziali, se richiesto.

Output del comando Data con opzioni A uwdej

Opzioni per visualizzare la settimana

  • % tu: Stampa il numero della settimana dell'anno, considerando la domenica come primo giorno della settimana. Ad esempio, la terza settimana dell'anno, la ventesima settimana dell'anno, eccetera.
  • % V: Stampa il numero della settimana ISO dell'anno, considerando il lunedì come primo giorno della settimana.
  • % W: Numero della settimana dell'anno, considerando il lunedì come primo giorno della settimana.

Output comando data con opzioni UVW

Opzioni per visualizzare il mese

  • %B oh % h: Stampa il nome del mese abbreviato in gennaio, febbraio, marzo, eccetera.
  • %B: stampa il nome completo del mese, gennaio, febbraio, marzo, eccetera.
  • %Metro: Stampa il numero del mese, con uno zero iniziale se necessario 01, 02, 03… 12.

Uscita comando data con opzioni bh B m

Opzioni per visualizzare l'anno

  • %C: Stampa il secolo senza l'anno. Sopra 2019 stamperebbe 20.
  • % e: Stampa l'anno in due cifre. Su 2019 stamperà 19.
  • % E: Stampa l'anno con quattro cifre.

Uscita comando data con opzioni C e Y

Opzioni per visualizzare l'ora

  • % T: Stampa l'ora come HH: MM: SS.
  • % R: Stampa l'ora e i minuti come HH: MM senza secondi, usando l'orologio 24 ore.
  • % R: Stampa l'ora in base alla tua posizione, usando l'orologio 12 ore e un indicatore di mattina o pomeriggio.
  • %X: Stampa l'ora in base alla tua posizione, usando l'orologio 24 ore. presumibilmente. Nota che durante il test questa opzione si è comportata esattamente come %r fa, come mostrato di seguito. Su una macchina Linux configurata per la locale del Regno Unito e impostata su GMT, stampato il tempo, usando l'orologio 24 ore senza indicatore AM o PM, come previsto.

Uscita comando data con opzioni TR r X

Opzioni per visualizzare l'ora

  • % h: Stampa l'ora 00, 01, 02… 23.
  • %io: Stampa l'ora usando l'orologio 12 ore, 00, 01, 02… 12, con uno zero iniziale se necessario.

Uscita comando data con opzioni HI

Opzioni per visualizzare i minuti

  • %METRO: stampa il minuto, 01, 02, 03… 59, con uno zero iniziale se necessario.

Uscita comando data con opzioni M

Opzioni per mostrare i secondi

  • %S: Stampa il numero di secondi trascorsi 1970-01-01 00:00:00, l'inizio del Era Unix.
  • %S: Stampa i secondi, 01, 02, 03… 59, con uno zero iniziale se necessario.
  • %NORD: Stampa i nanosecondi.

Uscita comando data con opzioni s SN

Opzioni per la visualizzazione delle informazioni sul fuso orario

  • % Insieme a: Stampa la differenza di orario tra il tuo fuso orario e UTC.
  • %: Insieme a: Stampa la differenza di orario tra il tuo fuso orario e UTC, con un: tra ore e minuti. Notare la : Tra i % segno e z .
  • % :: Insieme a: Stampa la differenza di orario tra il tuo fuso orario e UTC, con un: tra le ore, i minuti e i secondi. Notare la :: Tra i % segno e z .
  • % INSIEME A: Stampa il nome alfabetico del fuso orario.

Output del comando data con opzioni di fuso orario

Opzioni relative al formato

  • %pagina: Stampa l'indicatore AM o PM in maiuscolo.
  • %PAG: Stampa l'indicatore del mattino o del pomeriggio in minuscolo. Notare la particolarità di queste due opzioni. Una minuscola p uscite in maiuscolo, una lettera maiuscola P uscite minuscole.
  • % T: Stampa una scheda.
  • %Nord: Stampa una nuova riga.

Uscita comando data con indicatore AM PM e opzioni di formattazione

Opzioni per modificare altre opzioni

Questi modificatori possono essere inseriti tra i % e la lettera di opzione di altre opzioni per modificare la loro visualizzazione. Ad esempio, %-S rimuoverebbe lo zero iniziale per i valori dei secondi a una cifra.

  • : Un singolo trattino impedisce il riempimento zero nei valori a una cifra.
  • _: un semplice carattere di sottolineatura aggiunge spazi iniziali per i valori a una cifra.
  • 0: Fornisce zeri iniziali per valori a una cifra.
  • ^: Usa lettere maiuscole, se possibile (non tutte le opzioni rispettano questo modificatore).
  • #: Utilizzare il caso opposto al valore predefinito per l'opzione, se possibile (non tutte le opzioni rispettano questo modificatore).

Output del comando data con opzioni di formattazione

Altri due trucchi ingegnosi

Per ottenere l'ultima volta che si modifica un file, Utilizzare il -r (riferimento) opzione. Si noti che questo utilizza un - (sceneggiatura) invece di un % segno, e non richiede un + segno. Provare questo comando nella cartella Inizio:

date -r .bashrc

Esci dal comando data con l'opzione di modifica del file

Le impostazioni TZ consentono di modificare il fuso orario per la durata di un singolo comando.

TZ=GMT data +%c

Uscire dal comando data per un fuso orario diverso

Utilizzo della data negli script

Abilitare uno script di shell Bash per stampare l'ora e la data è banale. Creare un file di testo con il seguente contenuto e salvarlo con nome gd.sh.

#!/bin/bash

TODAY=$(Data +"Oggi è %A, %d di %B")
TIMENOW=$(Data +"L'ora locale è %r")
TIME_UK=$(TZ=Data BST +"Il tempo nel Regno Unito è %r")

echo $TODAY
echo $TIMENOW
echo $TIME_UK

Escriba el siguiente comando para establecer los permisos de ejecución y hacer que el script sea ejecutable.

chmod +x gd.sh

Esegui lo script con questo comando:

./gd.sh

Output dello script Gd.sh

Possiamo usare il comando date per fornire un timestamp. Lo script mostrato creerà una directory con il timestamp come nome. Quindi copierà tutti i file di testo dalla cartella corrente ad essa. Eseguendo questo script periodicamente, possiamo scattare un'istantanea dei nostri file di testo. Col tempo, creeremo una serie di cartelle con diverse versioni dei nostri file di testo.

Tenga en cuenta que este no es un sistema de copia de seguridad sólido, es solo para fines ilustrativos.

Creare un file di testo con il seguente contenuto e salvarlo con nome snapshot.sh.

#!/cestino/bash

# obtain the date and time
date_stamp=$(Data +"%F-%H-%M-%S")

# make a directory with that name
mkdir "$date_stamp"

# copy the files from the current folder into it
cp *.txt "$date_stamp"

# Tutto fatto, report back and exit
echo "File di testo copiati nella directory: "$date_stamp

Escriba el siguiente comando para establecer los permisos de ejecución y hacer que el script sea ejecutable.

chmod +x snapshot.sh

Esegui lo script con questo comando:

./snapshot.sh

Efecto de ejecutar el script snapshot.sh

Verá que se ha creado un directorio. Su nombre es la fecha y hora en que se ejecutó el script. All'interno di quella directory ci sono copie dei file di testo.

Con un po' di pensiero e creatività, anche gli umili date Il comando può essere utilizzato in modo produttivo.

impostaTimeout(funzione(){
!funzione(F,B,e,v,n,T,S)
{Se(f.fbq)Restituzione;n=f.fbq=funzione(){n.callMethod?
n.callMethod.apply(n,argomenti):n.queue.push(argomenti)};
Se(!f._fbq)f._fbq = n;n.push=n;n.loaded=!0;n.version='2.0′;
n.coda=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(T,S) } (window, documento,'copione',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('dentro', '335401813750447');
fbq('traccia', 'Visualizzazione della pagina');
},3000);

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.