Touch: Unterschied zwischen den Versionen

Aus Foxwiki
K Dirkwagner verschob die Seite Linuxbefehl: touch nach Linuxbefehl:touch, ohne dabei eine Weiterleitung anzulegen: Textersetzung - „Linuxbefehl: “ durch „Linuxbefehl:“
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“
 
(80 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Bezeichnung=
'''touch''' - Zeitstempel von Dateien ändern


'''touch''' : Zeitstempel von Dateien ändern
== Beschreibung ==
* Die Zugriffs‐ und Modifikationszeiten jeder DATEI auf die momentane Zeit aktualisieren.
* Ein DATEI-Argument, das nicht existiert, wird leer angelegt, außer wenn -c oder -h angegeben werden.
* Eine DATEI-Argumentzeichenkette mit »-« wird besonders gehandhabt und veranlasst Touch, die Zeiten für die Datei, die mit der Standardausgabe verbunden ist, zu ändern.
* Die obligatorischen Argumente für Optionen sind für deren Kurz- und Langform gleich.


=Übersicht=
== Installation ==
   
== Aufruf ==
touch [OPTION]... DATEI...
  $ '''touch [OPTION]... DATEI...'''


=Option=
=== Optionen ===
{| class="wikitable"
{| class="wikitable sortable"
|-
|-
! Option !! Beschreibung
! Unix !! GNU !! Beschreibung
|-
|-
| --help || Hilfe (eine erweitere Hilfe liefert der Befehl info touch).
| -a || || Nur die Zugriffszeit ändern
|-
|-
| -|| Modifikation des Zugriffszeitstempels der Datei.
| -c || --no-create || Keine Dateien erstellen
|-
|-
| -c oder --no-create] || (Wenn keine Datei vorhanden ist:) Keine Datei erstellen.
| -d || --date=ZEICHENKETTE || ZEICHENKETTE auswerten und statt der aktuellen Zeit verwenden
|-
|-
| -d oder --date=DATUM  || Verwendung von Datum oder STRING statt der augenblicklichen Zeit (siehe auch -t).
| -f || || (ignoriert)
|-
|-
| -h oder --no-dereference || Modifikation des Zeitstempels symbolischer Links, nicht der verlinkten Datei.
| -h || --no-dereference || Betrifft jeden symbolischen Verweis statt irgendeiner referenzierten Datei (nützlich auf Systemen, die die Zeitstempel für symbolische Verweise ändern können.)
|-
|-
| -m || Modifikation des Änderungszeitstempels der Datei.
| -m || || Nur Modifikationszeit ändern
|-
|-
| -r oder --reference=FILE || Verwendung der Zeitstempel der angegebenen Datei statt der augenblicklichen Zeit.
| -r || --reference=DATEI || Die Zeiten dieser Datei anstatt der aktuellen Zeit verwenden
|-
| -t [[CC]YY]MMDDhhmm[.ss] || || Zeitstempel statt aktueller Zeit verwenden
|-
|-
| -t ZEITSTEMPEL || Verwendung von [JJ]MMTThhmm[.ss] statt der augenblicklichen Zeit .
| || --time=WORT || Die angegebene Zeit ändern: WORT ist »access«, »atime« oder »use«: entspricht -a; WORT ist »modify« oder »mtime«: entspricht -m
|-
|-
| || --help || zeigt Hilfeinformationen an und beendet das Programm
|-
| || --version ||gibt Versionsinformationen aus und beendet das Programm
|}
|}


'''Achtung'''
-d und -t akzeptieren verschiedene Zeit‐Datum‐Formate
=== Parameter ===
=== Umgebungsvariablen ===
=== Exit-Status ===
== Anwendung ==
Der Befehl [http://man.splitbrain.org/touch touch] bietet die Möglichkeit die atime und die mtime der Dateien zu manipulieren.
* Per default (ohne andere Optionen) setzt touch für alle Zeitstempel die aktuelle Zeit, ist eine Datei nicht vorhanden wird eine leere normale Datei angelegt.
Über die Optionen '''-t''' oder '''-d''' können beliebige Zeiten bestimmt werden, auf die die Zeitstempel gesetzt werden sollen.
* Auch ist es über die Option '''-r''' möglich eine Referenzzeit einer anderen Datei auszuwählen.
* Mittels der Optionen '''-a''' und '''-m''' ist es möglich nur die atime oder nur die mtime mit touch neu zu setzen.
'''In allen Fällen wird die ctime immer auf das aktuelle Datum gesetzt.'''
Überblick über die gesamten Optionen und Möglichkeiten git die [http://man.splitbrain.org/touch Manpage von touch].
* Für Datei unter Linux werden Zeitstempel gespeichert, die den Zeitpunkt des letzten Zugriffs, des letzten veränderung und der letzten Änderung der Eigenschaften.
* Wird eine Datei neu erstellt oder eine existierende Datei oder ihre Attribute verändert werden diese Zeitstempel automatisch aktualisiert.
* Kommandos wie ls oder find benutzen diese Zeitstempel zur Auflistng und zum finden von Dateien.
* Das Kommando Touch '''touch''' wird benutzt um die Zeitstempel zu ändern (access time, modification time, and change time of a file).
'''touch''' [-acm] [-r ''Referenzdatei''] [-t ''MMDDhhmm''<nowiki>[[</nowiki>''CC'']''YY''][.''ss'']] [-d ''Zeit''] [-time={atime, access, use, mtime, modify}] [-date=''Zeit''] [-file=''Referenzdatei''] [-no-create] ''Datei'' ...
=== Zeitstempel aktualisieren / Datei erstellten ===
'''touch''' setzt die Zugriffs- und die Änderungszeit der ''Datei'' auf die aktuelle Zeit.
* Wenn die ''Datei'' nicht existiert, wird eine leere Datei erzeugt:
$ touh neue_datei
=== Mehrere Dateien erstellen ===
$ touch datei_1 datei_2 datei_3
$ touch datei{_A,_B,_C}
=== Datei erstellten unterbinden (-c) ===
Mit der Option -c werden existierende Dateien aktualisiert, aber keine neuen erstelt:
$ touch -c neue_datei_2
=== Zugriffszeit setzen (-a) ===
Mit der Option -a kann die Zugriffzeit geändert werden.
* Ohne weiter Angabe wird die aktuelle Systemzeit genutzt und in das Feld atime eingetragen.
Vor der Ausführung von touch
$ stat neue_datei
Datei: „neue_datei“
Größe: 0 Blöcke: 0 EA Block: 4096 reguläre leere Datei
Gerät: 20h/32d Inode: 5291574 Verknüpfungen: 1
Zugriff: (0644/-rw-r--r--) Uid: ( 1000/dirkwagner) Gid: ( 2000/dirkwagner)
Zugriff : 2013-07-14 '''02:25:17.812326958 +0200'''
Modifiziert: 2013-07-14 02:25:17.812326958 +0200
Geändert : 2013-07-14 02:25:17.812326958 +0200
Geburt : -
$ touch -a neue_datei
Nach der Ausführung von touch
$ stat neue_datei
Datei: „neue_datei“
Größe: 0 Blöcke: 0 EA Block: 4096 reguläre leere Datei
Gerät: 20h/32d Inode: 5291574 Verknüpfungen: 1
Zugriff: (0644/-rw-r--r--) Uid: ( 1000/dirkwagner) Gid: ( 2000/dirkwagner)
Zugriff : 2013-07-14 '''02:26:35.178102630 +0200'''
Modifiziert: 2013-07-14 02:25:17.812326958 +0200
Geändert : 2013-07-14 02:26:35.178102630 +0200
Geburt : -
=== Änderungzeit setzen (-m) ===
Dder Zeitpunkt der letzten Änderung kann mit der Option -m aktualisiert werden.
$ touch -m neue_datei
'''HINWEIS'''
Es ist mit touch nicht möglih die Erstellungszeit (Geburt) zu ändern
=== Zeitstempel einer anderen Datei kopieren (-r) ===
Der Option -r kann ein Dareiname angegben werden, deren Zeitstempel dann als Referenz benutzt werden.
$ touch neue_datei -r /etc/passwd
=== Zeitangaben festlegen (-t) ===
Mit den Optionen -t und -d können eigene Zeitangaben an touch übergeben werden:
<nowiki>$ touch -t [[CC]YY]MMDDhhmm[.SS]</nowiki>
{| class="wikitable sortable"
|-
| | '''CC'''
| | Jahr (ersten zwei Ziffern)
|-
| | '''YY'''
| | Jahr (letzten beiden Ziffern)
* Bei Werten zwischen 70 und 99 wird für CC der Wert 19 angenommen.
* Bei Werten zwischen 00 und 37 wird für CC der Wert 20 angenommen.
* Es ist nicht möglich, ein Datum jenseits des 18. Januar 2038 zu setzten.
|-
| | '''MM'''
| | Monat
|-
| | '''DD'''
| | Tag
|-
| | '''hh'''
| | Stunde
|-
| | '''mm'''
| | Minute
|-
| | '''SS'''
| | Sekunden
|-
|}
; Beispiel
$ touch -a -m -t 203801181205.09 neue_datei
;Prüfung der Änderung mit stat
$ stat neue_datei
Datei: „neue_datei“
Größe: 0 Blöcke: 0 EA Block: 4096 reguläre leere Datei
Gerät: 20h/32d Inode: 5291574 Verknüpfungen: 1
Zugriff: (0644/-rw-r--r--) Uid: ( 1000/dirkwagner) Gid: ( 2000/dirkwagner)
Zugriff : '''2038-01-18 12:05:09'''.000000000 +0100
Modifiziert: '''2038-01-18 12:05:09'''.000000000 +0100
Geändert : 2013-07-14 02:52:12.117238294 +0200
Geburt : -
=== Datumszeichenketten ===
Bei der Anweisung --date=ZEICHENKETTE kann ein menschenlesbares Datum auf Englisch in einem ziemlich freien Format angegeben werden, beispielsweise
* »Sun, 29 Feb 2004 16:21:42 -0800«
* »2004-02-29 16:21:42« oder sogar
* »next Thursday« (nächster Donnerstag).
Eine Datumszeichenkette darf Teile enthalten, die das Kalenderdatum angeben, die Tageszeit, Zeitzone, den Tag der Woche, eine relative Zeit, ein relatives Datum sowie Zahlen.
* Eine leere Zeichenkette bedeutet den Anfang des aktuellen Tages.
Das Format der Datumszeichenkette ist komplexer, als es hier in einfachen Worten beschrieben werden kann. In der Info-Dokumentation ist es vollständig erklärt.
=== Problembehebung ===
== Konfiguration ==
=== Dateien ===
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
==== Sicherheit ====
==== Dokumentation ====
$ info '(coreutils) touch invocation'
Vollständige Dokumentation unter: <https://www.gnu.org/software/coreutils/touch>
===== RFC =====
===== Man-Page =====
===== Info-Pages =====
==== Links ====
===== Einzelnachweise =====
<references />
===== Projekt =====
===== Weblinks =====
<noinclude>
[[Kategorie:Linux/Datei/Zeit]]
[[Kategorie:Linux/Befehl]]
[[Kategorie:Coreutils]]


[[Category:Linuxbefehle]]
{{DEFAULTSORT:touch}}
[[Category:Linux]]
{{DISPLAYTITLE:touch}}
[[Category:Linux:LPIC:101]]
</noinclude>

Aktuelle Version vom 12. November 2024, 19:38 Uhr

touch - Zeitstempel von Dateien ändern

Beschreibung

  • Die Zugriffs‐ und Modifikationszeiten jeder DATEI auf die momentane Zeit aktualisieren.
  • Ein DATEI-Argument, das nicht existiert, wird leer angelegt, außer wenn -c oder -h angegeben werden.
  • Eine DATEI-Argumentzeichenkette mit »-« wird besonders gehandhabt und veranlasst Touch, die Zeiten für die Datei, die mit der Standardausgabe verbunden ist, zu ändern.
  • Die obligatorischen Argumente für Optionen sind für deren Kurz- und Langform gleich.

Installation

Aufruf

$ touch [OPTION]... DATEI...

Optionen

Unix GNU Beschreibung
-a Nur die Zugriffszeit ändern
-c --no-create Keine Dateien erstellen
-d --date=ZEICHENKETTE ZEICHENKETTE auswerten und statt der aktuellen Zeit verwenden
-f (ignoriert)
-h --no-dereference Betrifft jeden symbolischen Verweis statt irgendeiner referenzierten Datei (nützlich auf Systemen, die die Zeitstempel für symbolische Verweise ändern können.)
-m Nur Modifikationszeit ändern
-r --reference=DATEI Die Zeiten dieser Datei anstatt der aktuellen Zeit verwenden
-t [[CC]YY]MMDDhhmm[.ss] Zeitstempel statt aktueller Zeit verwenden
--time=WORT Die angegebene Zeit ändern: WORT ist »access«, »atime« oder »use«: entspricht -a; WORT ist »modify« oder »mtime«: entspricht -m
--help zeigt Hilfeinformationen an und beendet das Programm
--version gibt Versionsinformationen aus und beendet das Programm
Achtung
-d und -t akzeptieren verschiedene Zeit‐Datum‐Formate

Parameter

Umgebungsvariablen

Exit-Status

Anwendung

Der Befehl touch bietet die Möglichkeit die atime und die mtime der Dateien zu manipulieren.

  • Per default (ohne andere Optionen) setzt touch für alle Zeitstempel die aktuelle Zeit, ist eine Datei nicht vorhanden wird eine leere normale Datei angelegt.

Über die Optionen -t oder -d können beliebige Zeiten bestimmt werden, auf die die Zeitstempel gesetzt werden sollen.

  • Auch ist es über die Option -r möglich eine Referenzzeit einer anderen Datei auszuwählen.
  • Mittels der Optionen -a und -m ist es möglich nur die atime oder nur die mtime mit touch neu zu setzen.

In allen Fällen wird die ctime immer auf das aktuelle Datum gesetzt.

Überblick über die gesamten Optionen und Möglichkeiten git die Manpage von touch.

  • Für Datei unter Linux werden Zeitstempel gespeichert, die den Zeitpunkt des letzten Zugriffs, des letzten veränderung und der letzten Änderung der Eigenschaften.
  • Wird eine Datei neu erstellt oder eine existierende Datei oder ihre Attribute verändert werden diese Zeitstempel automatisch aktualisiert.
  • Kommandos wie ls oder find benutzen diese Zeitstempel zur Auflistng und zum finden von Dateien.
  • Das Kommando Touch touch wird benutzt um die Zeitstempel zu ändern (access time, modification time, and change time of a file).
touch [-acm] [-r Referenzdatei] [-t MMDDhhmm[[CC]YY][.ss]] [-d Zeit] [-time={atime, access, use, mtime, modify}] [-date=Zeit] [-file=Referenzdatei] [-no-create] Datei ...

Zeitstempel aktualisieren / Datei erstellten

touch setzt die Zugriffs- und die Änderungszeit der Datei auf die aktuelle Zeit.

  • Wenn die Datei nicht existiert, wird eine leere Datei erzeugt:
$ touh neue_datei

Mehrere Dateien erstellen

$ touch datei_1 datei_2 datei_3
$ touch datei{_A,_B,_C}

Datei erstellten unterbinden (-c)

Mit der Option -c werden existierende Dateien aktualisiert, aber keine neuen erstelt:

$ touch -c neue_datei_2

Zugriffszeit setzen (-a)

Mit der Option -a kann die Zugriffzeit geändert werden.

  • Ohne weiter Angabe wird die aktuelle Systemzeit genutzt und in das Feld atime eingetragen.

Vor der Ausführung von touch

$ stat neue_datei
Datei: „neue_datei“
Größe: 0 Blöcke: 0 EA Block: 4096 reguläre leere Datei
Gerät: 20h/32d Inode: 5291574 Verknüpfungen: 1
Zugriff: (0644/-rw-r--r--) Uid: ( 1000/dirkwagner) Gid: ( 2000/dirkwagner)
Zugriff : 2013-07-14 02:25:17.812326958 +0200
Modifiziert: 2013-07-14 02:25:17.812326958 +0200
Geändert : 2013-07-14 02:25:17.812326958 +0200
Geburt : -
$ touch -a neue_datei

Nach der Ausführung von touch

$ stat neue_datei
Datei: „neue_datei“
Größe: 0 Blöcke: 0 EA Block: 4096 reguläre leere Datei
Gerät: 20h/32d Inode: 5291574 Verknüpfungen: 1
Zugriff: (0644/-rw-r--r--) Uid: ( 1000/dirkwagner) Gid: ( 2000/dirkwagner)
Zugriff : 2013-07-14 02:26:35.178102630 +0200
Modifiziert: 2013-07-14 02:25:17.812326958 +0200
Geändert : 2013-07-14 02:26:35.178102630 +0200
Geburt : -

Änderungzeit setzen (-m)

Dder Zeitpunkt der letzten Änderung kann mit der Option -m aktualisiert werden.

$ touch -m neue_datei
HINWEIS
Es ist mit touch nicht möglih die Erstellungszeit (Geburt) zu ändern

Zeitstempel einer anderen Datei kopieren (-r)

Der Option -r kann ein Dareiname angegben werden, deren Zeitstempel dann als Referenz benutzt werden.

$ touch neue_datei -r /etc/passwd

Zeitangaben festlegen (-t)

Mit den Optionen -t und -d können eigene Zeitangaben an touch übergeben werden:

$ touch -t [[CC]YY]MMDDhhmm[.SS]
CC Jahr (ersten zwei Ziffern)
YY Jahr (letzten beiden Ziffern)
  • Bei Werten zwischen 70 und 99 wird für CC der Wert 19 angenommen.
  • Bei Werten zwischen 00 und 37 wird für CC der Wert 20 angenommen.
  • Es ist nicht möglich, ein Datum jenseits des 18. Januar 2038 zu setzten.
MM Monat
DD Tag
hh Stunde
mm Minute
SS Sekunden
Beispiel
$ touch -a -m -t 203801181205.09 neue_datei
Prüfung der Änderung mit stat
$ stat neue_datei
Datei: „neue_datei“
Größe: 0 Blöcke: 0 EA Block: 4096 reguläre leere Datei
Gerät: 20h/32d Inode: 5291574 Verknüpfungen: 1
Zugriff: (0644/-rw-r--r--) Uid: ( 1000/dirkwagner) Gid: ( 2000/dirkwagner)
Zugriff : 2038-01-18 12:05:09.000000000 +0100
Modifiziert: 2038-01-18 12:05:09.000000000 +0100
Geändert : 2013-07-14 02:52:12.117238294 +0200
Geburt : -

Datumszeichenketten

Bei der Anweisung --date=ZEICHENKETTE kann ein menschenlesbares Datum auf Englisch in einem ziemlich freien Format angegeben werden, beispielsweise

  • »Sun, 29 Feb 2004 16:21:42 -0800«
  • »2004-02-29 16:21:42« oder sogar
  • »next Thursday« (nächster Donnerstag).

Eine Datumszeichenkette darf Teile enthalten, die das Kalenderdatum angeben, die Tageszeit, Zeitzone, den Tag der Woche, eine relative Zeit, ein relatives Datum sowie Zahlen.

  • Eine leere Zeichenkette bedeutet den Anfang des aktuellen Tages.

Das Format der Datumszeichenkette ist komplexer, als es hier in einfachen Worten beschrieben werden kann. In der Info-Dokumentation ist es vollständig erklärt.

Problembehebung

Konfiguration

Dateien

Anhang

Siehe auch

Sicherheit

Dokumentation

$ info '(coreutils) touch invocation'

Vollständige Dokumentation unter: <https://www.gnu.org/software/coreutils/touch>

RFC
Man-Page
Info-Pages

Links

Einzelnachweise
Projekt
Weblinks