GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo editar un archivo sin cambiar sus marcas de tiempo en Linux

Como sabrá, las marcas de tiempo de "hora de acceso" y "hora de modificación" de un archivo se cambiarán a la hora actual después de editar o modificar el archivo. A veces, es posible que desee conservar las marcas de tiempo antiguas por cualquier motivo, incluso después de editar o modificar los archivos. Esta breve guía explica cómo editar un archivo sin cambiar sus marcas de tiempo en Linux.

Si no sabe mucho sobre las marcas de tiempo de los archivos de Linux, consulte la siguiente guía.

  • Las marcas de tiempo de los archivos de Linux se explican con ejemplos

Editar un archivo sin cambiar sus marcas de tiempo en Linux

Las marcas de tiempo de un archivo se pueden actualizar usando touch dominio. Las marcas de tiempo también se actualizan cuando agregamos contenidos manualmente en un archivo o eliminamos datos de él. Si desea cambiar el contenido de los archivos sin cambiar sus marcas de tiempo, no hay una forma directa de hacerlo. ¡Pero es posible!

Podemos usar uno de los touch opción del comando -r (referencia) para conservar las marcas de tiempo del archivo después de editarlo o modificarlo. El -r La opción se utiliza para establecer las marcas de tiempo de un archivo en los valores de marca de tiempo de otro.

Tengo un archivo de texto llamado ostechnix.txt . Echemos un vistazo a las marcas de tiempo de este archivo con stat comando:

$ 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: -

Como ya se dijo, si cambiamos el contenido o los metadatos de este archivo, las marcas de tiempo también cambiarán.

Ahora cree un nuevo archivo vacío, por ejemplo ostechnix.timestamp , con las mismas marcas de tiempo que ostechnix.txt archivo usando touch comando:

$ touch -r ostechnix.txt ostechnix.timestamp

Verifique las marcas de tiempo del nuevo archivo:

$ 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: -

¿Ver? a la vez de ambos archivos y mtime ¡las marcas de tiempo son las mismas!

Ahora haga los cambios en el archivo principal, es decir, ostechnix.txt . Como habrás adivinado, las marcas de tiempo del archivo principal cambiarán.

Finalmente, copie las marcas de tiempo del nuevo archivo, es decir, ostechnix.timestamp al archivo principal:

$ touch -r ostechnix.timestamp ostechnix.txt

Ahora el archivo principal tiene sus marcas de tiempo antiguas antes de que fuera editado/modificado.

Tenga en cuenta que no podemos conservar las marcas de tiempo de tiempo de cambio (ctime). Siempre se actualizará a la hora actual.

TL;RD

Cree un nuevo archivo con las mismas marcas de tiempo que el archivo principal con touch comando, haga los cambios en el archivo principal y establezca las marcas de tiempo del nuevo archivo en el archivo principal con -r opción.

Espero que esto ayude.


Linux
  1. Mover archivos en Linux sin mv

  2. Cómo administrar las capacidades de archivos de Linux

  3. Cómo encontrar un archivo en Linux

  4. Cómo crear un intercambio en Linux

  5. Cómo crear un archivo de intercambio en Linux

Archivo host de Linux:¿Cómo editarlo y usarlo?

Cómo hacer un archivo ejecutable en Linux

Cómo verificar la suma de comprobación en Linux

Cómo cambiar el nombre de un archivo (s) en Linux

Cómo vincular un archivo en Linux

Cómo abrir una imagen ISO sin grabar en un disco en Linux