touch
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Mit dem Befehl touch
lassen sich Zugriffs- und Änderungs-Zeitstempel von Dateien ändern. Existiert die von touch zu ändernde Datei nicht, wird sie neu angelegt. touch wird daher häufig auch zum Erstellen leerer Dateien verwendet.
Installation¶
Das Programm touch ist im essentiellen Paket
coreutils
von Ubuntu enthalten und deshalb auf jedem System bereits vorinstalliert.
Aufruf¶
Hinweis:
Der unter Windows vorhandene Zeitstempel "Erstellt am…" ist zwar auch bei Linux (crtime
, ab ext3) vorhanden, kann aber nicht ausgelesen werden (997093).
Die allgemeine Syntax lautet [1]:
touch OPTION DATEI
touch
kennt folgende Optionen:
Optionen von touch | |
Option | Beschreibung |
--help | Hilfe (eine erweitere Hilfe liefert der Befehl info touch ) |
-a | Modifikation des Zugriffszeitstempels der Datei |
-c oder --no-create | (Wenn keine Datei vorhanden ist:) Keine Datei erstellen |
-d oder --date=DATUM | Verwendung von Datum oder STRING statt der augenblicklichen Zeit (siehe auch -t ) |
-h oder --no-dereference | Modifikation des Zeitstempels symbolischer Links, nicht der verlinkten Datei |
-m | Modifikation des Änderungszeitstempels der Datei |
-r oder --reference=FILE | Verwendung der Zeitstempel der angegebenen Datei statt der augenblicklichen Zeit |
-t ZEITSTEMPEL | Verwendung von [JJ]MMTThhmm[.ss] statt der augenblicklichen Zeit |
Pflichtangaben langer Optionen sind auch für die entsprechenden Kürzel obligatorisch.
Beispiele¶
Mit dem folgenden Befehl wird eine leere Datei datei.txt erstellt:
touch datei.txt
Die Datei datei.txt verfügt (nach einer Bearbeitung) über folgende Zeitstempel, wie sich mit stat ermitteln lässt:
stat datei.txt
File: `datei.txt' (…) Access: 2012-01-29 18:35:34.673330788 +0100 Modify: 2012-01-29 18:34:32.909780882 +0100 Change: 2012-01-29 18:35:34.673330788 +0100
Mit dem Befehl
touch datei.txt
werden alle Zeitstempel auf die gegenwärtige Zeit geändert:
stat datei.txt
File: `datei.txt' (…) Access: 2012-01-29 18:42:14.564376369 +0100 Modify: 2012-01-29 18:42:14.564376369 +0100 Change: 2012-01-29 18:42:14.564376369 +0100
Mit dem folgenden Befehl
touch -t 0912311627 datei.txt
werden Zugriff- und Änderungszeitstempel auf den 31. Dezember 2009, 16:27 Uhr geändert.
stat datei.txt
File: `datei.txt' (…) Access: 2009-12-31 16:27:00.000000000 +0100 Modify: 2009-12-31 16:27:00.000000000 +0100 Change: 2012-01-29 18:45:01.310207242 +0100
Und schließlich wird mit dem Befehl
touch -m -t 1008170539 datei.txt
nur der Änderungszeitstempel auf den 17. August 2010, 5:39 Uhr geändert.
stat datei.txt
File: `datei.txt' (…) Access: 2009-12-31 16:27:00.000000000 +0100 Modify: 2010-08-17 05:39:00.000000000 +0200 Change: 2012-01-29 18:48:14.557583443 +0100
Mit diesem Befehl
touch -r datei.txt -d "-2 months -5 days" datei.txt
werden Zugriff- und Änderungszeitstempel relativ zu den bestehenden um 2 Monate und 5 Tage zurückgesetzt (unter Beachtung eines Bugreports 🇬🇧). Wird die -r
-Option weggelassen, wird der Zeitstempel relativ zur gegenwärtigen Zeit berechnet.
Links¶
Shell/Befehlsübersicht Übersicht über verschiedene Shell-Befehle