staging.inyokaproject.org

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:

Wiki/Icons/terminal.png 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.

Diese Revision wurde am 18. März 2017 17:31 von noisefloor erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Shell