Vous pouvez utiliser le touch
commande avec le -r
basculer pour appliquer les attributs d'un autre fichier à un fichier.
REMARQUE : Il n'y a pas de date de création sous Unix, il n'y a que l'accès, la modification et le changement. Voir ce Q&A U&L intitulé :obtenir l'âge d'un fichier donné pour plus de détails.
$ touch -r goldenfile newfile
Exemple
À titre d'exemple, voici un goldenfile
qui a été créé avec un horodatage arbitraire.
$ touch -d 20120101 goldenfile
$ ls -l goldenfile
-rw-rw-r--. 1 saml saml 0 Jan 1 2012 goldenfile
Maintenant, je crée un nouveau fichier :
$ touch newfile
$ ls -l newfile
-rw-rw-r--. 1 saml saml 0 Mar 7 09:06 newfile
Appliquez maintenant goldenfile
les attributs de newfile
.
$ touch -r goldenfile newfile
$ ls -l goldenfile newfile
-rw-rw-r--. 1 saml saml 0 Jan 1 2012 newfile
-rw-rw-r--. 1 saml saml 0 Jan 1 2012 goldenfile
Maintenant newfile
a les mêmes attributs.
Modifier via Samba
Je viens de confirmer que je suis capable de le faire en utilisant mon ordinateur portable Fedora 19 qui inclut la version 1.16.3-2 connectée à un NAS Thecus N12000 (utilise une version modifiée de CentOS 5.x).
J'ai pu toucher un fichier comme je l'ai mentionné ci-dessus et cela a fonctionné comme je l'ai décrit. Votre problème est probablement lié aux options de montage utilisées, qui peuvent omettre le suivi de certains attributs de temps, ou peut-être est-il lié à l'un de ces bogues :
- Bogue 461505 :impossible de définir l'horodatage sur les partages Samba
- Bogue 693491 :impossible de définir des attributs/horodatages sur le partage CIFS/Samba
Le moyen le plus simple - l'accès modifié sera le même :
touch -a -m -t 201512180130.09 fileName.ext
Où :
-a = accessed
-m = modified
-t = timestamp - use [[CC]YY]MMDDhhmm[.ss] time format
Si vous souhaitez utiliser NOW
déposez simplement le t
et l'horodatage
Pour vérifier qu'ils sont tous identiques :stat fileName.ext
Voir :toucher l'homme