
Notre commande Unix du Vendredi soir : touch
Vous avez déjà passé trois minutes à créer un fichier vide dans le Finder pour tester un script Automator, un modèle Pages ou une nouvelle règle Hazel ?
Clic droit, nouveau document, choix de l’application, saisie du nom, retour à la ligne. Cinq gestes pour rien.
Sur macOS, la commande touch fait le même travail en une seule ligne, sans quitter votre clavier.
Et ce n’est pas tout. Cette petite commande sait aussi rafraîchir la date d’un fichier existant, aligner deux fichiers sur la même horodatage, ou forcer Time Machine et Spotlight à reconsidérer un document qui n’a pas bougé depuis longtemps.
Dans cet article, vous découvrirez la syntaxe exacte de touch sur macOS Sequoia, les options utiles issues de la man page BSD locale, et des scénarios concrets qui feront de cette commande un réflexe quotidien.
À la fin, vous saurez créer une arborescence de fichiers de test, dater un projet à la seconde près, et combiner touch avec d’autres outils Unix pour automatiser des tâches répétitives.
Objectif : gagner du temps et garder la maîtrise complète de vos dates de fichiers, sans jamais ouvrir une application graphique.
Ce que fait vraiment la commande sous macOS
La commande touch a deux missions principales sur macOS.
Première mission, elle modifie la date d’accès et la date de modification d’un fichier existant. Deuxième mission, si le fichier ciblé n’existe pas, elle le crée aussitôt avec un contenu vide.
C’est cette double fonction, discrète mais puissante, qui la rend indispensable dans la boîte à outils de tout utilisateur macOS un peu curieux.
La syntaxe officielle telle qu’affichée par la man page BSD de macOS est la suivante :
touch [-A [-][[hh]mm]SS] [-acfhm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]] file ...
Chaque option a un rôle précis et se combine librement avec les autres.
-a demande à ne modifier que la date d’accès du fichier, sans toucher à la date de modification.
-m fait exactement l’inverse et ne change que la date de modification, en laissant la date d’accès intacte.
-c indique à touch de ne pas créer le fichier s’il n’existe pas déjà. Utile quand vous voulez rafraîchir uniquement des fichiers existants sans en ajouter par mégarde.
-h sert lorsque le fichier cible est un lien symbolique. Par défaut, touch modifie le fichier de destination, mais avec -h, il modifie le lien lui-même.
-r fichier_référence copie la date d’un autre fichier vers celui que vous ciblez. Pratique pour synchroniser deux fichiers sur la même signature temporelle.
-t horodatage applique une date précise que vous saisissez, au format [[CC]YY]MMDDhhmm[.SS]. Autrement dit, quatre chiffres pour l’année, deux pour le mois, deux pour le jour, deux pour l’heure et deux pour les minutes.
-A décalage ajuste les dates existantes en ajoutant ou retirant un nombre précis de secondes, minutes et heures.
-f force l’opération quand certaines protections système empêchent la modification.
Trois scénarios concrets pour votre MacBook Pro
Premier scénario, vous préparez un cours ou un tutoriel et vous devez fabriquer rapidement une arborescence de fichiers vides pour illustrer une manipulation.
Ouvrez le Terminal, placez-vous dans votre dossier de travail et tapez :
touch /Users/henrido/Documents/Cours/exercice1.txt exercice2.txt exercice3.txt
En moins d’une seconde, trois fichiers texte vides apparaissent dans le dossier Cours. Vous auriez mis dix fois plus de temps à faire la même chose depuis le Finder.
Deuxième scénario, vous travaillez sur un projet Xcode ou un projet Pages depuis plusieurs semaines. Vous voulez signaler à Time Machine et à Spotlight que le fichier principal est bien actif, même si vous n’avez rien modifié aujourd’hui.
Utilisez la commande dans sa forme la plus simple :
touch /Users/henrido/Documents/Projets/rapport_annuel.pages
Le fichier reçoit une nouvelle date de modification calée sur l’heure exacte de la commande. Time Machine considère qu’il faut sauvegarder ce fichier au prochain passage, et Spotlight remet à jour son index interne.
Troisième scénario, vous téléchargez un ensemble de fichiers depuis un vieux disque dur externe. Les dates de modification sont incohérentes, certains fichiers affichent 1970, d’autres 2001.
Vous voulez que tous les fichiers d’un dossier reçoivent la même date, alignée sur un fichier de référence que vous savez correct.
touch -r /Users/henrido/Documents/Reference/fichier_correct.txt /Users/henrido/Documents/Import/*.txt
Tous les fichiers .txt du dossier Import héritent des dates du fichier de référence. En une seule ligne, votre archive retrouve une cohérence temporelle.
Fixer une date précise à la seconde près
Il arrive qu’un utilisateur macOS ait besoin de forcer une date très spécifique sur un fichier.
Cela arrive par exemple lors du montage vidéo dans Final Cut Pro, où l’ordre chronologique des rushes détermine la construction de la timeline. Ou lorsque vous préparez un dossier de preuves pour un dépôt de dossier administratif et que la date exacte compte.
Voici la syntaxe pour appliquer une date au 25 décembre 2026, à 14h30 précises :
touch -t 202612251430 /Users/henrido/Documents/Preuves/document_final.pdf
L’année complète est notée 2026, le mois 12, le jour 25, l’heure 14 et les minutes 30. Le tout collé en un seul bloc, sans espace ni tiret.
Vous pouvez ajouter les secondes en les séparant par un point. La commande devient alors :
touch -t 202612251430.45 /Users/henrido/Documents/Preuves/document_final.pdf
Ici, le fichier reçoit la date du 25 décembre 2026 à 14 heures, 30 minutes et 45 secondes.
Si vous ne précisez ni -a ni -m, touch applique cette date aux deux horodatages, celui d’accès et celui de modification. Cela reste le comportement par défaut sur macOS Sequoia et les versions antérieures.
Enchaîner touch avec find et xargs pour aller plus loin
L’une des forces d’touch est de très bien s’entendre avec les autres outils Unix disponibles sur macOS.
Prenons un cas réel. Vous souhaitez rafraîchir la date de modification de tous les fichiers Markdown situés dans votre dossier de notes Obsidian, mais uniquement ceux dont la date est antérieure à 2024.
Vous combinez find et touch grâce à un pipe :
find /Users/henrido/Documents/Obsidian -name "*.md" -not -newermt "2024-01-01" | xargs touch
find sélectionne les fichiers .md plus anciens que la date pivot. xargs passe la liste des fichiers trouvés à touch, qui met à jour leur date.
Autre variante utile, quand vous voulez créer d’un seul geste un ensemble de fichiers vides selon une liste préparée dans un fichier texte :
cat /Users/henrido/Documents/liste_fichiers.txt | xargs touch
Chaque ligne du fichier liste_fichiers.txt devient un fichier vide dans le dossier courant. Cette technique fait gagner un temps considérable pour préparer des lots de fichiers de test.
Dernière combinaison élégante, l’ajustement relatif avec l’option -A. Vous pouvez décaler tous les fichiers d’un dossier de trois heures vers l’arrière, ce qui est utile pour corriger un fuseau horaire incorrect après import :
touch -A -030000 /Users/henrido/Documents/Import/*.jpg
Le format -030000 signifie moins trois heures, zéro minute, zéro seconde. Toutes les photos importées voient leur date reculer de trois heures d’un seul coup.
Un réflexe simple qui change la relation au Terminal
Vous voyez maintenant qu’touch fait bien plus que créer un fichier vide.
Elle prépare une arborescence de test en quelques touches, force Time Machine à considérer un fichier comme actif, harmonise les dates d’un dossier importé, et se combine avec find et xargs pour automatiser des lots entiers.
Le mieux est de la pratiquer dans un dossier bac à sable, sans risque. Créez un dossier test_touch dans votre dossier Documents, et enchaînez les commandes de cet article une par une.
Vérifiez le résultat après chaque exécution en tapant ls -la pour voir les dates modifiées, ou en ouvrant l’inspecteur du Finder sur les fichiers concernés.
En quelques minutes, touch deviendra un geste réflexe, aussi naturel que la commande pwd ou ls que vous connaissez déjà. Et vous mesurerez, semaine après semaine, tout le temps gagné à ne plus quitter le clavier pour ces petites tâches du quotidien.
Vous avez une question, une idée ou une remarque ? Je serai ravi de vous lire ! ✉️ henrido@hdrapin.com






