GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser la commande touch sous Linux

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ée
  • YY - les deux derniers chiffres d'une année
  • MM - le mois
  • DD - le jour
  • hh - l'heure
  • mm - le procès-verbal
  • ss - 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 ou 8: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.


Linux
  1. Comment utiliser la commande Linux grep

  2. Comment utiliser la commande history sous Linux

  3. Comment utiliser la commande Linux history

  4. Comment utiliser la commande Tar sous Linux

  5. Comment utiliser la commande Linux Touch + Exemples

Comment utiliser une commande de fichier sous Linux

Comment utiliser la commande fd sur le système Linux

Comment utiliser la commande wget sous Linux ?

Comment utiliser la commande xargs sous Linux ?

Comment utiliser la commande Gzip sous Linux ?

Comment utiliser la commande lsof sous Linux