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

2

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

tomy
la source
2
Les fichiers n'ont pas de "heure de création" mais ils ont une "heure de modification". Pour changer l'heure de modification d'un fichier, utilisez la touchcommande, par exemple$ touch file1 file2 file3
boehj le
1
Ces réponses vous ont-elles aidé @tomy?
Boehj
@boehj Merci de souligner que les fichiers n'ont pas de temps de création
Meredith

Réponses:

3

Accédez au dossier en question, par exemple ~ / Documents / myfiles.

$ cd ~/Documents/myfiles

Alors fais:

$ touch *

Cela modifiera l’heure de modification chaque fois que vous exécuterez cette commande.

Vous pouvez évidemment rendre cela plus spécifique en fonction de votre cas d'utilisation, par exemple

$ touch *.doc

modifiera uniquement l’heure de modification des fichiers portant la chaîne «.doc» dans leur nom.

boehj
la source
3

Le PO a demandé l' heure de création , mais les réponses de Ian Yang et boehj sont basées sur le touchréglage des commandes , la modification , l' accès et le changement d' heure à l'heure actuelle.

Comme boehj l'a dit (dans son commentaire), il n'y a pas de date de création d'un fichier ... Ceci est vrai pour la plupart des systèmes de fichiers, mais sur certains systèmes de fichiers modernes (comme ext4 ), l' heure de création (ou de naissance ) d'un fichier est stockée dans l' 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 changera l' heure de création ( heure de naissance ) à l'heure actuelle. Cela met également à jour l' heure de changement , mais conserve inchangée les temps de modification et d' accès .

Pour information, l' heure de changement est parfois abrégée en ctimeet peut être confondue avec l' heure de création ( crtimeou btime). En fait, l' heure de changement d'un fichier est l' heure de modification de son inode correspondant . Par conséquent, les commandes modifiant le inodecontenu chmodou chattrdéfinissent également l' heure de changement sur l' heure actuelle.

olibre
la source
Autant que je sache, la plupart, sinon tous les systèmes de fichiers Linux ne permettent pas de gagner du temps de création.
Terdon
Merci @terdon pour votre commentaire, j'ai mis à jour ma réponse (le commentaire de modification est "le temps de création disponible sur certains systèmes de fichiers modernes uniquement comme indiqué par terdon" ). A
bientôt
2

Sous Linux, si vous voulez faire quelque chose récursive dans le répertoire ou vous voulez appliquer des actions sur les fichiers répondant à certains critères, vous devriez essayer findetxargs

Touchez tous les fichiers dans ~ / Documents / myfiles (y compris les fichiers du sous-répertoire).

find ~/Documents/myfiles -type f -print0 | xargs -0 touch
Ian Yang
la source
2
Sans xargs: find dir -type f -exec touch {} +(définit maintenant les heures de modification / d'accès / de modification de tous les fichiers de manière récursive)
olibre