In diesem Tutorial behandeln wir die Grundlagen des date
Befehl.
Das date
Der Befehl zeigt das Systemdatum an oder setzt es. Es wird am häufigsten verwendet, um das Datum und die Uhrzeit in verschiedenen Formaten zu drucken und zukünftige und vergangene Daten zu berechnen.
Verwenden des Linux-date
Befehl #
Die Syntax für das date
Befehl lautet wie folgt:
date [OPTION]... [+FORMAT]
Um die aktuelle Systemzeit und das Datum mit der Standardformatierung anzuzeigen, rufen Sie den Befehl ohne Optionen und Argumente auf:
date
Die Ausgabe umfasst Wochentag, Monat, Tag des Monats, Uhrzeit, Zeitzone und Jahr:
Sat Jun 1 14:31:01 CEST 2019
Formatierungsoptionen für Datum #
Die Ausgabe des date
Der Befehl kann mit einer Folge von Formatsteuerzeichen formatiert werden, denen ein +
vorangestellt ist Schild. Die Formatsteuerelemente beginnen mit dem %
Symbol und werden durch ihre Werte ersetzt.
date +"Year: %Y, Month: %m, Day: %d"
Der %Y
Zeichen wird durch das Jahr ersetzt, %m
mit Monat und %d
mit dem Tag des Monats:
Year: 2019, Month: 06, Day: 02
Hier ist ein weiteres Beispiel:
date "+DATE: %D%nTIME: %T"
DATE: 06/02/19
TIME: 01:47:04
Nachfolgend finden Sie eine kleine Liste einiger der gebräuchlichsten Formatierungszeichen:
%a
- Abgekürzter Kurzname des Wochentags des Gebietsschemas (z. B. Mo)%A
– Abgekürzter vollständiger Name des Wochentags des Gebietsschemas (z. B. Montag)%b
– Abgekürzter kurzer Monatsname des Gebietsschemas (z. B. Jan)%B
- Abgekürzter langer Monatsname des Gebietsschemas (z. B. Januar)%d
- Tag des Monats (z. B. 01)%H
- Stunde (00..23)%I
- Stunde (01..12)%j
- Tag des Jahres (001..366)%m
- Monat (01..12)%M
- Minute (00..59)%S
- Sekunde (00..60)%u
- Wochentag (1..7)%Y
– Gesamtjahr (z. B. 2019)
Um eine vollständige Liste aller Formatierungsoptionen zu erhalten, führen Sie date --help
aus oder man date
in Ihrem Terminal.
Datumszeichenfolge #
Das -d
Option ermöglicht es Ihnen, an einem bestimmten Datum zu arbeiten. Sie können das Datum als menschenlesbare Datumszeichenfolge wie folgt angeben:
date -d "2010-02-07 12:10:53"
Sun Feb 7 12:10:53 CET 2010
Verwenden der benutzerdefinierten Formatierung:
date -d '16 Dec 1974' +'%A, %d %B %Y'
Monday, 16 December 1974
Die Datumszeichenfolge akzeptiert Werte wie „morgen“, „freitag“, „letzter Freitag“, „nächster Freitag“, „nächster Monat“, „nächste Woche“ usw.
date -d "last week"
Sat May 25 14:31:42 CEST 2019
Sie können auch die Option Datumszeichenfolge verwenden, um die Ortszeit für verschiedene Zeitzonen anzuzeigen. Um beispielsweise die Ortszeit für nächsten Montag um 6:30 Uhr an der australischen Ostküste anzuzeigen, würden Sie Folgendes eingeben:
date -d 'TZ="Australia/Sydney" 06:30 next Monday'
Sun Jun 2 22:30:00 CEST 2019
Zeitzone überschreiben #
Das date
Der Befehl gibt das Datum in der Standardzeitzone des Systems zurück. Um eine andere Zeitzone zu verwenden, setzen Sie die UmgebungsvariableTZ
in die gewünschte Zeitzone.
Um beispielsweise die Aus-Zeit in Melbourne anzuzeigen, würden Sie Folgendes eingeben:
TZ='Australia/Melbourne' date
Sat Jun 1 22:35:10 AEST 2019
Um alle verfügbaren Zeitzonen aufzulisten, können Sie die Dateien entweder in /usr/share/zoneinfo
auflisten Verzeichnis oder verwenden Sie die timedatectl list-timezones
Befehl.
Epochenkonverter #
Das date
Der Befehl kann als Epochenkonverter verwendet werden. Epoche oder Unix-Zeitstempel ist die Anzahl der Sekunden, die seit dem 1. Januar 1970 um 00:00:00 UTC vergangen sind.
Um die Anzahl der Sekunden von der Epoche bis zum aktuellen Tag zu drucken, rufen Sie date
auf mit dem %s
Formatkontrolle:
date +%s
1559393792
Um Sekunden seit der Epoche bis heute umzuwandeln, legen Sie die Sekunden als Datumszeichenfolge mit dem Präfix @
fest :
date -d @1234567890
Sat Feb 14 00:31:30 CET 2009
Mit date
mit anderen Befehlen #
Das date
Der Befehl wird am häufigsten verwendet, um Dateinamen zu erstellen, die die aktuelle Uhrzeit und das aktuelle Datum enthalten.
Der folgende Befehl erstellt eine MySQL-Sicherungsdatei im folgenden Format database_name-20190601.sql
mysqldump database_name > database_name-$(date +%Y%m%d).sql
Sie können auch das date
verwenden Befehl in Ihren Shell-Skripten. Im Beispiel unten weisen wir die Ausgabe von date
zu zum date_now
Variable:
date_now=$(date "+%F-%H-%M-%S")
echo $date_now
2019-06-01-15-02-27
Anzeige der letzten Änderungszeit einer Datei #
Das date
Befehl mit dem -r
Option zeigt die letzte Änderungszeit einer Datei an. Zum Beispiel:
date -r /etc/hosts
Tue Jul 24 11:11:48 CEST 2018
Wenn Sie den Zeitstempel der Datei ändern möchten, verwenden Sie die touch
-Taste Befehl.
Stellen Sie die Systemzeit und das Datum ein #
Manuelles Einstellen der Systemzeit und des Datums mit date
Befehl wird nicht empfohlen, da bei den meisten Linux-Distributionen die Systemuhr mit ntp
synchronisiert wird oder der systemd-timesyncd
Dienste.
Wenn Sie die Systemuhr jedoch manuell einstellen möchten, können Sie --set=
verwenden Möglichkeit. Wenn Sie beispielsweise das Datum und die Uhrzeit auf 17:30 Uhr, den 1. Juni 2019, einstellen möchten, würden Sie Folgendes eingeben:
date --set="20190601 17:30"
Schlussfolgerung #
Das Linux-date
zeigt das Systemdatum und die Uhrzeit an oder stellt es ein.
Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.