Der date-Befehl zeigt das aktuelle Datum und die aktuelle Uhrzeit an und kann Datumsangaben formatieren oder berechnen. Er ist in jeder Linux- und Unix-Umgebung vorhanden und unverzichtbar für Log-Dateien, Backups und Skripte, die Zeitstempel benötigen.
Aktuelles Datum anzeigen
$ date
Mi 27. Aug 10:45:12 CEST 2026
Die Ausgabe folgt der Systemzeitzone. Mit date -u zeigt der Befehl die koordinierte Weltzeit (UTC) an — praktisch für Serververgleiche und Logs:
$ date -u
Mi 27. Aug 08:45:12 UTC 2026
Eigene Formate festlegen
Mit date +"FORMAT" lässt sich die Ausgabe frei gestalten. Die wichtigsten Platzhalter:
%Y— Jahr (z. B. 2026)%m— Monat als Zahl (01–12)%d— Tag im Monat (01–31)%H— Stunde (00–23)%M— Minute (00–59)%s— Sekunden seit dem 1. Januar 1970 (Unix-Zeitstempel)
$ date +"%Y-%m-%d"
2026-08-27
$ date +%s
1785134712
Datumswerte berechnen
Mit date -d verarbeitet der Befehl beliebige Datumsangaben:
$ date -d "2026-01-01"
Do 1. Jan 00:00:00 CET 2026
$ date -d "yesterday"
Di 26. Aug 10:45:12 CEST 2026
$ date -d "+7 days"
Do 3. Sep 10:45:12 CEST 2026
Zeitstempel in Skripten nutzen
In Bash-Skripten wird date typischerweise einer Variable zugewiesen, damit Dateinamen eindeutig werden:
backup_name="backup_$(date +%Y%m%d_%H%M%S).tar.gz"
echo "$backup_name"
So entstehen Namen wie backup_20260827_104512.tar.gz — ein bewährtes Muster für tar und gzip-Backups.
Systemzeit und Zeitzonen
Für die Systemkonfiguration von Datum, Uhrzeit und Zeitzone ist auf modernen Systemen timedatectl zuständig, das Teil von systemctl und journalctl aus der systemd-Welt ist:
$ timedatectl
Local time: Mi 2026-08-27 10:45:12 CEST
Universal time: Mi 2026-08-27 08:45:12 UTC
Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: yes
Verwandte Grundlagen: ps, top und kill für laufende Prozesse und df und du für Speicherplatz — auch dort spielen Zeitstempel und Laufzeiten eine Rolle.