Présentation
Le touch
La fonction principale de la commande est de modifier un horodatage. Généralement, l'utilitaire est utilisé pour la création de fichiers, bien que ce ne soit pas sa fonction principale. Le programme du terminal peut modifier le temps de modification et d'accès pour n'importe quel fichier donné. Le touch
La commande crée un fichier uniquement si le fichier n'existe pas déjà.
Ce tutoriel explique comment utiliser le touch
commande avec des options de base et avancées.
Prérequis
- Un système exécutant Linux.
- Accès à la ligne de commande/au terminal.
- Commandes de terminal de base, telles que
ls
.
touchez la syntaxe de la commande
La syntaxe fondamentale du touch
la commande est :
touch <options> <file or directory name>
L'utilitaire tactile fonctionne sans aucune option ou avec plusieurs options pour les requêtes avancées. Certaines options ont un format long et court. Si une option nécessite des informations supplémentaires, les données sont obligatoires pour les formulaires longs et courts.
appuyez sur Options de commande
Vous trouverez ci-dessous un tableau de référence pour tous les touch
disponibles options de commande :
Option | Description |
---|---|
-a | Modifie le temps d'accès. |
-c --no-create | Évite de créer un nouveau fichier. |
-d=<string> --date=<string> | Modifie un horodatage à l'aide d'une chaîne de date. |
-f | Aucun effet. Dans les anciens BSD, l'option force les changements. |
-h --no-dereference | Modifie l'horodatage d'un lien symbolique. |
-m | Modifie l'heure de modification. |
-r=<file> --reference=<file> | Change un horodatage en l'horodatage du fichier référencé. |
-t <stamp> | Modifie un horodatage, où l'horodatage est le format date/heure. |
--help | Ouvre le menu d'aide. |
-v --version | Imprime la version du programme. |
Exemples tactiles Linux
Lorsque vous travaillez avec des fichiers sous Linux, il y a trois horodatages à connaître :
1. Temps d'accès ou à un moment change lorsqu'une commande lit le contenu du fichier, comme grep ou cat. Le ls -lu
La commande affiche l'atime pour les fichiers.
2. Modifier l'heure ou ctime change lorsque la propriété d'un fichier change, comme renommer des fichiers, modifier l'autorisation d'un fichier ou déplacer le fichier. Le ls -lc
La commande affiche le ctime pour les fichiers.
3. Temps de modification ou mtime change lorsque le contenu d'un fichier change. Le ls -l
La commande affiche le mtime pour les fichiers.
Les exemples ci-dessous sont tous exécutés à partir du terminal et montrent comment utiliser Linux touch
commande avec diverses options et la sortie à attendre.
Créer un fichier
La manière la plus simple d'utiliser le touch
la commande est sans aucune option :
touch <filename>
Si un fichier n'existe pas, touch crée le fichier. Par exemple, pour créer un fichier appelé test , exécutez :
touch test
Répertoriez le contenu du répertoire pour voir le fichier à l'aide de la commande ls.
Si le fichier existe déjà, appuyez sur pour remplacer l'horodatage par l'heure actuelle.
Le contenu du fichier et les autorisations restent inchangés.
Créer plusieurs fichiers
Le touch
La commande peut également créer plusieurs fichiers. Pour cela, listez les noms de fichiers séparés par des espaces :
touch <filename> <filename>
Par exemple :
touch test1 test2
Un moyen utile d'appliquer le touch
consiste à créer de gros lots de fichiers. Pour cela, ajoutez des accolades et indiquez le premier et le dernier élément en plus du nom du fichier :
touch <filename{<start>..<finish>}>
Par exemple, pour créer dix fichiers avec une numérotation ajoutée, exécutez :
touch test{1..10}
La commande fonctionne également avec des lettres. Par exemple :
touch test_{a..j}
Important :La commande ne peut pas combiner des chiffres et des lettres.
Définir un horodatage spécifique
Utilisez le touch
commande pour définir un horodatage spécifique pour un fichier existant, par exemple :
touch -t <timestamp> <filename>
Le format d'horodatage suit un modèle spécifique :
[[CC]YY]MMDDhhmm[.ss]
CC
- les deux premiers chiffres d'une annéeYY
- les deux derniers chiffres d'une annéeMM
- le moisDD
- le jourhh
- l'heuremm
- le procès-verbalss
- les secondes
Les chiffres entre crochets sont facultatifs. Lorsque vous utilisez le format d'année à deux chiffres, définissez YY
à n'importe quel nombre entre 0-68 suppose automatiquement CC
est 20, alors que 69-99 suppose CC
a 19 ans.
Par exemple, pour modifier l'horodatage d'un fichier appelé test au minuit 1er janvier 1999 , exécutez :
touch -t 199901010000 test
Utilisez le --full-time
option avec ls
pour voir les détails de l'horodatage.
Définir l'horodatage du fichier à l'aide de la chaîne de date
Le touch
la commande utilise le -d
option pour définir un horodatage à l'aide d'une chaîne de date. La syntaxe est :
touch -d <string> <filename>
La chaîne de date est un format d'heure flexible et accepte de nombreuses formes textuelles lisibles par l'homme. Voici quelques exemples :
- Dates calendaires, telles que
19 August 2020
. - Heure de la journée, par exemple
9:27pm
ou8:02am
. - Les jours de la semaine, comme
Sunday
,Monday
, etc. - Temps relatif, par exemple
5 years ago
,yesterday
,next tuesday
, etc.
Par exemple, modifiez l'horodatage en utilisant le -d
option pour tomorrow
:
touch -d tomorrow test
Pour voir une liste complète des options d'entrée de chaîne possibles, consultez la documentation GNU sur les formats d'entrée de date.
Modifier l'heure d'accès à Actuel
Utilisez le -a
balise pour modifier le temps d'accès d'un fichier. La syntaxe générale est :
touch -a <filename>
Par exemple, pour afficher le temps d'accès d'un fichier, exécutez :
ls -lu
Ensuite, modifiez le temps d'accès pour le fichier nommé test avec :
touch -a test
Enfin, affichez l'heure modifiée en exécutant :
ls -lu
L'heure d'accès passe à l'horodatage actuel.
Modifier explicitement l'heure d'accès
Modifier l'heure d'accès à un horodatage spécifique en combinant le -a
et -t
option :
touch -at <timestamp> <filename>
Vérifiez le temps d'accès aux fichiers avant de le modifier :
ls -lu
Modifier le temps d'accès au fichier test à minuit 1er janvier 1999 , en ajoutant l'horodatage :
touch -at 9901010000 test
Enfin, vérifiez le temps d'accès après le changement :
ls -lu
Après avoir exécuté la commande, le temps d'accès passe à la valeur définie avec le -t
balise.
Modifier l'heure de modification à Actuel
Le touch
La commande offre une option pour modifier l'heure de modification. La syntaxe de base est :
touch -m <filename>
Par exemple, vérifiez le mtime du fichier avant de modifier l'horodatage :
ls -l
Ensuite, modifiez l'heure de modification du fichier de test :
touch -m test
Enfin, vérifiez le mtime après le changement :
ls -l
Le -m
l'option change l'heure de modification à l'horodatage actuel par défaut.
Modifier explicitement l'heure de modification
Combinez le -m
option avec -t
pour indiquer explicitement l'horodatage de la modification. La syntaxe générale est :
touch -mt <timestamp> <filename>
Vérifiez le mtime du fichier avant de le modifier :
ls -l
Changer l'heure de modification à minuit 1er janvier 1999 , en exécutant :
touch -mt 9901010000 test
Enfin, revérifiez l'heure de modification :
ls -l
Ajout du -t
l'option met à jour l'heure de modification à une valeur spécifique.
Modifier à la fois l'heure de modification et d'accès
L'utilitaire touch permet de changer le temps de modification et d'accès avec une seule commande. Pour ce faire, exécutez :
touch -am <filename>
Avant de modifier atime et mtime, vérifiez-le avec :
ls -lu
ls -l
Ensuite, changez les deux heures pour le test fichier à l'horodatage actuel :
touch -am test
Vérifiez atime et mtime après le changement :
ls -lu
ls -l
Les options combinées changent les deux fois en une seule fois à l'heure actuelle. Combinez davantage avec le -t
balise pour indiquer un horodatage explicite.
Évitez 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 le -c
option pour éviter de créer un nouveau fichier lors de l'appel du touch
commande :
touch -c <filename>
Par exemple, essayez d'exécuter touch
avec le -c
option avec un fichier inexistant :
touch -c new_test
Répertoriez le contenu du répertoire pour confirmer que le fichier n'y est pas :
ls -l
En revanche, si le fichier existe, le touch
La commande effectue les opérations fournies sur le fichier existant comme d'habitude.
Définir l'horodatage à l'aide d'un fichier de référence
Le touch
La commande offre une option utile pour modifier l'horodatage d'un fichier en fonction de l'horodatage d'un autre fichier.
Pour effectuer une telle modification, exécutez :
touch -r <reference file> <file>
Par exemple, créez un nouveau fichier et référencez l'horodatage d'un test existant fichier :
touch -r test new_test
Vérifiez l'horodatage des deux fichiers avec :
ls -l
Le nouveau_test le fichier hérite de l'horodatage du test fichier.
Définir l'horodatage à l'aide d'un lien symbolique
Le touch
La commande permet de modifier l'horodatage des liens symboliques sans modifier l'horodatage du fichier référencé. Utilisez le -h
possibilité de 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
Remplacez l'horodatage du lien symbolique par l'heure actuelle :
touch -h link
Enfin, revérifiez l'horodatage pour confirmer le changement :
ls -l
Sans le -h
l'option touch
la commande ne change que le test l'horodatage du fichier.
L'horodatage du lien symbolique reste inchangé dans ce cas.