Der Befehl touch
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.
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.
-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!