J'ai un NAS Asustor qui tourne sous Linux; Je ne sais pas quelle distribution ils utilisent.
Je peux m'y connecter en utilisant SSH et utiliser toutes les commandes Shell. Le volume interne utilise ext2 et les disques durs USB externes utilisent NTFS.
Lorsque j'essaie d'utiliser cp
pour copier n'importe quel fichier, les métadonnées de date de ce fichier sont remplacées par la date et l'heure actuelles.
Par exemple, si j'utilise Windows pour copier le fichier depuis SMB et que le fichier a été modifié en 2007, le nouveau fichier est marqué comme créé maintenant en 2017 mais modifié en 2007. Mais avec Linux cp
commande sa date de modification est également changée en 2017.
Cette date de modification est très pertinente pour moi car elle me permet de trier les fichiers sur Windows Explorer en fonction de leur date de modification. S'il est remplacé, je ne peux pas trier et ils semblent tous avoir été créés maintenant. J'utilise également la date de modification pour savoir quand j'ai acquis certains anciens fichiers rares.
Existe-t-il un paramètre que je peux utiliser dans cp
commande pour conserver les métadonnées du fichier d'origine ?
Mise à jour :j'ai essayé cp --preserve=timestamps
mais ça n'a pas marché, ça a imprimé :
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 j'essaie juste -p
il dit cp: can't preserve permissions of '...': Operation not permitted
, mais d'après ce que j'ai pu tester, les horodatages sont conservés.
Réponse acceptée :
Si vous utilisez man cp
pour lire la page de manuel de la commande de copie, vous trouverez le -p and --preserve
drapeaux.
-p
identique à--preserve=mode,ownership,timestamps
et
--preserve[=ATTR_LIST]
conserver les attributs spécifiés (par défaut :mode,ownership,timestamps
), si possible des attributs supplémentaires :context
,links
,xattr
,all
Cela revient à dire que vous devez utiliser cp -p
au lieu de simplement cp
.