Sous un shell Linux, comment puis-je modifier l'heure de création de tous les fichiers d'un dossier à l'heure actuelle?
linux
command-line
touch
tomy
la source
la source
touch
commande, par exemple$ touch file1 file2 file3
Réponses:
Accédez au dossier en question, par exemple ~ / Documents / myfiles.
Alors fais:
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
modifiera uniquement l’heure de modification des fichiers portant la chaîne «.doc» dans leur nom.
la source
Le PO a demandé l' heure de création , mais les réponses de Ian Yang et boehj sont basées sur le
touch
ré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:
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
ctime
et peut être confondue avec l' heure de création (crtime
oubtime
). En fait, l' heure de changement d'un fichier est l' heure de modification de son inode correspondant . Par conséquent, les commandes modifiant leinode
contenuchmod
ouchattr
définissent également l' heure de changement sur l' heure actuelle.la source
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
find
etxargs
Touchez tous les fichiers dans ~ / Documents / myfiles (y compris les fichiers du sous-répertoire).
la source
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)