Der Befehl touch ändert Dateizeitstempel. Außerdem wird er häufig verwendet, um eine oder mehrere leere Dateien anzulegen.
Befehlszeile · Lektion 5
touch
Lerne, mit touch leere Dateien zu erstellen und Dateizeitstempel zu verwalten.
Die grundlegende Syntax lautet:
touch [OPTIONS] FILE...
Leere Dateien erstellen
Existiert die angegebene Datei noch nicht, erstellt touch sie als leere Datei:
$ touch mysuperduperfile
Du kannst mehrere Dateien in einem Befehl erstellen, indem du ihre Namen nacheinander angibst:
$ touch file1.txt file2.txt file3.log
Das ist praktisch für Platzhalter. touch fügt einer Datei jedoch keinen Text hinzu. Für eine nicht leere Datei benötigst du einen Texteditor oder einen anderen Befehl, der Inhalte schreibt.
Welcher Befehl erstellt drei leere Dateien namens one, two und three, sofern sie noch nicht existieren?
Dateizeitstempel aktualisieren
Dateien speichern mehrere Zeitstempel. Wird touch ohne weitere Optionen auf eine vorhandene Datei angewendet, setzt der Befehl sowohl ihre Zugriffs- als auch ihre Änderungszeit auf die aktuelle Zeit. Der Dateiinhalt bleibt unverändert.
Du kannst die angezeigte Änderungszeit vor und nach dem Befehl vergleichen:
$ ls -l mysuperduperfile
$ touch mysuperduperfile
$ ls -l mysuperduperfile
Die Ausgabe von ls -l zeigt normalerweise die Änderungszeit, nicht die Zugriffszeit.
Was geschieht bei touch report.txt, wenn report.txt bereits existiert?
Den zu ändernden Zeitstempel auswählen
Mit -a änderst du nur die Zugriffszeit, mit -m nur die Änderungszeit:
$ touch -a notes.txt
$ touch -m notes.txt
Welcher Befehl aktualisiert ausschließlich die Änderungszeit von notes.txt?
Eine Zeit setzen oder kopieren
Mit der Option -d gibst du statt der aktuellen Zeit eine Datumszeichenfolge an:
$ touch -d "2026-06-23 12:30:00" mysuperduperfile
Mit -r übernimmst du die Zugriffs- und Änderungszeit einer Referenzdatei:
$ touch -r file1.txt file2.txt
Hier liefert file1.txt die Zeitstempel, während file2.txt geändert wird. Mit -t kannst du eine Zeit außerdem in einem kompakten numerischen Format angeben.
Welcher Befehl kopiert die Zeitstempel von source.txt nach target.txt?
Das Erstellen einer Datei verhindern
Normalerweise erstellt touch eine Datei, wenn der angegebene Pfad nicht existiert. Verwende -c, wenn eine Datei nur dann aktualisiert werden soll, wenn sie bereits vorhanden ist:
$ touch -c existing-file.txt
Fehlt existing-file.txt, legt dieser Befehl sie nicht an. Dieses Verhalten ist in Skripten hilfreich, die einen Zeitstempel aktualisieren sollen, ohne versehentlich eine neue Datei zu erzeugen.
Welcher Befehl aktualisiert status.log, falls die Datei existiert, legt sie aber nicht an, wenn sie fehlt?
Lektion abgeschlossen
Sie haben touch abgeschlossen
Du kannst nun mit touch leere Dateien erstellen und Dateizeitstempel gezielt steuern.
Erstelle eine oder mehrere leere Dateien.
Aktualisiere Zeitstempel, ohne Dateiinhalte zu verändern.
Wähle Zugriffs- oder Änderungszeit gezielt aus.
Setze eine bestimmte Zeit oder kopiere die Zeitstempel einer Referenzdatei.
Verhindere das Erstellen einer fehlenden Datei.
Lernfortschritt speichern
Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.
Kostenloses Konto erstellen