Tengo un Asustor NAS que se ejecuta en Linux; No sé qué distribución usan.
Puedo iniciar sesión usando SSH y usar todos los comandos de Shell. El volumen interno usa ext2 y los discos duros USB externos usan NTFS.
Cuando trato de usar cp
comando para copiar cualquier archivo, los metadatos de fecha de ese archivo se cambian a la fecha y hora actual.
Por ejemplo, si uso Windows para copiar el archivo de SMB y el archivo se modificó en 2007, el nuevo archivo se marca como creado ahora en 2017 pero modificado en 2007. Pero con Linux cp
comando, su fecha de modificación también se cambia a 2017.
Esta fecha de modificación es muy relevante para mí porque me permite ordenar los archivos en el Explorador de Windows por su fecha de modificación. Si se anula, no puedo ordenar y parece que todos se han creado ahora. También utilizo la fecha de modificación para saber cuándo adquirí algunos archivos antiguos raros.
¿Hay algún parámetro que pueda usar en cp
? comando para conservar los metadatos del archivo original?
Actualización:Probé cp --preserve=timestamps
pero no funcionó, imprimió:
cp: unrecognized option '--preserve=timestamps'
BusyBox v1.19.3 (2017-03-22 17:23:49 CST) multi-call binary.
Usage: cp [OPTIONS] SOURCE DEST
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY
-a Same as -dpR
-R,-r Recurse
-d,-P Preserve symlinks (default if -R)
-L Follow all symlinks
-H Follow symlinks on command line
-p Preserve file attributes if possible
-f Overwrite
-i Prompt before overwrite
-l,-s Create (sym)links
Si intento simplemente -p
dice cp: can't preserve permissions of '...': Operation not permitted
, pero por lo que he probado, las marcas de tiempo se conservan.
Respuesta aceptada:
Si usa man cp
para leer la página del manual para el comando de copia, encontrará -p and --preserve
banderas.
-p
igual que --preserve=mode,ownership,timestamps
y
--preserve[=ATTR_LIST]
preservar los atributos especificados (predeterminado:mode,ownership,timestamps
), si es posible atributos adicionales:context
, links
, xattr
, all
A lo que esto se reduce es a que deberías usar cp -p
en lugar de solo cp
.