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
touch
erstellen 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:
-c
oder--no-create
= Dateien werden nicht erstellt-r
oderreference_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:
-d
oder--date
= Datum angeben, wobei Werte wie2024-02-29 16:21:42
odernext Thursday
mö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.