|
|
Zeile 91: |
Zeile 91: |
|
| |
|
| == Installation == | | == Installation == |
| == 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.
| |
|
| |
| [[Kategorie:Linux/Datei/Dateinamen]] | | [[Kategorie:Linux/Datei/Dateinamen]] |
| [[Kategorie:Linux/Befehl]] | | [[Kategorie:Linux/Befehl]] |
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
Syntax
$ 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
Fehlerbehebung
Konfiguration
Dateien
Anhang
Siehe auch
Sicherheit
Dokumentation
$ info '(coreutils) touch invocation'
Vollständige Dokumentation unter: <https://www.gnu.org/software/coreutils/touch>
RFC
Man-Pages
Info-Pages
Links
Einzelnachweise
Projekt
Weblinks
Testfragen
TMP
Installation