Der touch
Hauptzweck des Befehls besteht darin, die Zeitstempel von Dateien zu bearbeiten und Dateien zu erstellen.
Beispiele
1. Dateien erstellen
$ ls -l
total 0
$ touch file{1..3}
$ ls -l
total 0
-rw-rw-r--. 1 saml saml 0 Jan 12 13:33 file1
-rw-rw-r--. 1 saml saml 0 Jan 12 13:33 file2
-rw-rw-r--. 1 saml saml 0 Jan 12 13:33 file3
HINWEIS: Die total 0
Ausgabe von ls -l
ist korrekt. Diese Implementierung von ls
zeigt die Anzahl der Blöcke an, die von den Dateien verwendet werden, wenn sie aufgelistet sind. Sie können sich davon überzeugen, indem Sie den -s
Schalter zu hinzufügen ls
. Dies listet die von jeder Datei verwendeten Blöcke auf. Hier habe ich 2 Zeichen zu Datei1 & Datei2 hinzugefügt.
Beispiel
$ ls -ls
total 8
4 -rw-rw-r--. 1 saml saml 3 Jan 13 12:07 file1
4 -rw-rw-r--. 1 saml saml 3 Jan 13 12:09 file2
0 -rw-rw-r--. 1 saml saml 0 Jan 13 12:05 file3
2. Zeit- / Datumsinfo eines Datei-Stat-Befehls
$ stat file1
File: ‘file1’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd02h/64770d Inode: 11403667 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ saml) Gid: ( 1000/ saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2014-01-12 13:33:38.279456149 -0500
Modify: 2014-01-12 13:33:38.279456149 -0500
Change: 2014-01-12 13:33:38.279456149 -0500
Birth: -
Wir können touch
die verschiedenen Zeitstempel für eine bestimmte Datei bearbeiten.
3. Auszug aus der Touch-Manpage
-a change only the access time
-m change only the modification time
-t STAMP
use [[CC]YY]MMDDhhmm[.ss] instead of current time
4. Zugriffszeit manipulieren
$ touch -a -t200001010000 file1
$ stat file1
File: ‘file1’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd02h/64770d Inode: 11403667 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ saml) Gid: ( 1000/ saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2000-01-01 00:00:00.000000000 -0500
Modify: 2014-01-12 13:33:38.279456149 -0500
Change: 2014-01-12 13:38:52.023434696 -0500
Birth: -
5. Ändern Sie die Uhrzeit
$ touch -m -t200001010000 file1
$ stat file1
File: ‘file1’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd02h/64770d Inode: 11403667 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ saml) Gid: ( 1000/ saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2000-01-01 00:00:00.000000000 -0500
Modify: 2000-01-01 00:00:00.000000000 -0500
Change: 2014-01-12 13:39:31.060432026 -0500
Birth: -
Sie wundern sich vielleicht über die Änderungszeit (ctime). Das kann nicht mit manipuliert werden touch
. Hier wird der Zeitpunkt aufgezeichnet, zu dem Metadaten in der Datei berührt wurden. In dieser U & L-Frage und Antwort finden Sie weitere Informationen mit dem Titel: Was können Sie mit einer Datei tun, ohne den Zeitstempel "Ändern" auszulösen? .
echo -n > filename
können Sie Folgendes>filename