Comment changer la date d’un fichier ?
J’ai eu dernièrement à modifier la date d’un fichier dans le cadre d’un script d’optimisation d’images.
Il s’agissait de faire une mise à jour des images d’un blog wordpress en les optimisant. J’ai choisi de lister toutes les images postérieures à la date (de dernière modification) d’un fichier créé pour l’occasion.
Le script, à la fin remet ce fichier à la date (et heure) du jour.
J’ai du fouiller un peu dans mes souvenirs pour retrouver la commande mais surtout les paramètres. Donc je vous fait profiter de mes recherches. Et la prochaine fois je saurai où chercher !
La commande touch
Cette commande Linux sert à mettre à jour le timestamp d’un fichier. Elle est souvent aussi utilisée pour créer un fichier vide.
Bien sur, comme d’habitude il vous faudra avoir les droits pour modifier le document.
Syntaxe de base
1 | touch [options] nomDuFichier(s) |
Sans options, le fichier verra sa date de modification mise à la date/heure actuelle. Si le fichier n’existe pas, il sera créé. La commande peut s’exécuter sur plusieurs fichiers, il suffit de les énumérer à la suite.
Les options
option | action | remarques |
-a | ne modifier que la date d’accès | |
-m | ne modifier que la date de modification | (par défaut) |
-t | utiliser une date précise et non l’actuelle touch -m -t [AAMMJJhhmm] nomDuFichier | voir exemples ci-dessous |
-d | utiliser une date sous forme de chaîne | voir exemples ci-dessous |
-c | ne pas créer le fichier s’il n’existe pas | |
-r | utilise la date d’un autre fichier |
Exemples
commande | remarques |
touch -t 201712250800 fichier | va mettre la date de modification de fichier au jour de Noël 2017 à 8h du matin |
touch -t fichier1 fichier | Utilise la date de fichier1 |
touch fichier1 fichier2 fichier3 | change la date des trois fichiers à la date actuelle |
touch -m -d ‘next monday’ fichier | fichier prend la date de lundi prochain |
touch -m -d ‘2 hour ago’ fichier | fichier recule de deux heures |
Enfin, un ls -la ne vous donnera que l’heure de modification. Pour connaître également les heures de création et de dernier accès au fichier (plus d’autres informations) il faut utiliser la commande stat.
0 Commentaire