GNU/Linux >> LINUX-Kenntnisse >  >> Linux

5 Beispiele für Linux-Touch-Befehle (So ändern Sie den Dateizeitstempel)

Jede Datei in Linux ist mit Zeitstempeln verknüpft, die die Zeit des letzten Zugriffs, die Zeit der letzten Änderung und die Zeit der letzten Änderung angeben.

Immer wenn wir eine neue Datei erstellen oder eine vorhandene Datei oder ihre Attribute ändern, werden diese Zeitstempel automatisch aktualisiert.

Der Touch-Befehl wird verwendet, um diese Zeitstempel zu ändern (Zugriffszeit, Änderungszeit und Änderungszeit einer Datei).

1. Erstellen Sie eine leere Datei mit Touch

Sie können eine leere Datei mit dem Touch-Befehl erstellen. Das folgende Beispiel erstellt eine neue Null-Byte-Datei mit dem Namen tgs.txt.

$ touch tgs.txt

Sie können auch die Option -c verwenden, um das Erstellen neuer Dateien zu vermeiden. Wenn Sie die Option -c verwenden und eine Datei nicht existiert, erstellt touch die Datei nicht.

$ touch -c a.txt

Befehle wie der Befehl ls und der Befehl find verwenden diese Zeitstempelinformationen zum Auflisten und Suchen von Dateien.

Sie können auch mehr als 1 Datei mit einem einzigen Berührungsbefehl erstellen. Das folgende Beispiel erstellt 4 Dateien mit den Namen a, b, c und d.

$ touch a b c d

2. Ändern Sie die Zugriffszeit der Datei mit -a

Wir können die Zugriffszeit einer Datei mit der Option -a ändern. Standardmäßig wird die aktuelle Systemzeit verwendet und das atime-Feld aktualisiert.

Bevor der Touch-Befehl ausgeführt wird:

$ stat tgs.txt

  File: `tgs.txt'
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d	Inode: 394283      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/lakshmanan)   Gid: ( 1000/lakshmanan)
Access: 2012-10-18 23:58:21.663514407 +0530
Modify: 2012-10-18 23:58:21.663514407 +0530
Change: 2012-10-18 23:58:21.663514407 +0530
$ touch -a tgs.txt

Nach dem obigen Touch-Befehl (Bitte beachten Sie, dass die Zugriffszeit geändert wird):

$ stat tgs.txt

  File: `tgs.txt'
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d	Inode: 394283      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/lakshmanan)   Gid: ( 1000/lakshmanan)
Access: 2012-10-19 00:08:23.559514525 +0530
Modify: 2012-10-18 23:58:21.663514407 +0530
Change: 2012-10-19 00:08:23.559514525 +0530

3. Ändern Sie die Änderungszeit der Datei mit -m

Sie können die Änderungszeit einer Datei mit der Option -m ändern.

$ touch -m *.o

Die obige Methode kann verwendet werden, um die mtime aller obj-Dateien zu ändern, wenn das Dienstprogramm make verwendet wird.

HINWEIS:Es ist nicht möglich, die ctime mit dem Touch-Befehl

zu ändern

4. Explizite Einstellung der Zugriffs- und Änderungszeit mit -t und -d

Anstatt den aktuellen Zeitstempel zu nehmen, können Sie die Zeit explizit angeben, indem Sie die Optionen -t und -d verwenden.

Das Format für die Angabe von -t ist [[CC]YY]MMDDhhmm[.SS]

$ touch -t [[CC]YY]MMDDhhmm[.SS]

Im Folgenden wird das obige Format erläutert:

  • CC – Gibt die ersten beiden Ziffern des Jahres an
  • YY – Gibt die letzten beiden Ziffern des Jahres an. Wenn der Wert von YY zwischen 70 und 99 liegt, wird angenommen, dass der Wert der CC-Ziffern 19 ist. Wenn der Wert von YY zwischen 00 und 37 liegt, wird angenommen, dass der Wert der CC-Ziffern 20 ist Es ist nicht möglich, das Datum über den 18. Januar 2038 hinaus einzustellen.
  • MM – Gibt den Monat an
  • TT – Gibt das Datum an
  • hh – Gibt die Stunde an
  • mm – Gibt die Minute an
  • SS – Gibt die Sekunden an

Zum Beispiel:

$ touch -a -m -t 203801181205.09 tgs.txt

Überprüfen Sie die obige Änderung mit dem Befehl stat:

$ stat tgs.txt
  File: `tgs.txt'
  Size: 3         	Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d	Inode: 394283      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/lakshmanan)   Gid: ( 1000/lakshmanan)
Access: 2038-01-18 12:05:09.000000000 +0530
Modify: 2038-01-18 12:05:09.000000000 +0530
Change: 2012-10-19 00:40:58.763514502 +0530

Sie können auch einen String verwenden, um die Zeit zu ändern

Ein weiteres Beispiel:

$ touch -d "2012-10-19 12:12:12.000000000 +0530" tgs.txt

Für Entwickler ist der Touch-Befehl sehr hilfreich, wenn Sie mit Makefiles arbeiten

5. Kopieren Sie den Zeitstempel aus einer anderen Datei mit -r

Sie können auch eine Datei als Referenz nehmen und die Zeit für andere Dateien aktualisieren, sodass beide Dateien die gleiche Zeit enthalten.

Das folgende Touch-Befehlsbeispiel aktualisiert den Zeitstempel der Datei a.txt mit dem Zeitstempel der Datei tgs.txt.

$ touch a.txt -r tgs.txt

Linux
  1. Verwendung des Linux-Touch-Befehls + Beispiele

  2. mv-Befehl unter Linux:7 wesentliche Beispiele

  3. Beispiele für Linux-Tail-Befehle

  4. ln-Befehlsbeispiele in Linux

  5. file Befehlsbeispiele in Linux

Touch-Befehl in Linux (5 Beispiele)

Linux-WC-Befehl mit Beispielen

Chmod-Befehl – ​​So ändern Sie Dateiberechtigungen in Linux

9 Nützliche Beispiele für Touch-Befehle unter Linux

Linux cat-Befehlsbeispiele

Linux gzip-Befehlsbeispiele