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 :
-pigual que--preserve=mode,ownership,timestamps
-pHaga 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 :
-pHaga 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 -pNo 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
cpdesde 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--preservelo 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
--timesparámetro dersyncque debería estar disponible en la mayoría de las instalaciones.fuente
-pNo es la respuesta correcta.-pretiene 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_symlinkfuente