Der touch Befehl wird in der Linux-Shell verwendet, um leere Dateien 📄 zu erstellen oder Timestamps 📆 anzupassen.
Wie bei anderen Befehlen kommt auch hier der Name von dem, was getan wird: touch für berühren.
Grundlegende Syntax
In schematischer Form sieht der Befehl so aus:
|
|
Hauptfunktionen von touch
Mit touch kannst du leere Dateien erstellen:
|
|
Aber auch Timestamps lassen sich damit ändern:
|
|
Das aktualisiert für bestehende Elemente den Zugriffs- und Änderungszeitpunkt.
Häufige Anwendungsfälle
Vielleicht fragst du dich jetzt: Warum oder wann kann ich das verwenden?
Hier ein paar mögliche Szenarien dazu.
- Bash-Skripte: automatisch leere Dateien anlegen zur späteren Bearbeitung
- Zeitstempel anpassen: nützlich zur Vorbereitung von Dateien für Tests oder Backups
- Schreibrechte prüfen: wenn man eine Datei nicht mit
toucherstellen kann, fehlen möglicherweise Schreibrechte
Wichtige Optionen
Sehen wir uns nun wichtige Optionen an, bevor wir diese in konkreten Beispielen verwenden.
Allgemeine Optionen
Diese Parameter lassen sich generell mit touch verwenden:
-coder--no-create= Dateien werden nicht erstellt-roderreference_file= verweist auf ein anderes Element, um dessen Timestamps zu verwenden
Arten von Zeitstempeln
Standardmässig verfügen Dateien unter Linux über 4 Timestamps. Das sieht man sehr gut mit stat auf ein Element:
|
|
Davon können wir explizit Access und Modify ändern.
In diesem Fall kannst du folgende Parameter verwenden:
-aändert den Zugriffszeitpunkt (Access)-mändert den Änderungszeitpunkt (Modify)
Angabe vom Zeitstempeln
Falls du bei touch keinen Zeitstempel angibst, wird der aktuelle Timestamp verwendet.
Aber du kannst natürlich auch eigene Werte für Datum und Zeit angeben. Das geht mit diesen Optionen:
-doder--date= Datum angeben, wobei Werte wie2024-02-29 16:21:42odernext Thursdaymöglich sind-t= Zeitstempel im Format[[CC]YY]MMDDhhmm[.ss], wie202402291621.42
Damit hast du einen guten Überblick und wir können das mit expliziten Beispielen verwenden.
Beispiele
Lass uns von einfachen zu komplexen Fällen gehen, wobei wir das in Kategorien gliedern.
Erstellung ohne explizite Timestamps
So kannst du Dateien erstellen und dafür aktuelle Timestamps verwenden:
|
|
Und du kannst angeben, dass du Elemente nicht erstellen willst, falls diese schon existieren:
|
|
Das ist hilfreich, um unerwünschte Datei-Erstellungen durch touch zu vermeiden. In diesem Fall werden nur die Zeitstempel existierender Elemente aktualisiert.
Erstellung mit spezifischen Timestamps
Aber statt dem aktuellen Timestamp kannst du auch eigene Werte für Zugriffszeitpunkt (Access) und Änderungszeitpunkt (Modify) angeben. Das geht so:
|
|
Erstellung mit Referenz-Datei
Die verwendeten Zeitstempel können auch von einer Referenz-Datei kommen:
|
|
Anpassung von Timestamps
Bei der Verwendung von touch auf bestehenden Elementen kannst du Zugriffszeitpunkt (Access) und Änderungszeitpunkt (Modify) anpassen. Zum Beispiel so:
|
|
Timestamps bei Ordnern anpassen
Der Befehl touch wird zwar meist für Dateien verwendet, aber auch Ordner haben Timestamps, die sich damit definieren lassen:
|
|
Fazit
Der touch-Befehl ist ein unverzichtbares Werkzeug 🔧 in der Linux-Shell.
Du kannst ihn nutzen, um leere Dateien 📄 zu erstellen oder Timestamps 📆 anzupassen.
Hilfe zu touch
Mehr zu touch findest du unter man touch und tldr touch. Details zum Befehl tldr gibt es hier.