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

So bearbeiten Sie eine Datei, ohne ihre Zeitstempel in Linux zu ändern

Wie Sie vielleicht wissen, werden die Zeitstempel „Zugriffszeit“ und „Änderungszeit“ einer Datei auf die aktuelle Zeit geändert, nachdem die Datei bearbeitet oder geändert wurde. Manchmal möchten Sie möglicherweise die alten Zeitstempel aus irgendeinem Grund beibehalten, selbst nachdem Sie die Dateien bearbeitet oder geändert haben. Diese kurze Anleitung erklärt, wie Sie eine Datei bearbeiten, ohne ihre Zeitstempel in Linux zu ändern.

Wenn Sie nicht viel über Linux-Dateizeitstempel wissen, lesen Sie die folgende Anleitung.

  • Linux-Dateizeitstempel mit Beispielen erklärt

Eine Datei bearbeiten, ohne ihre Zeitstempel in Linux zu ändern

Die Zeitstempel einer Datei können mit touch aktualisiert werden Befehl. Die Zeitstempel werden auch aktualisiert, wenn wir manuell Inhalte zu einer Datei hinzufügen oder Daten daraus entfernen. Wenn Sie den Inhalt von Dateien ändern möchten, ohne ihre Zeitstempel zu ändern, gibt es keine direkte Möglichkeit, dies zu tun. Aber es ist möglich!

Wir können einen der touch verwenden Befehlsoption -r (Referenz), um Dateizeitstempel nach dem Bearbeiten oder Ändern beizubehalten. Das -r Option wird verwendet, um die Zeitstempel einer Datei auf die Zeitstempelwerte einer anderen Datei zu setzen.

Ich habe eine Textdatei namens ostechnix.txt . Schauen wir uns die Zeitstempel dieser Datei mit stat an Befehl:

$ stat ostechnix.txt 
  File: ostechnix.txt
  Size: 38        	Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d	Inode: 4351679     Links: 1
Access: (0775/-rwxrwxr-x)  Uid: ( 1000/      sk)   Gid: ( 1000/      sk)
Access: 2020-11-12 19:47:55.992788870 +0530
Modify: 2020-11-12 19:47:55.992788870 +0530
Change: 2020-11-12 19:47:55.992788870 +0530
 Birth: -

Wie bereits erwähnt, ändern sich auch die Zeitstempel, wenn wir den Inhalt oder die Metadaten dieser Datei ändern.

Erstellen Sie nun eine neue, leere Datei, zum Beispiel ostechnix.timestamp , mit denselben Zeitstempeln wie ostechnix.txt Datei mit touch Befehl:

$ touch -r ostechnix.txt ostechnix.timestamp

Überprüfen Sie die Zeitstempel der neuen Datei:

$ stat ostechnix.timestamp 
  File: ostechnix.timestamp
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d	Inode: 4328645     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/      sk)   Gid: ( 1000/      sk)
Access: 2020-11-12 19:47:55.992788870 +0530
Modify: 2020-11-12 19:47:55.992788870 +0530
Change: 2020-11-12 19:48:48.934235300 +0530
 Birth: -

Sehen? Die Zeit beider Dateien und mtime Zeitstempel sind gleich!

Nehmen Sie nun die Änderungen in der Hauptdatei vor, also ostechnix.txt . Wie Sie vermutet haben, werden sich die Zeitstempel der Hauptdatei ändern.

Kopieren Sie schließlich die Zeitstempel der neuen Datei, z. B. ostechnix.timestamp zur Hauptdatei:

$ touch -r ostechnix.timestamp ostechnix.txt

Jetzt hat die Hauptdatei ihre alten Zeitstempel, bevor sie bearbeitet/geändert wurde.

Bitte beachten Sie, dass wir die Zeitstempel der Änderungszeit (ctime) nicht beibehalten können. Es wird immer auf die aktuelle Uhrzeit aktualisiert.

TL;DR

Erstellen Sie mit touch eine neue Datei mit denselben Zeitstempeln wie die Hauptdatei Befehl, nehmen Sie die Änderungen in der Hauptdatei vor und setzen Sie die Zeitstempel der neuen Datei mit -r auf die Hauptdatei Option.

Hoffe das hilft.


Linux
  1. Verschieben von Dateien unter Linux ohne mv

  2. So verwalten Sie Linux-Dateifunktionen

  3. So erstellen Sie einen Swap unter Linux

  4. So erstellen Sie eine Auslagerungsdatei unter Linux

  5. Wie benenne ich eine Datei unter Linux um?

Linux-Hostdatei:Wie wird sie bearbeitet und verwendet?

Wie man eine Datei unter Linux ausführbar macht

So überprüfen Sie die Prüfsumme unter Linux

So benennen Sie eine Datei (en) in Linux um

So verknüpfen Sie eine Datei unter Linux per Symlink

So öffnen Sie ein ISO-Image, ohne es unter Linux auf Disc zu brennen