accueil > Gestion des fichiers et répertoires > touch

Guide de la commande touch : Création de fichiers et modification des timestamps

`touch` est une commande utilisée dans les systèmes d'exploitation Linux et Unix pour mettre à jour les temps d'accès (atime) et de modification (mtime) d'un fichier, ou pour créer un nouveau fichier s'il n'existe pas. Elle est utile pour créer des fichiers temporaires dans des scripts shell ou pour définir le temps de modification d'un fichier à un moment précis. À travers ce guide, apprenez les bases de l'utilisation de la commande `touch` et ses diverses options.

Aperçu de touch

La principale fonction de la commande `touch` est de mettre à jour les timestamps d'un fichier. Si le fichier n'existe pas, `touch` crée un nouveau fichier vide avec le même nom. Cette commande est utilisée pour manipuler les métadonnées du système de fichiers sans affecter directement le contenu du fichier.

Rôle principal de touch

`touch` est principalement utilisé pour les raisons suivantes :

Domaines d'application principaux

  • Création de fichiers: Crée rapidement des fichiers inexistants.
  • Mise à jour des timestamps: Met à jour les temps d'accès (atime) et de modification (mtime) du fichier à l'heure actuelle.
  • Définition d'une heure spécifique: Définit les timestamps d'un fichier à un moment spécifique dans le passé ou le futur.
  • Automatisation des scripts: Utilisé pour créer des fichiers temporaires dans des scripts shell ou pour déterminer si un fichier a été modifié dans un système de construction.
  • Sauvegarde et synchronisation: Utilisé pour déterminer si un fichier doit être sauvegardé en fonction de ses timestamps dans des scripts de sauvegarde.

Comprendre les timestamps de fichiers

Dans le système de fichiers Linux, les fichiers ont plusieurs types de timestamps :

Timestamps principaux

  • Temps d'accès (atime): Le moment où le fichier a été lu pour la dernière fois. (Modifié avec l'option `-a`)
  • Temps de modification (mtime): Le moment où le contenu du fichier a été modifié pour la dernière fois. (Modifié avec l'option `-m`, comportement par défaut)
  • Temps de changement (ctime): Le moment où les informations inode du fichier (permissions, propriétaire, nombre de liens durs, etc.) ou le contenu ont été modifiés pour la dernière fois. En utilisant la commande `touch`, `mtime` et `ctime` sont toujours modifiés. `ctime` ne peut pas être modifié directement avec la commande `touch`.

Options principales de la commande touch

`touch` propose diverses options pour modifier uniquement certains timestamps d'un fichier ou pour définir les timestamps à une date et une heure spécifiques.

1. Comportement par défaut et création

2. Choix des types de timestamps

3. Définir à une heure spécifique

Commande générée :

Essayez de combiner les commandes.

Description:

`touch` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples d'utilisation

Apprenez à créer des fichiers et à gérer efficacement les timestamps grâce à divers exemples d'utilisation de la commande `touch`.

Créer un fichier vide

touch new_document.txt

Crée un fichier vide nommé `new_document.txt` dans le répertoire actuel.

Mettre à jour le temps de modification d'un fichier existant

touch report.log

Met à jour le temps de modification (mtime) du fichier `report.log` à l'heure actuelle. Le contenu du fichier ne change pas.

Définir les timestamps d'hier

touch -d "yesterday" old_data.txt

Définit le temps de modification et d'accès du fichier `old_data.txt` à la date d'hier.

Définir les timestamps à une date et une heure spécifiques

touch -t 2301010930.00 meeting_notes.txt

Définit les timestamps du fichier `meeting_notes.txt` au 1er janvier 2023 à 9h30.

Copier les timestamps d'un autre fichier

touch -r source_file.txt target_file.txt

Applique les temps de modification et d'accès de `source_file.txt` à `target_file.txt`.

Créer ou mettre à jour plusieurs fichiers en une fois

touch file1.txt file2.txt file3.txt

Crée ou met à jour les timestamps de trois fichiers : `file1.txt`, `file2.txt`, `file3.txt` en une seule commande.


Commandes de la même catégorie