La commande touch est une commande de base Linux qui vous permet de mettre à jour les horodatages sur les fichiers et les répertoires existants, ainsi que la création de nouveaux fichiers vides.
Dans ce tutoriel, je vous montre comment utiliser la commande touch via des exemples pratiques et des explications détaillées des options de commande les plus courantes.

Table des matières
- 1 Comment utiliser la commande touch de Linux
- 1.1 Créer un fichier avec la commande touch
- 1.2 Créer plusieurs fichiers avec la commande touch
- 1.3 Définir un horodatage spécifique (timestamp)
- 1.4 Définir l’horodatage d’un fichier à l’aide de date
- 1.5 Changer la date d’accès d’un fichier par la date courante
- 1.6 Changer la date d’accès d’un fichier par une valeur spécifique
- 1.7 Modifier la date de modification à l’heure courante
- 1.8 Changer la date de modification par une date spécifique
- 1.9 Changer à la fois la date de modification et date d’accès
- 1.10 Définir l’horodatage d’un fichier avec la date d’un autre fichier
- 1.11 Changer horodatage et date d’un lien symbolique
- 1.12 Éviter de créer un nouveau fichier
- 2 Liens
Comment utiliser la commande touch de Linux
Voici la syntaxe de la commande touch :
touch <options> <Fichier ou répertoire>
Comme beaucoup de commandes Linux, celles-ci possèdent plusieurs options.
OPTIONS | DESCRIPTION |
---|---|
-a | Changer le la date d’accès au fichier |
-c –no-create | Eviter de créer un nouveau fichier |
-d=<texte> –date=<texte> | Changer la date du fichier en spécifiant un horodatage |
-h –no-dereference | Changer la date d’un fichier symbolique |
-m | Changer la date de modification d’un fichier |
-r=<fichier> –reference=<fichier> | Modifier un horodatage à l’horodatage du fichier référencé |
-t <timestamp> | Modifie un horodatage, où le timestamp est le format de date / heure |
–help | Afficher l’aide de la commande touch |
-v –version | Afficher la version de la commande touch |
Un fichier à Linux a trois horodatages :
- atime (accesst time – Date d’accès) – La dernière fois que le fichier a été accédé / ouvert par une commande ou une application telle que cat, vim, grep. La commande ls -lu affiche l’atime pour les fichiers
- mtime (modify time – Date de modification) – La dernière fois que le contenu du fichier a été modifié. La commande ls -l affiche le mtime pour les fichiers
- ctime (change time – Date de changement) – La dernière fois que l’attribut, métadonnées le contenu du fichier a été modifié. L’attribut inclut les autorisations de fichier, la propriété de fichier ou l’emplacement du fichier. La commande ls -lc affiche le ctime pour les fichiers
Pour afficher l’état du fichier, y compris les horodatages, utilisez la commande stat :
stat <Fichier>
Créer un fichier avec la commande touch
L’utilisation basique de touch est de créer un fichier.
La syntaxe est la suivante :
touch <Fichier>
Par exemple pour créer test, faites comme ceci :
touch test
Créer plusieurs fichiers avec la commande touch
Il est tout à fait possible de créer plusieurs fichiers à la fois.
Voici la syntaxe à utiliser :
touch <Fichier> <Fichier1> <Fichier2>
Par exemple pour créer les fichiers test1, test2 et test3 :
touch test1 test2 test3
Un moyen utile d’appliquer le contact est de créer de gros lots de fichiers.
Pour ce faire, ajoutez des accolades et indiquez le premier et le dernier élément en plus du nom de fichier :
touch <Fichier{<début>..<fin>}>
Par exemple, pour créer dix fichiers avec la numérotation annexée, exécuter :
touch test{1..10}
La commande fonctionne également avec des lettres. Par exemple :
touch test_{a..j}
Définir un horodatage spécifique (timestamp)
Utilisez la commande touch pour définir un horodatage spécifique pour un fichier existant, par exemple :
touch -t <timestamp> <fichier>
Le format TIMESTAMP suit un motif spécifique avec le format de date anglophone :
[[CC]YY]MMDDhhmm[.ss]
- CC – les deux premiers chiffres pour une année
- YY – les deux derniers chiffres pour une année
- MM – le mois
- DD – la journée
- hh – l’heure mm – les minutes
- SS – les secondes
Les chiffres des crochets sont facultatifs. Lorsque vous utilisez le format d’année à deux chiffres, le réglage de YY à un nombre compris entre 0 et 68 assume automatiquement CC est 20, tandis que 69-99 supposons CC est 19.
Par exemple, pour modifier l’horodatage pour un fichier appelé Test à minuit 1er janvier 1999, exécutez :
touch -t 199901010000 test
Utilisez l’option –full-time avec ls pour voir les détails de l’horodatage.
Définir l’horodatage d’un fichier à l’aide de date
La commande touch utilise l’option -d pour définir un horodatage à l’aide d’une chaîne de date. La syntaxe est :
touch -d <string> <Fichier>
La chaîne de date est un format de temps flexible et accepte de nombreuses formes textuelles différentes lisibles par l’homme. Quelques exemples incluent:
- Dates de calendrier, telles que le 19 août 2020. Temps de la journée, comme 21h27 ou 8h02
- Jours de la semaine, tels que le dimanche, lundi, etc
- Heure relative, comme il y a 5 ans, hier, mardi prochain, etc
Par exemple, changez l’horodatage à l’aide de l’option -d pour demain :
touch -d tomorrow test
Changer la date d’accès d’un fichier par la date courante
Utilisez l’option -a pour modifier l’accès d’un fichier :
touch -a <Fichier>
Par exemple, pour montrer l’heure d’accès d’un fichier avec ls, utilisez l’option -lu, exécuter :
ls -lu
Ensuite, modifiez l’heure d’accès du fichier nommé Test avec :
touch -a test
Enfin, affichez le temps changé en exécutant :
ls -lu
Changer la date d’accès d’un fichier par une valeur spécifique
Modifier l’heure d’accès à un horodatage spécifique en combinant les options -a et -t :
touch -at <horodatage> <fichier>
Vérifiez le temps d’accès pour les fichiers avant de le changer :
ls -lu
Modifiez la durée d’accès du test de fichier à minuit le 1er janvier 1999, en ajoutant l’horodatage :
touch -at 9901010000 test
Enfin, vérifiez l’heure d’accès après la modification :
ls -lu
Modifier la date de modification à l’heure courante
La commande touch offre une option pour modifier la durée de modification. La syntaxe de base est la suivante:
touch -m <fichier>
À titre d’exemple, vérifiez le mtime d’une fichier avant de changer l’horodatage:
ls -l
Ensuite, modifiez la durée de modification du fichier de test :
touch -m test
Le mtime du fichier après la modification par touch :
ls -l
Changer la date de modification par une date spécifique
Combiner l’option -m avec -t pour indiquer explicitement l’horodatage de modification. La syntaxe générale est:
touch -mt <timestamp> <filename>
Ensuite pour vérifier le mtime du fichier avant de le changer:
ls -l
Changer l’heure de modification à minuit le 1er janvier 1999, en cours d’exécution :
touch -mt 9901010000 test
Enfin, revérifiez l’heure de modification:
ls -l
L’ajout de l’option -t met à jour l’heure de modification à une valeur spécifique.
Changer à la fois la date de modification et date d’accès
L’utilitaire touch permet de modifier la modification et l’heure d’accès avec une seule commande.
Pour ce faire, utilisez la commande suivante :
touch -am <filename>
Avant de changer l’atime et mtime, vérifiez la date de modification et date d’accès avec ls :
ls -lu
ls -l
Ensuite, changez les deux fois pour le fichier de test à la date actuelle :
touch -am test
Vérifiez l’atime et mtime après le changement :
ls -lu
ls -l
Définir l’horodatage d’un fichier avec la date d’un autre fichier
La commande touch offre une option utile pour modifier l’horodatage d’un fichier basé sur l’horodatage d’un autre fichier.
Pour effectuer un tel changement, utilisez la commande suivante :
touch -r <fichier reference> <fichier>
Par exemple, créez un nouveau fichier et référencez l’horodatage d’un fichier de test existant :
touch -r test nouveau_test
Vérifiez l’horodatage pour les deux fichiers avec :
ls -l
Changer horodatage et date d’un lien symbolique
La commande touch permet de modifier l’horodatage des liens symboliques sans modifier l’horodatage du fichier référencé.
Utilisez l’option -h pour modifier l’heure d’un lien symbolique :
touch -h <filename>
Par exemple, vérifiez l’heure d’un lien symbolique existant avant toute modification :
ls -l
Changez l’horodatage pour le lien symbolique à l’heure actuelle :
touch -h link
Enfin, revérifiez l’horodatage pour confirmer le changement :
ls -l
Sans l’option -h, la commande touch ne modifie que l’horodatage du fichier de test.
L’horodatage du lien symbolique reste inchangé dans ce cas.
Éviter de créer un nouveau fichier
Par défaut, touch génère un nouveau fichier s’il n’existe pas.
Cependant, certaines situations nécessitent de remplacer cette fonctionnalité. Ajoutez l’option -c pour éviter de créer un nouveau fichier lorsque vous appelez la commande :
touch -c <filename>
Par exemple, essayez d’exécuter touch avec l’option -c avec un fichier inexistant :
touch -c nouveau_fichier_test
Enfin utilisez la commande ls pour confirmer que le fichier n’est pas là :
ls -l
Liens