Aus LinuxUser 06/2007

Cal, Date, Hwclock und NTP

Richtig ticken

Wer hat an der Uhr gedreht? Für viele Anwendungen ist es äußerst wichtig, dass der PC die korrekte Zeit(zone) kennt. NTP und Co. sorgen dafür, dass ihr PC richtig tickt.

Eine falsch eingestellte PC-Uhr kann fatale Folgen haben: Gerät das Zeitgefühl Ihres Rechners durcheinander, gibt es beispielsweise auf einmal Dateien, die aus der Zukunft stammen, oder drei Jahrzehnte alte E-Mails. Die Folge: Missverständnisse, Fehler oder sogar Abstürze. Fast alle Linux-Distributionen richten Uhrzeit und Zeitzone schon bei der Installation ein, und grafischen Desktops wie KDE und Gnome bieten über die Uhr im Panel schnellen Zugriff auf Tools, welche die Uhr des Rechners konfigurieren (Abbildung 1).

Abbildung 1: Sowohl in KDE als auch in Gnome bringt Sie ein Rechtsklick auf die Uhr im Panel zu den Datums- und Zeiteinstellungen.
Abbildung 1: Sowohl in KDE als auch in Gnome bringt Sie ein Rechtsklick auf die Uhr im Panel zu den Datums- und Zeiteinstellungen.

Auf der Shell zeigt cal einen einfachen, aber übersichtlich formatierten Kalender an. Datum und Uhrzeit präsentiert – wenn auch in Kurzform – der Befehl date. Dieses Programm hilft dem Administrator außerdem, Datum und Uhrzeit anzupassen. Auch in Skripten und in Kombination mit anderen Kommandozeilentools spielt date seine ganze Stärke aus: Beispielsweise, wenn das Programm Dateinamen generiert, die das aktuelle Datum enthalten. Zur Synchronisation von Systemzeit und Hardware-Uhr steht hwclock zur Verfügung. Allerdings müssen Sie dieses Programm als Root ausführen. Ist der PC permanent mit dem Internet verbunden, automatisieren Sie das Stellen der Uhr, indem Sie die eigenen Zeitmesser über das Network Time Protocol (NTP) mit einem Server im Netz abgleichen.

Kommandozeilenkalender

Rufen Sie den Kalender cal ohne Parameter auf, so zeigt das Programm den aktuellen Monat des aktuellen Jahres an. Mit der Option -3 überreden Sie Cal, zusätzlich den vorherigen und nächsten Monat anzuzeigen; der Zusatz -y schließlich präsentiert den Kalender gleich für das ganze Jahr (Abbildung 2). Um einen ganz bestimmten Monat auszugeben, teilen Sie Cal diesen in Form einer zweistelligen Monats- und einer vierstelligen Jahreszahl mit. Es reicht in diesem Fall nicht, das Jahr anzugeben, denn Cal kennt Daten zurück bis zum 1. Januar des Jahres 1.

Abbildung 2: Auf der Kommandozeile haben Sie dank Cal das ganze Jahr im Blick.
Abbildung 2: Auf der Kommandozeile haben Sie dank Cal das ganze Jahr im Blick.

Standardmäßig präsentiert Cal die Ausgabe in der Sprache, die die Umgebungsvariable LANG definiert [1]. Bevorzugen Sie beim Zeitformat eine andere Sprache, möchten die restlichen Programmausgaben aber weiterhin auf Deutsch erhalten, dann setzen Sie die Variable LC_TIME – und schon spricht Cal auch Fremdsprachen, im folgenden Beispiel Englisch:

LC_TIME=C cal -y

Wie Sie in der letzten Zu-Befehl-Folge [1] lesen konnten, machen Sie dieses Verhalten über einen entsprechenden export-Aufruf in der Datei ~/.bashrc über die Befehlsfolge export LC_TIME=C dauerhaft.

Wie spät ist es?

Geben Sie den Befehl date auf der Kommandozeile ein, dann sehen Sie Datum, Uhrzeit und Zeitzone:

$ date
Di Apr 24 19:27:46 CEST 2007

Auch Date richtet sich bei der Ausgabe nach der über LANG angegebenen Sprache und lässt sich wie Cal über LC_TIME beeinflussen:

$ LC_TIME=C date
Tue Apr 24 19:42:30 CEST 2007

Noch flexibler zeigt sich Date, wenn Sie dem Aufruf die Variable TZ („time zone“ = Zeitzone) voranstellen. Welche Angaben zur Zeitzone hinter TZ möglich sind, erfahren Sie mit einem Blick in das Verzeichnis /usr/share/zoneinfo/. Um beispielsweise herauszufinden, welche Zeit eine Uhr in New York gerade anzeigt, genügt ein einziges Kommando:

$ TZ=America/New_York date
Tue Apr 24 13:43:02 EDT 2007

Telefonieren Sie zum Beispiel häufiger mit Freunden in New York fragen sich dabei jedes Mal, ob es dort gerade mitten in der Nacht oder viel zu früh ist, dann erstellen Sie für den gerade gezeigten Aufruf einfach ein Alias. Dazu schreiben Sie in die Konfigurationsdatei der Bash, ~/.bashrc, die Zeile

alias NY='TZ=America/New_York date'

und lesen die Einstellungen nach dem Abspeichern mittels des Befehls source ~/.bashrc neu ein. Anschließend reicht die Eingabe von NY, um auf der Shell die New Yorker Ortszeit anzuzeigen.

Formatierte Ausgabe

Das Programm Date kennt eine Vielzahl von Parametern, welche die Ausgabe beeinflussen. Zusammen mit einem Pluszeichen, gefolgt von einem Prozentzeichen und einem Buchstaben, formatieren Sie die date-Ausgabe, zum Beispiel:

$ date +%Y_%m
2007_04

Einige häufig verwendete Aufrufparameter zeigt die Tabelle „Date: Aufrufparameter“; eine vollständige Liste finden Sie in der Manpage (man date) zu Date. Praktisch sind diese Formatierungsoptionen vor allem, wenn Sie Date heranziehen, um automatisch Dateinamen bestehend aus Datum und/oder Uhrzeit zu generieren. Das Kommando

LinuxUser 06/2007 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: