Si copio algún archivo de algún lugar a otro usando cp
, la marca de tiempo en el archivo copiado se establece en el momento de la copia.
¿Hay alguna manera de evitar esto?
Necesito copiar archivos sin alterar sus marcas de tiempo.
cp -p
Hace el truco. Para linux :
-p
igual que--preserve=mode,ownership,timestamps
-p
Haga que cp mantenga los siguientes atributos de cada archivo de origen en la copia: hora de modificación, tiempo de acceso, marcas de archivo, modo de archivo, ACL, ID de usuario e ID de grupo, según lo permitan los permisos.
Y para OS X :
-p
Haga que cp mantenga los siguientes atributos de cada archivo de origen en la copia: hora de modificación, tiempo de acceso, marcas de archivo, modo de archivo, ID de usuario e ID de grupo, según lo permitan los permisos. Las listas de control de acceso (ACL) y los atributos extendidos (EA), incluidas las bifurcaciones de recursos, también se conservarán.
cp -p
No solo conserva la marca de tiempo sino también modo y propiedad y en FreeBSD además del tiempo de modificación, también conserva »el tiempo de acceso, las marcas de archivo, el modo de archivo, la ACL, la ID de usuario y la ID de grupo, según lo permitido por los permisos. OS X adicionalmente "Atributos extendidos, incluyendo las fuentes de recursos".Cuando usas
cp
desde el GNU Coreutils , para conservar solo las marcas de tiempo y no los atributos, como la identificación del usuario, la identificación del grupo o el modo de archivo, existe--preserve
lo que permite especificar explícitamente una lista de atributos a preservar.Tenga en cuenta que esta sintaxis probablemente no sea compatible con otros Unices. Una alternativa podría ser utilizar el
--times
parámetro dersync
que debería estar disponible en la mayoría de las instalaciones.fuente
-p
No es la respuesta correcta.-p
retiene la propiedad y amp; modo también. Lo que no puede ser deseado .. y no se le preguntó en la pregunta.Hay tres veces en un sistema de archivos Unix, el tiempo de acceso (atime), el tiempo de modificación (mtime) y el tiempo de cambio de inodo (ctime). Puede cambiar el tiempo de acceso y el tiempo de modificación con el programa táctil, por ejemplo
Sin embargo, no puede cambiar el tiempo de cambio de inodo.
fuente
Hace poco necesité hacer algo similar pero en su lugar usé el enlace simbólico. Para crear un enlace simbólico y preservar la marca de tiempo orignal:
cp -ps src_file dst_symlink
fuente