touch ist ein Unix-Kommandozeilenprogramm zur Änderung der Zugriffs- und Änderungszeitstempel (atime und mtime) einer Datei oder eines Verzeichnisses. Es ist ein Standardprogramm Unix-ähnlicher Betriebssysteme nach POSIX-Standard, das in Version 7 von AT&Ts Unix auftauchte. Das Programm verwendet den POSIX-Systemaufruf utime(2)
, welcher auf Sekunden genau arbeitet. In BSD-Systemen wurde die Funktion utime(3)
durch utimes(2)
abgelöst. Die Funktion utimensat(2)
im Linux-Kernel kann die Zeitstempel nanosekundengenau verändern.
Mit touch kann nicht der ctime
-Stempel (Change- bzw. Creation-Stempel also Änderungs- bzw. Erstellungszeitstempel) einer Datei geändert werden.
Das Programm touch wird über die Befehlszeile mit dem Befehl touch
und einer Dateiangabe aufgerufen. Dabei kann eine Zeitangabe entsprechend der Unixzeit angegeben werden. Wenn kein Zeitpunkt angegeben wird, wird die aktuelle Systemzeit verwendet. Falls die angegebene Datei nicht existiert, wird sie erstellt, sofern keine Option das unterbindet. Es wird daher auch verwendet, um (leere) Dateien ohne weitere Bearbeitung zu erzeugen. Optionen können angegeben werden, um das Verhalten des Programms zu bestimmen. Die Optionen -a
, -c
, -m
, -r
und -t
sind in POSIX standardisiert.
-a
-c
-d
, --date=STRING
-f
-m
-r
, --reference=FILE
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
angegebene statt der aktuellen Zeit--time=WORD
-a
)-m
)--help
--version
Programme, die ähnliche Operationen ausführen, sind auch für andere Betriebssysteme wie Microsoft Windows und Mac OS Classic verfügbar.
In DR-DOS ist der TOUCH
Befehl ab DR-DOS 3.40 vorhanden.
Um eine neue, leere Datei (mit dem Namen datei) in MS-DOS anzulegen, kann die Befehlssequenz echo off > datei && echo on
verwendet werden.
Der COPY
Befehl gefolgt von dem /B
Parameter, dem Dateinamen und der anschließenden Zeichenfolge +
(sowie optional ,,
) setzt den Zeitstempel der Datei auf die aktuelle Zeit:[1]
copy /B datei+
touch(1)
: change file access and modification times – Open Group Base Specificationtouch(1)
: change file access and modification times – OpenBSD General Commands Manualtouch(1)
: Zeitstempel von Dateien ändern – Debian GNU/Linux Ausführbare Programme oder Shell-Befehle Handbuchseite