Abrufen der Uhrzeit in Linux: Methoden und gängige Befehle
Befehle zum Abrufen der Uhrzeit in Linux
Wenn du die Uhrzeit in Linux abrufen möchtest, stehen dir verschiedene Befehle zur Verfügung. Diese Befehle können dir helfen, die Uhrzeit in verschiedenen Formaten anzuzeigen, sie in verschiedenen Zeitzonen zu konvertieren und die Systemzeit mit der Hardware-Uhrzeit zu synchronisieren.
Befehl date
Der Befehl date
zeigt die aktuelle Systemzeit an. Er kann jedoch auch verwendet werden, um die Uhrzeit in verschiedenen Formaten anzuzeigen.
# Uhrzeit im Standardformat anzeigen
date
# Uhrzeit im ISO-Format anzeigen
date --iso-8601
# Datum und Uhrzeit im benutzerdefinierten Format anzeigen
date +%Y-%m-%d\ %H:%M:%S
Befehl time
Der Befehl time
ist dem Befehl date
sehr ähnlich, bietet jedoch einige zusätzliche Funktionen. Mit dem Befehl time
kannst du beispielsweise die Uhrzeit messen, die ein bestimmter Befehl zum Ausführen benötigt.
# Uhrzeit messen, die der Befehl ls benötigt
time ls
# Uhrzeit messen, die der Befehl sleep 5 benötigt
time sleep 5
Befehl cal
Der Befehl cal
zeigt einen Kalender für den angegebenen Monat und das angegebene Jahr an. Er kann auch verwendet werden, um die Anzahl der Tage in einem bestimmten Monat zu ermitteln.
# Kalender für den aktuellen Monat anzeigen
cal
# Kalender für den Januar 2023 anzeigen
cal 01 2023
# Anzahl der Tage im Februar 2023 anzeigen
cal 02 2023
Unterschiede zwischen den Befehlen date und time
Wenn du die Uhrzeit in Linux abrufen möchtest, stehen dir zwei Hauptbefehle zur Verfügung: date
und time
. Beide Befehle tun im Wesentlichen dasselbe, aber es gibt einige wichtige Unterschiede zwischen ihnen, die du beachten solltest.
Ausgabeformat
Der Hauptunterschied zwischen date
und time
liegt im Ausgabeformat. Der Befehl date
gibt die Uhrzeit im Standardformat TT MM TT HH:MM:SS JJJJ
aus, wobei TT
der ausgeschriebene Wochentag, MM
der ausgeschriebene Monat, TT
der Tag des Monats, HH
die Stunde im 24-Stunden-Format, MM
die Minute und SS
die Sekunde ist. Das Jahr wird als vierstellige Ziffer ausgegeben. Beispiel:
$ date
Frühersten, 29. April 2023 15:34:36 MESZ
Der Befehl time
hingegen gibt die Uhrzeit im POSIX-Format [seconds since the Epoch]
, dh. als Anzahl der Sekunden seit dem 1. Januar 1970 um 00:00 Uhr UTC, aus. Beispiel:
$ time
1651272092
Option -r
Der Befehl date
verfügt über die Option -r
, mit der du die Uhrzeit aus einem angegebenen Zeitstempel abrufen kannst. Dies ist nützlich, wenn du die Uhrzeit zu einem bestimmten Zeitpunkt in der Vergangenheit oder Zukunft wissen möchtest. Beispiel:
$ date -r 1651272092
Frühersten, 29. April 2023 15:34:36 MESZ
Der Befehl time
bietet keine solche Option.
Zeitzonen
Standardmäßig gibt der Befehl date
die Uhrzeit in der lokalen Zeitzone aus. Du kannst jedoch die Option -u
verwenden, um die Uhrzeit in koordinierter Weltzeit (UTC) auszugeben. Der Befehl time
gibt die Uhrzeit immer in UTC aus.
Zusammenfassung
Zusammenfassend lässt sich sagen, dass der Befehl date
eine benutzerfreundlichere Ausgabe im Standardformat bereitstellt, während der Befehl time
eine einfache Ausgabe im POSIX-Format bietet und die Option -r
zum Abrufen der Uhrzeit aus einem Zeitstempel unterstützt. Der Befehl time
ist für Skripte und Programme besser geeignet, während der Befehl date
für die interaktive Verwendung besser geeignet ist.
Formatierung der Uhrzeitausgabe
Wenn du die Ausgabe der Uhrzeit formatieren möchtest, kannst du die folgenden Optionen nutzen:
Strftime
Die Funktion strftime
konvertiert eine tm
-Struktur, die die Uhrzeitdaten enthält, in einen formatierten Text. Die Syntax lautet:
strftime(Zeichenfolge, Größe, Zeit, Umwandlungsbezeichner);
Hier sind einige gebräuchliche Umwandlungsbezeichner:
-
%a
: Abgekürzter Wochentag -
%b
: Abgekürzter Monatsname -
%d
: Tag des Monats (01-31) -
%H
: Stunde (00-23) -
%I
: Stunde (01-12) -
%M
: Minute (00-59) -
%S
: Sekunde (00-59)
Beispiel
Um die Uhrzeit im Format "Donnerstag, 12. Januar 2023, 14:30" auszugeben, würde folgender Befehl verwendet:
strftime("%a, %d. %b %Y, %H:%M", %Z, %x);
Optionsbezeichner
Zusätzlich zu den Umwandlungsbezeichnern kannst du auch Optionsbezeichner verwenden, um die Ausgabe weiter zu formatieren:
-
%
: Prozentzeichen (%%) -
0
: Führt führende Nullen ein -
-
: Linksbündig -
+
: Vorzeichen für die Ausgabe -
Beispiel
Um die Uhrzeit im Format "14:30:00" auszugeben, würde folgender Befehl verwendet:
strftime("%H:%M:%S", %Z, %x);
Abrufen der Uhrzeit in verschiedenen Zeitzonen
Wenn du die Uhrzeit in verschiedenen Zeitzonen abrufen möchtest, stehen dir mehrere Möglichkeiten zur Verfügung.
Befehl 'date'
Der Befehl date
bietet die Option -u
zur Anzeige der koordinierten Weltzeit (UTC) und die Option -d
zum Abfragen eines bestimmten Datums und einer bestimmten Uhrzeit unter Berücksichtigung der Zeitzone.
date -u # UTC-Zeit anzeigen
date -d "2023-03-08 15:30:00 PST" # Uhrzeit in Pacific Time anzeigen
Befehl 'timedatectl'
Der Befehl timedatectl
bietet umfangreiche Optionen zur Verwaltung der Zeitzoneneinstellungen. Verwende die Option list-timezones
zum Auflisten aller verfügbaren Zeitzonen und die Option set-timezone
zum Ändern der aktuellen Zeitzone.
timedatectl list-timezones # Alle Zeitzonen auflisten
timedatectl set-timezone America/Los_Angeles # Zeitzone auf Pacific Time festlegen
Grafische Benutzeroberfläche
Die meisten Linux-Distributionen bieten eine grafische Benutzeroberfläche (GUI) zum Ändern der Zeitzoneneinstellungen. Du findest diese Optionen typischerweise unter den Systemeinstellungen oder im Kontrollzentrum.
Lokale Zeitzonendatenbank
Linux verwendet eine lokale Zeitzonendatenbank, um die Zeitzonendaten zu verwalten. Diese Datenbank wird regelmäßig aktualisiert, um Änderungen in den Zeitzoneneinstellungen widerzuspiegeln. Du kannst die Zeitzonendatenbank mit dem Befehl tzupdate
aktualisieren.
tzupdate # Zeitzonendatenbank aktualisieren
Abrufen der Systemzeit
Neben der Hardware-Uhrzeit verfügt Linux auch über eine Systemzeit, die vom Betriebssystem verwaltet wird. Die Systemzeit kann von einer Vielzahl von Prozessen und Anwendungen genutzt werden, um die Uhrzeit für verschiedene Zwecke zu ermitteln.
Befehle für die Systemzeit
Zur Abfrage der Systemzeit stehen dir in Linux mehrere Befehle zur Verfügung:
- date: Dieser Befehl gibt die aktuelle Systemzeit in einem vom Gebietsschema abhängigen Format aus.
-
time: Dieser Befehl ist ähnlich wie
date
, gibt aber auch die Ausführungszeit des angegebenen Befehls aus.
Unterschiede zwischen date
und time
Der Hauptunterschied zwischen date
und time
besteht darin, dass date
nur die Systemzeit ausgibt, während time
zusätzlich die Ausführungszeit des angegebenen Befehls ausgibt.
Formatierung der Systemzeitausgabe
Die Ausgabe der Befehle date
und time
kann mithilfe von Formatbezeichnern formatiert werden. Eine Liste der verfügbaren Formatbezeichner findest du in den Manpages der jeweiligen Befehle.
Beispiele
Um die aktuelle Systemzeit im ISO-8601-Format auszugeben, kannst du Folgendes verwenden:
date +%Y-%m-%dT%H:%M:%SZ
Um die Ausführungszeit des Befehls ls
auszugeben, kannst du Folgendes verwenden:
time ls
Abrufen der Hardware-Uhrzeit
Die Hardware-Uhr (auch Echtzeituhr oder RTC genannt) ist ein winziger Chip auf dem Motherboard deines Computers, der die Zeit auch bei ausgeschaltetem System aufrechterhält. Sie ist in der Regel mit einer kleinen Batterie ausgestattet, die die Uhr im Speicher hält. Dies ist nützlich, um die korrekte Zeit auch nach einem Stromausfall sicherzustellen.
Unterschiede zwischen Systemzeit und Hardware-Uhrzeit
Die Systemzeit wird vom Betriebssystem verwaltet und kann durch Software oder manuelle Eingaben geändert werden. Die Hardware-Uhrzeit hingegen ist unabhängig vom Betriebssystem und läuft unabhängig von der Systemzeit weiter.
Abrufen der Hardware-Uhrzeit
Um die Hardware-Uhrzeit abzurufen, kannst du den Befehl hwclock
verwenden. Dieser Befehl zeigt die aktuelle Hardware-Uhrzeit im Format hh:mm:ss
an:
hwclock
Einstellen der Hardware-Uhrzeit
Du kannst die Hardware-Uhrzeit mit dem Befehl hwclock -w
einstellen. Dieser Befehl setzt die Hardware-Uhrzeit auf die aktuelle Systemzeit:
hwclock -w
Synchronisieren der Systemzeit mit der Hardware-Uhrzeit
Wenn die Systemzeit und die Hardware-Uhrzeit nicht übereinstimmen, kannst du sie mit dem Befehl hwclock --systohc
synchronisieren. Dieser Befehl setzt die Systemzeit auf die aktuelle Hardware-Uhrzeit:
hwclock --systohc
Tipp: Verwenden von NTP
Um eine genaue Uhrzeitbehaltung zu gewährleisten, wird empfohlen, einen NTP-Dienst (Network Time Protocol) zu verwenden. NTP synchronisiert deine Systemzeit automatisch mit einem zuverlässigen Zeitserver im Internet.
Synchronisieren der Systemzeit mit der Hardware-Uhrzeit
Die Systemzeit deines Rechners wird in der Regel von einer batteriegestützten Echtzeituhr (RTC) gehalten, die als Hardware-Uhrzeit bezeichnet wird. Diese Uhrzeit bleibt auch dann erhalten, wenn dein Computer ausgeschaltet ist.
Mitunter können jedoch Abweichungen zwischen der Systemzeit und der Hardware-Uhrzeit auftreten, insbesondere wenn die Batterie der RTC leer ist oder wenn das System längere Zeit nicht heruntergefahren wurde. Um sicherzustellen, dass die Uhrzeit korrekt ist, musst du sie möglicherweise synchronisieren.
hwclock-Befehl
Der hwclock
-Befehl ermöglicht es dir, die Systemzeit mit der Hardware-Uhrzeit zu synchronisieren. Dabei kannst du vorgehen, wie folgt:
-
Zeige die Hardware-Uhrzeit an:
sudo hwclock --show
-
Stelle die Systemzeit auf die Hardware-Uhrzeit ein:
sudo hwclock --systohc
-
Stelle die Hardware-Uhrzeit auf die Systemzeit ein:
sudo hwclock --hctosys
ntpd-Dienst
Wenn du einen vernetzten Computer verwendest, kannst du auch den Network Time Protocol (NTP)-Dienst verwenden, um deine Systemzeit zu synchronisieren. NTP nutzt eine Hierarchie von Zeitservern, um die Zeit mit hoher Genauigkeit beizubehalten.
-
Installiere den ntpd-Dienst:
sudo apt install ntp (Ubuntu/Debian) sudo yum install ntp (CentOS/Red Hat)
-
Starte den ntpd-Dienst:
sudo service ntp start (systemd) sudo /etc/init.d/ntp start (SysV Init)
-
Konfiguriere den ntpd-Dienst, um einen Zeitserver zu verwenden: Öffne die Konfigurationsdatei
/etc/ntp.conf
und füge die folgenden Zeilen hinzu:server ntp.pool.org server 0.ubuntu.pool.ntp.org
-
Starte den ntpd-Dienst neu:
sudo service ntp restart (systemd) sudo /etc/init.d/ntp restart (SysV Init)
NTP wird deine Systemzeit automatisch mit dem angegebenen Zeitserver synchronisieren.
Neue Posts
World of Warcraft auf Linux spielen: Eine guide für Abenteurer
Einführung in World of Warcraft
Node.js NVM: Antworten auf die häufigsten Fragen
Entwicklung
Professionelle Gmail-HTML-Signaturen: Erstellen, Gestalten und Nutzen
Marketingstrategien
Die vollständige Anleitung zu poczta wp: Alles, was Sie wissen müssen
Sicherheit und Datenschutz
HTML-Content: Der ultimative Leitfaden zur Erstellung ansprechender Webseiten
SEO-Optimierung
Das HTML-Title-Attribut: Ein Leitfaden zur Optimierung von Titeln für SEO und Benutzerfreundlichkeit
Online-Marketing
HTTP-Statuscodes: Ihre Bedeutung und Verwendung im Web
Einführung in HTTP-Statuscodes
Besucherzähler für Websites: Tracking Ihres Website-Traffics für Erfolg
SEO-Optimierung
Beschleunigen Sie die Dateneingabe mit HTML Datalist
Webentwicklung
HTML in PUG konvertieren: Einfach und schnell gemacht
Webentwicklung
Beliebte Posts
SteamCMD: Der umfassende Leitfaden zur Verwaltung von Steam-Servern
Sicherheitsrichtlinien
POST-Anfragen: Erstellen, Senden und Empfangen von Daten im Web
Webentwicklung
LaTeX: Das mächtige Werkzeug für hochwertiges Dokumentenschreiben
Dokumentenerstellung
Wiederherstellung beschädigter Linux-Dateisysteme mit fsck: Ein umfassender Leitfaden
Fehlerbehebung
Die vollständige Anleitung zu poczta wp: Alles, was Sie wissen müssen
Sicherheit und Datenschutz
Gigacube Admin: Zugang zu den erweiterten Einstellungen Ihres Routers
Fehlerbehebung
Linux Mint Themes: Personalisieren Sie Ihren Desktop
Open Source
TCPdump-Beispiele: Paketakquise und Netzwerkdiagnose
Fehlerbehebung
Mounten von ISO-Images unter Linux: Eine Schritt-für-Schritt-Anleitung
Anleitungen
Linux Open File: Anleitung zum Öffnen, Bearbeiten und Löschen von Dateien aus dem Terminal
Open Source