Android

Linux dato kommando med eksempler

Indholdsfortegnelse:

Anonim

Datokommandoen viser eller indstiller systemdatoen. Det er oftest brugt til at udskrive dato og tid i forskellige formater og beregne fremtidige og tidligere datoer.

I denne selvstudie dækker vi det grundlæggende i datokommandoen.

Brug af Linux-datakommandoen

Syntaks for datokommandoen er som følger:

date…

Hvis du vil vise den aktuelle systemtid og dato ved hjælp af standardformateringen, påkaldes kommandoen uden nogen indstillinger:

date

Outputet vil omfatte ugedag, måned, månedsdag, tid, tidszone og år:

Sat Jun 1 14:31:01 CEST 2019

Indstillinger for datoformatering

date kan formateres med en sekvens af formatkontroltegn forud for et + -tegn. Formatkontrollerne starter med % -symbolet og erstattes af deres værdier.

date +"Year: %Y, Month: %m, Day: %d"

%Y tegnet erstattes med året, %m med måned og %d med månedsdagen:

Year: 2019, Month: 06, Day: 02

Her er et andet eksempel:

date "+DATE: %D%nTIME: %T"

DATE: 06/02/19 TIME: 01:47:04

Nedenfor er en lille liste over nogle af de mest almindelige formateringstegn:

  • %a - Landes forkortede navn på den korte ugedag (f.eks. man) %A - Landets forkortede fulde ugedagsnavn (f.eks. mandag) %b - Landes forkortede navn på den korte måned (f.eks. jan) %B - Landets forkortede navn på lang måned (f.eks. januar) %d - Månedens dag (f.eks. 01) %H - Time (00..23) %I - Hour (01..12) %j - Day of year (001..366) %m - Måned (01..12) %M - minut (00..59) %S - Andet (00.60) %u - Ugedag (1..7) %Y - Fuldt år (f.eks. 2019)

For at få en komplet liste over alle formateringsindstillinger skal du køre date --help eller man date i din terminal.

Dato streng

Indstillingen -d giver dig mulighed for at operere på en bestemt dato. Du kan specificere datoen som en menneskelig læsbar datostreng som nedenfor:

date -d "2010-02-07 12:10:53"

Sun Feb 7 12:10:53 CET 2010

Brug af den tilpassede formatering:

date -d '16 Dec 1974' +'%A, %d %B %Y'

Monday, 16 December 1974

Datostrengen kan også acceptere værdier som "i morgen", "fredag", "sidste fredag" "næste fredag", "næste måned", "næste uge".. osv.

date -d "last week"

Sat May 25 14:31:42 CEST 2019

Du kan også bruge indstillingen til datostreng til at vise din lokale tid for forskellige tidszoner. For at vise den lokale tid kl. 06:30 næste mandag på den australske østkyst, skriver du:

date -d 'TZ="Australia/Sydney" 06:30 next Monday'

Sun Jun 2 22:30:00 CEST 2019

Overskyd tidszonen

Datokommandoen bruger standard systemtidszone. Hvis du vil bruge en anden tidszone, skal du indstille miljøvariablen TZ til den ønskede tidszone.

For eksempel for at vise Melbourne, Aus-tiden, skriver du:

TZ='Australia/Melbourne' date

Sat Jun 1 22:35:10 AEST 2019

Hvis du vil liste alle tilgængelige tidszoner, kan du enten liste filerne i mappen /usr/share/zoneinfo eller bruge kommandoen timedatectl list-timezones .

Epokekonverter

Datokommandoen kan bruges som en Epok-konverter. Epok eller Unix-tidsstempler er antallet af sekunder, der er gået siden 1. januar 1970, kl. 00:00:00 UTC.

For at udskrive antallet af sekunder fra epoken til den aktuelle dag skal du bruge %s formatkontrol:

date +%s

1559393792

For at konvertere sekunder siden epoken til dato skal du indstille sekunderne som en datostreng, der er præfixeret med @ :

date -d @1234567890

Sat Feb 14 00:31:30 CET 2009

Brug af dato med andre kommandoer

Datokommandoen bruges hyppigst til at oprette filnavne, der indeholder det aktuelle klokkeslæt og dato.

Kommandoen nedenfor opretter en Mysql-sikkerhedskopifil i følgende format database_name-20190601.sql

mysqldump database_name > database_name-$(date +%Y%m%d).sql

Du kan også bruge date kommandoen i dine shell-scripts. I eksemplet nedenfor tildeler vi output fra date til variablen date_now :

date_now=$(date "+%F-%H-%M-%S") echo $date_now

2019-06-01-15-02-27

Vis den sidste ændringstid for en fil

Datokommandoen med indstillingen -r viser den sidste ændringstid for en fil. For eksempel:

date -r /etc/hosts

Tue Jul 24 11:11:48 CEST 2018

Indstil systemtid og dato

Det anbefales normalt ikke at indstille systemtid og dato manuelt med systemd-timesyncd fordi systemklokken i de fleste Linux-distributioner synkroniseres ved hjælp af ntp eller systemd-timesyncd tjenesterne.

Hvis du imidlertid ønsker at indstille systemuret manuelt, kan du bruge indstillingen - --set= . Hvis du f.eks. Ønsker at indstille dato og tid til kl. 17.30, 1. juni 2019, skal du indtaste:

date --set="20190601 17:30"

Konklusion

I øjeblikket skal du have en god forståelse af, hvordan du bruger Linux-dato-kommandoen.

dato terminal