touch (Unix)

Unix-Kommandozeilenprogramm

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

Bearbeiten

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

Bearbeiten

-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

Bearbeiten

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+

Bearbeiten

Einzelnachweise

Bearbeiten
  1. Raymond Chen: Why is the syntax for touching a file from the command prompt so strange? In: Microsoft Devblogs. Microsoft, 10. Juli 2013, abgerufen am 19. August 2024 (englisch).