Befehl "touch"
Zweck
Aktualisiert die Zugriffs- und Änderungszeiten einer Datei.
Syntax
touch [-a c m f] [-r Referenzdatei | -t Uhrzeit | -d Datum_Uhrzeit ] Datei... | Verzeichnis
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:
|
| -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:
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:
|
- 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.
- 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
Beispiele
- Geben Sie Folgendes ein, um die Zugriffs-und Änderungszeiten einer Datei zu aktualisieren:
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.touch program.c - Geben Sie Folgendes ein, um die Erstellung einer neuen Datei zu vermeiden:touch -c program.c
- Geben Sie Folgendes ein, um nur die Änderungszeit zu aktualisieren:touch -m *.oDadurch 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.
- Geben Sie Folgendes ein, um die Zugriffs-und Änderungszeiten explizit festzulegen:Dadurch wird der Zeitpunkt für den Zugriff und die Änderung auf 14:25 Uhr am 17. Februar des laufenden Jahres eingestellt.
- Geben Sie Folgendes ein, um die Zeitmarke einer anderen Datei anstelle der aktuellen Zeit zu verwenden:touch -r file1 program.cDies gibt dieprogram.cdieselbe Zeitmarke wie die Dateifile1eportiert.
- Geben Sie Folgendes ein, um eine Datei mit einer anderen angegebenen Uhrzeit als der aktuellen Uhrzeit zu berühren:touch -t 198503030303.55 program.cDies 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. |