GNU/Linux >> Tutoriales Linux >  >> Linux

Linux – ¿Cp está perdiendo los metadatos del archivo?

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 .


Linux
  1. Cómo mover un archivo en Linux

  2. Conceptos básicos de los permisos de archivos de Linux

  3. Linux – ¿Todo es un archivo?

  4. ¿Cómo cambiar el nombre de un archivo en Linux?

  5. Comando wc de linux

Comando Gunzip en Linux

Comando Stat en Linux

¿Qué es umask en Linux?

Cómo vincular un archivo en Linux

Extraiga el archivo tar.gz en Linux

¿Qué es el archivo .bashrc en Linux?