Der Befehl touch

touch-featured

In diesem Beitrag lernen Sie den Befehl touch kennen, welcher unter UNIX- / Linux-Betriebssystemen verwendet wird, um die Änderungs- und Zugriffszeitstempel von Dateien zu ändern bzw. zu aktualisieren. Weiterhin kann der Befehl auch zur Erstellung leerer Dateien verwendet werden.

touch ist Teil des essenziellen Pakets coreutils und damit standardmäßig vorinstalliert. Eine manuelle Installation ist nicht notwendig.

Allgemeine Syntax

Die allgemeine Syntax von touch lautet:

touch [Optionen] [Datei]

Wird touch ohne jegliche Optionen unter Angabe einer existierenden Datei ausgeführt, so werden Änderungs- und Zugriffszeitstempel der Datei auf die aktuelle Zeit aktualisiert. Existiert die angegebene Datei noch nicht, so wird sie neu erstellt und erhält ebenfalls den aktuellen Zeitstempel für die Änderungs- und Zugriffszeit zugewiesen.

Beispiel: touch ohne Optionen

Eingabe:

touch hedv.txt

Bedeutung:

Bei Ausführung des Befehls erstellt touch eine leere Datei "hedv.txt" im aktuellen Arbeitsverzeichnis, sofern eine Datei mit diesem Namen noch nicht existiert. Die Änderungs- und Zugriffszeitstempel werden auf die aktuelle Zeit aktualisiert. Existiert die Datei "hedv.txt" bereits, so wird nur letzterer Schritt durchgeführt.

Wichtige Optionen

Die wichtigsten Optionen des Befehls touch werden im Folgenden vorgestellt.

-a - Zugriffszeitstempel ändern

Mithilfe der Option -a ist es möglich, nur den Zugriffszeitstempel einer Datei zu ändern.

touch -a [Datei]

-c - Keine Datei erstellen

Wird die Option -c angegeben, so erstellt touch die angegebene Datei nicht, wenn sie noch nicht existiert.

touch -c [Datei]

-d - Datumszeichenkette verwenden

Mit der Option -d ist es möglich, eine Datumszeichenkette zu übergeben, welche nach ihrer Auswertung als Zeitstempel verwendet wird.

touch -d [Datumszeichenkette] [Datei]

Informationen zum Format einer Datumszeichenkette finden Sie in unserem Beitrag zum Befehl date.

Beispiel: Option -d

Eingabe:

touch -d "yesterday" hedv.txt

Bedeutung:

Die Zeitstempel der Datei werden auf die derzeitige Uhrzeit am gestrigen Tag gesetzt.

-h - Zeitstempel symbolischer Links ändern

Sollen die Zeitstempel symbolischer Links, nicht die der referenzierten Dateien geändert werden, so muss die Option -h angegeben werden.

touch -h [Datei]

-m - Änderungszeitstempel ändern

Mit der Option -m ist es möglich, nur den Änderungszeitstempel einer Datei zu aktualisieren.

touch -m [Datei]

-r - Zeitstempel einer Datei verwenden

Die zu verwendenden Zeitstempel können auch in Form einer Referenzdatei mithilfe der Option -r angegeben werden. touch verwendet dann die Zeitstempel der Referenzdatei zum Setzen von Zeitstempeln.

touch -r [Referenzdatei] [Datei]
Beispiel: Option -r

In diesem Beispiel wird die Anwendung der Option -r gezeigt. Konkret werden die Zeitstempel einer Datei "befehl-sudo.txt" verwendet, um die Zeitstempel einer anderen Datei "befehl-cat.txt" zu setzen.
Zeitstempel Referenzdatei:

Im Folgenden wurden die Zeitstempel der zu verwendenden Referenzdatei "befehl-sudo.txt" mit dem Befehl stat ausgegeben.

befehl-touch-beispiel-1
Eingabe:

touch -r befehl-sudo.txt befehl-cat.txt

Nach Ausführung (Zeitstempel der zu ändernden Datei):

Die Zeitstempel der Datei "befehl-cat.txt" nach Ausführung des Befehls sind im Folgenden zu sehen. Es fällt auf, dass die Zugriffszeit und die Änderungszeit ("Modifiziert") auf die Werte der Referenzdatei gesetzt wurden. "Geändert" wurde auf den aktuellen Zeitstempel gesetzt.

befehl-touch-beispiel-2

-t - [[CC]YY]MMDDhhmm[.ss] verwenden

Die Option -t erlaubt die Angabe eines Zeitstempels im Format [[CC]YY]MMDDhhmm[.ss] für die Änderung der Zeitstempel der angegebenen Datei.

touch [[[CC]YY]MMDDhhmm[.ss]] [Datei]

Abonniere JETZT unseren Newsletter!


Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!

Joel Benseler

Click Here to Leave a Comment Below

Leave a Comment: