Modification des attributes "Date de création" et "Dernière modification" d'un file en un autre file

J'utilise casquette de fusion pour créer un file pcap de fusion à partir de 15 files. Pour le file fusionné, j'ai changé le nom en celui du premier des 15 files. Mais je voudrais aussi changer les attributes du file fusionné comme "Date de création" et "Dernière modification" à celui du premier. Est-ce qu'il y a un moyen de faire ça?

FILES_dcn=($(find $dir_dcn -maxdepth 1 -type f -name "*.pcap" -print0 | xargs -0 ls -lt | tail -15 | awk '{print $9}')) TAG1_dcn=$(basename "${FILES_dcn[14]}" | sed 's/.pcap//') mergecap -w "${dir_dcn}"/merge_dcn.pcap "${FILES_dcn[@]}" mv "${dir_dcn}"/merge_dcn.pcap "${dir_dcn}"/"${TAG1_dcn}".pcap 

J'essaie d'accéder aux files fusionnés sur un server samba (Ubuntu). Pour qu'une fonction extracteur puisse accéder automatiquement à l'extraction des files dans le dossier D. Mais comme la date créée sera modifiée pour le file fusionné, l'extraction échoue. Y a-t-il un moyen de réparer ça?

Vous pouvez utiliser la command touch avec le commutateur -r pour appliquer les attributes d'un autre file à un file.

NOTE: Il n'y a pas de date de création dans Unix, il n'y a que l'access, la modification et la modification. Voyez ce Q & A d'U & L intitulé: Obtenez l'âge du file donné pour plus de détails.

 $ touch -r goldenfile newfile 

Exemple

Par exemple, voici un goldenfile 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 fais un nouveau file:

 $ touch newfile $ ls -l newfile -rw-rw-r--. 1 saml saml 0 Mar 7 09:06 newfile 

Maintenant, appliquez les attributes de newfile au nouveau 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 attributes.

Modifier via Samba

Je viens de confirmer que je peux 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 file comme je l'ai mentionné ci-dessus et cela a fonctionné comme je l'ai décrit. Votre problème est probablement un problème avec les options de assembly utilisées, ce qui peut être l'omission du suivi de certains attributes temporels ou peut-être lié à l'un de ces bogues:

  • Bug 461505 – ne peut pas définir l'horodatage sur les partages samba
  • Bogue 693491 – Impossible de définir des attributes / horodatages sur le partage CIFS / Samba

Manière la plus simple – access 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 les mêmes: stat fileName.ext

Voir: toucher l'homme