Befehl "touch"

Zweck

Aktualisiert die Zugriffs- und Änderungszeiten einer Datei.

Syntax

touch [ -a ] [ -c ] [ -m ] [ -f ] [ -r Referenzdatei ] [ Uhrzeit | -t Uhrzeit | -d Datum_Uhrzeit] { Datei ... | Verzeichnis ... }
Hinweis: Die vorstehende Syntax ist nur anwendbar, wenn der UNIX03 im AIX® nicht aktiviert ist.

touch [-a c m f] [-r Referenzdatei | -t Uhrzeit | -d Datum_Uhrzeit ] Datei... | Verzeichnis

Hinweis: Die vorstehende Syntax gilt nur, wenn der Modus UNIX03 aktiviert ist. Um den Modus UNIX03 im Betriebssystem AIX zu aktivieren, müssen Sie den Wert der Umgebungsvariablen XPG_SUS_ENV auf ONsetzen.

Beschreibung

Der Befehl touch aktualisiert die Zugriffs- und Änderungszeiten jeder mit dem Parameter Datei angegebenen Datei in jedem mit dem Parameter Verzeichnis angegebenen Verzeichnis. Wenn Sie für die Variable Zeit keinen Wert angeben, verwendet der Befehl touch die aktuelle Zeit. Wenn Sie eine Datei angeben, die nicht vorhanden ist, erstellt der Befehl touch die Datei, sofern Sie das Flag -c nicht angeben.

Der Rückgabecode des Befehls touch entspricht der Anzahl der Dateien, für die die Zeiten nicht erfolgreich geändert werden konnten (einschließlich Dateien, die nicht vorhanden waren und nicht erstellt wurden).

Die Flags -a und -m sind auch dann aktiv, wenn Sie sie nicht im Befehl touch angeben.

Flags

Element Beschreibung
-A Ändert die Zugriffszeit der mit der Variablen Datei angegebenen Datei. Die Änderungszeit wird nicht geändert, sofern das Flag -m nicht ebenfalls angegeben ist.
-c Erstellt die Datei nicht, wenn sie nicht existiert. Es werden keine Diagnosenachrichten für diese Bedingung ausgegeben.
-d Datum_Zeit Verwendet das angegebene Datum und die angegebene Zeit anstelle der aktuellen Zeit. Die Variable Datum_Uhrzeit wird im Dezimalformat, YYYY-MM-DDThh:mm:SS[.frac][tz] oder YYYY-MM-DDThh:mm:SS[,frac][tz] angegeben. Erläuterungen finden Sie im Folgenden:
JJJJ
Gibt die vier Ziffern des Jahres (0000 bis 9999) an.
MM
Gibt den Monat des Jahres an (01 bis 12).
DD
Gibt den Tag des Monats (01 bis 31) an.
hh
Gibt die Stunde des Tages an (00 bis 23).
mm
Gibt die Minute der Stunde an (00 bis 59).
SS
Gibt die Sekunde der Minute an (00 bis 59).
T
Gibt einen Zeitbezeichner an, der durch ein einzelnes Leerzeichen ersetzt werden kann.
[.frac]
Gibt einen Sekundenbruchteil an. Dieser kann leer oder ein Punkt (.) gefolgt von einer oder mehreren Dezimalstellen sein.
[, frac]
Gibt einen Sekundenbruchteil an. Dies ist ein Komma (,) gefolgt von einer oder mehreren Dezimalstellen.
[tz]
Wenn der Wert des Parameters [tz] leer ist, wird die lokale Zeitzone für die Zeitangabe verwendet. Wenn der Wert des Parameters [tz] das Zeichen Z ist, wird UTC für die Zeitangabe verwendet. Wenn der Wert des Parameters [tz] leer ist, wird der Wert der Umgebungsvariablen TimezoneInfo (TZ) für die Ermittlung der Zeit verwendet. Der Wert des Parameters [tz] ist implementierungsspezifisch, wenn die generierte Zeit vor der Epochenzeit liegt. Wenn die generierte Zeit nicht als Zeitmarke der Datei, die mit dem Parameter Datei angegeben ist, dargestellt werden kann, wird der Befehl touch mit einem Fehlerstatus beendet.
-F Versucht, die touch-Operation trotz der Lese- und Schreibberechtigungen für eine Datei zu erzwingen.
-m Ändert die Änderungszeit der angegebenen Datei. Ändert die Zugriffszeit nur, wenn auch das Flag -a angegeben ist.
-r RefFile Verwendet die entsprechende Zeit der mit der Variablen Referenzdatei angegebenen Datei anstelle der aktuellen Zeit.
Zeit Gibt das Datum und die Uhrzeit der neuen Zeitmarke im Format MMDDhhmm[YY] an. Erläuterungen:
MM
Gibt den Monat des Jahres an (01 bis 12).
DD
Gibt den Tag des Monats (01 bis 31) an.
hh
Gibt die Stunde des Tages an (00 bis 23).
mm
Gibt die Minute der Stunde an (00 bis 59).
YY
Gibt die letzten beiden Ziffern des Jahres an. Wenn die Variable YY nicht angegeben ist, wird standardmäßig das aktuelle Jahr (70 bis 99 oder 00 bis 37) verwendet.

Wenn der Wert für die Ziffern YY zwischen 70 und 99 liegt, wird 19 als Jahrhundert angenommen.

Wenn der Wert für die Ziffern YY zwischen 00 und 37 liegt, wird 20 als Jahrhundert angenommen.

-t Zeit Verwendet die angegebene Uhrzeit anstelle der aktuellen Uhrzeit. Die Variable Zeit wird im Dezimalformat [[CC]YY]MMDDhhmm[.SS] angegeben. Erläuterungen:
CC
Gibt die ersten beiden Ziffern des Jahres an (19 bis 21).
YY
Gibt die letzten beiden Ziffern des Jahres an (00 bis 99).

Wenn der Wert für die Ziffern YY zwischen 70 und 99 liegt, wird 19 für die Ziffern CC angenommen.

Wenn der Wert für die Ziffern YY zwischen 00 und 37 liegt, wird 20 für die Ziffern CC angenommen.

Geben Sie für Jahre nach 2038 das Jahr im Format JJJJ an.

MM
Gibt den Monat des Jahres an (01 bis 12).
DD
Gibt den Tag des Monats (01 bis 31) an.
hh
Gibt die Stunde des Tages an (00 bis 23).
mm
Gibt die Minute der Stunde an (00 bis 59).
SS
Gibt die Sekunde der Minute an (00 bis 59).
   
Hinweis:
  1. Der Befehl touch ruft die Subroutine utimenstat () auf, um die Änderungs-und Zugriffszeiten der betroffenen Datei zu ändern. Dies kann dazu führen, dass der Befehl touch fehlschlägt, wenn Flags verwendet werden und Sie nicht der Eigner der Datei sind, obwohl Sie möglicherweise Schreibberechtigung für die Datei haben.
  2. Geben Sie nicht den vollständigen Pfadnamen /usr/bin/touch an, wenn Sie bei Verwendung des Befehls touch eine Fehlernachricht erhalten.

Exitstatus

Dieser Befehl gibt die folgenden Exitwerte zurück:

Element Beschreibung
0 Der Befehl wurde erfolgreich ausgeführt. Alle angeforderten Änderungen wurden vorgenommen.
>0 Es ist ein Fehler aufgetreten.

Sicherheit

hm

Achtung RBAC-Benutzer und vertrauenswürdige AIX: Dieser Befehl kann privilegierte Operationen durchführen. Privilegierte Operationen können nur von privilegierten Benutzern ausgeführt werden. Weitere Informationen über Berechtigungen und Privilegien finden Sie unter Privilegierte Befehlsdatenbank in Sicherheit. Eine Liste der Berechtigungen und Autorisierungen, die diesem Befehl zugeordnet sind, finden Sie in den Beschreibungen des Befehls lssecattr und des Unterbefehls getcmdattr.

Beispiele

  1. Geben Sie Folgendes ein, um die Zugriffs-und Änderungszeiten einer Datei zu aktualisieren:
    touch program.c
    Dadurch werden die letzten Zugriffs-und Änderungszeiten derprogram.cauf das aktuelle Datum und die aktuelle Uhrzeit. Wenn dasprogram.cDatei nicht vorhanden ist, erstellt der Befehl touch eine leere Datei mit diesem Namen.
  2. Geben Sie Folgendes ein, um die Erstellung einer neuen Datei zu vermeiden:
    touch  -c program.c
  3. Geben Sie Folgendes ein, um nur die Änderungszeit zu aktualisieren:
    touch  -m *.o
    Dadurch werden die letzten Änderungszeiten (nicht die Zugriffszeiten) der Dateien aktualisiert, die mit einem.oErweiterung im aktuellen Verzeichnis. Der Befehl touch wird häufig auf diese Weise verwendet, um die Ergebnisse des Befehls make zu ändern.
  4. Geben Sie Folgendes ein, um die Zugriffs-und Änderungszeiten explizit festzulegen:
    touch  -c  -t 02171425 program.c
    Dadurch wird der Zeitpunkt für den Zugriff und die Änderung auf 14:25 Uhr am 17. Februar des laufenden Jahres eingestellt.
  5. Geben Sie Folgendes ein, um die Zeitmarke einer anderen Datei anstelle der aktuellen Zeit zu verwenden:
    touch  -r file1 program.c
    Dies gibt dieprogram.cdieselbe Zeitmarke wie die Dateifile1eportiert.
  6. Geben Sie Folgendes ein, um eine Datei mit einer anderen angegebenen Uhrzeit als der aktuellen Uhrzeit zu berühren:
    touch  -t 198503030303.55 program.c
    Dies gibt dieprogram.cDatei eine Zeitmarke von 3:03:55 a.m. am 3. März 1985.

Dateien

Element Beschreibung
/usr/bin/touch Enthält den Befehl touch.