4 votes

Comment puis-je changer l'heure de création de tous les fichiers d'un dossier à l'heure actuelle ?

Sous un Shell Linux, comment puis-je changer l'heure de création de tous les fichiers d'un dossier à l'heure actuelle ?

5voto

oHo Points 2423

Le PO a demandé le création temps, mais Ian Yang y boehj les réponses sont basées sur la commande touch la mise en place de la modification , accès y changement temps à l'heure actuelle.

Comme l'a dit Boehj (dans son commentaire), il n'y a pas d'obligation d'achat. création l'heure d'un fichier... Ceci est vrai pour la plupart des systèmes de fichiers, mais sur certains systèmes de fichiers modernes (tels que ext4 ) le création (ou naissance ) d'un fichier est stockée dans le fichier inode .

Nous pouvons donc donner une réponse plus correcte en respectant scrupuleusement le titre de la question :

cp -a  your-folder tmp-folder
rm -rf your-folder
mv tmp-folder your-folder

Cela modifiera le création temps ( naissance ) à l'heure actuelle. Cela met également à jour le changement temps, mais en gardant inchangé le modification y accès temps.

Pour information, le changement le temps est parfois abrégé en ctime et peut être confondu avec le création temps ( crtime o btime ). En effet, le changement d'un fichier est le modification temps de son correspondant inode . Par conséquent, les commandes qui modifient inode le contenu comme chmod o chattr a également fixé le changement à l'heure actuelle.

3voto

boehj Points 1090

Naviguez jusqu'au dossier en question, disons, ~/Documents/myfiles.

$ cd ~/Documents/myfiles

Alors, faites-le :

$ touch *

Cela changera l'heure de modification à la date à laquelle vous avez exécuté cette commande.

Bien entendu, vous pouvez préciser ce point en fonction de votre cas d'utilisation, par ex.

$ touch *.doc

ne modifiera le temps de modification que pour les fichiers dont le nom contient la chaîne '.doc'.

2voto

Trevor Pearson Points 11

Sous Linux, si vous voulez faire quelque chose récursivement dans un répertoire, ou si vous voulez appliquer des actions sur des fichiers répondant à certains critères, vous devez essayer find y xargs

Toucher tous les fichiers dans ~/Documents/myfiles (y compris les fichiers dans le sous-répertoire)

find ~/Documents/myfiles -type f -print0 | xargs -0 touch

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X