Touch (Unix)
# Touch (Unix)

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.

## Bedienung

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.

## Optionen

-a

    ändert nur den Access Stempel (Zugriffszeit)

-c

    keine neuen (leeren) Dateien erstellen, wenn der Name einer nicht existenten Datei angegeben wird

-d, --date=STRING

    analysiert STRING und nutzt es anstelle der aktuellen Zeit

-f

    (wird ignoriert)

-m

    ändert nur den Modification Stempel (Änderungszeit)

-r, --reference=FILE

    nutzt die Zeiten der angegebenen Referenzdatei statt der aktuellen Zeit

-t STAMP

    nutzt die im Format [[CC]YY]MMDDhhmm[.ss] angegebene statt der aktuellen Zeit

--time=WORD

    ändert die angegebene Zeit:
       WORD darf sein: access, atime, use (äquivalent zu -a)
       WORD darf sein: modify, mtime (äquivalent zu -m)

--help

    zeigt die Hilfe an und beendet das Programm

--version

    gibt die Versionsinformation aus und beendet das Programm

## Andere Betriebssysteme

Programme, die ähnliche Operationen ausführen, sind auch für andere Betriebssysteme wie Microsoft Windows und Mac OS Classic verfügbar.

