Comment utiliser la commande Touch de Linux + exemples

La commande touch de Linux est principalement utilisée pour créer des fichiers vides, et modifier le timestamp (horodatage) de fichiers ou de dossiers. Les informations d’horodatage des fichiers se composent de trois attributs : l’heure d’accès, l’heure de modification et l’heure de changement.

Ce tutoriel explique la commande touch de Linux, ses options et ses utilisations tout en fournissant des exemples utiles.

Qu’est-ce qu’un Timestamp sous Linux ?

Sous Linux, chaque fichier et dossier est associé à un timestamp qui fournit des informations sur la date de modification du contenu ou des attributs d’un fichier. Il existe trois types de timestamps :

  • Temps d’accès (atime) – la dernière fois qu’un fichier a été lu
  • Heure de modification (mtime) – la dernière fois que le contenu d’un fichier a été modifié. Comme le temps d’accès, il fait partie des métadonnées sur l’état des fichiers
  • Temps modifié (ctime) – la dernière fois que les métadonnées d’un fichier ont été modifiées (par exemple, les autorisations)

Comme atime et mtime font partie des métadonnées d’état d’un fichier, la modification de atime ou de mtime d’un fichier entraîne le réglage automatique de ctime à l’heure actuelle. Il est impossible de régler ou de modifier l’heure manuellement. La commande touch de Linux est principalement utilisée pour manipuler l’heure d’accès et de modification des fichiers en utilisant différentes options comme décrit ci-dessous. N’oubliez pas qu’avant d’utiliser cette commande Linux, vous devez accéder à votre VPS en utilisant SSH !

Syntaxe de la commande touch de Linux

La syntaxe de la commande touch est :

touch [options] [nom_de_fichier]

La section suivante énumère les utilisations de la commande touch de Linux en incluant chaque option.

Créer un fichier à l’aide de Touch

La commande touch sans aucune option crée un nouveau fichier. Si le fichier existe, la commande touch mettra à jour l’accès et la modification à l’heure actuelle sans changer son contenu :

touch nom_de_fichier.txt

Créer plusieurs fichiers en utilisant Touch

Il est également possible de créer plusieurs fichiers en utilisant une seule commande touch. Pour ce faire, il faut spécifier les noms des fichiers avec des espaces entre eux. La ligne de commande ressemblera à ceci :

touch nom_de_fichier1.txt nom_de_fichier2.txt nom_de_fichier3.txt

Vous pouvez générer automatiquement des noms de fichiers en utilisant des accolades tout en créant plusieurs fichiers comme dans l’exemple suivant :

touch nom_de_fichier{1..3}.txt

La commande touch ci-dessus créera trois fichiers nommés nom_de_fichier1.txt, nom_de_fichier2.txt et nom_de_fichier3.txt.

Modifier le temps d’accès en utilisant Touch

Pour changer l’heure d’accès d’un fichier à l’heure actuelle, utilisez l’option -a suivie du nom du fichier avec la commande touch comme dans l’exemple suivant :

touch -a nom_de_fichier.txt

Modifier l’heure de modification en utilisant Touch

L’option -m avec la commande touch de Linux change l’heure de modification d’un fichier à l’heure actuelle :

touch -m nom_de_fichier.txt

Modifier le temps d’accès et de modification en utilisant Touch

Pour modifier à la fois le temps d’accès et le temps de modification avec une seule commande, utilisez les options -a et -m ensemble :

touch -am nom_de_fichier.txt

Modifier le temps d’accès sans créer un nouveau dossier

Dans certaines situations, vous souhaitez modifier l’heure d’accès et de modification d’un fichier existant à l’heure actuelle sans pour autant créer un nouveau fichier. Pour ce faire, utilisez l’option -c suivie du nom du fichier avec la commande touch de Linux.

touch -c nom_de_fichier.txt

Définir un temps d’accès et de modification spécifique en utilisant Touch

Il est également possible de définir l’heure d’accès et de modification d’un fichier à une date particulière en utilisant l’option -t suivie de la date-heure. Cela ressemblerait à ceci :

touch -t 202003081047.30 nom_de_fichier.txt

La date et l’heure doivent être au format CCYYMMDDhhmm.ss :

  • MM – Le mois de l’année [01-12]
  • DD – Le jour du mois [01-31]
  • hh – L’heure de la journée [00-23]
  • mm – La minute de l’heure [00-59]
  • CC – Les deux premiers chiffres de l’année
  • YY – Les deux derniers chiffres de l’année
  • SS – La seconde de la minute [00-59]

Modifier le timestamp d’un fichier lié symboliquement

Lorsque vous utilisez un nom de fichier lié symboliquement avec la commande touch de Linux, les informations de timestamp du fichier original, c’est-à-dire le fichier pointé par le fichier lié, sont modifiées. Pour changer l’heure d’accès et de modification à l’heure actuelle pour un fichier lié symboliquement, utilisez l’option -h :

touch -h fichier_lien_symbolique

Définir le timestamp en utilisant un autre fichier comme référence

La commande touch de Linux peut également définir l’heure d’accès et de modification d’un fichier en lisant les informations du timestamp d’un autre fichier. Par exemple, la commande touch suivante avec l’option -r analysera les informations du timestamp à partir de reference.txt et définira ces valeurs de timestamp à nom_de_fichier.txt. Voici un exemple de cette commande :

touch -r reference.txt nom_de_fichier.txt

Spécifier la date et l’heure sous forme de chaîne de caractères en utilisant Touch

Vous pouvez également spécifier la date et l’heure sous forme de chaîne de caractères en utilisant l’option -d. L’exemple de commande touch Linux suivant définit la date au 8 mars et l’heure est automatiquement définie à 00:00

touch -d '8 Mar' nom_de_fichier.txt

Au lieu de spécifier la date sous forme de chaîne de caractères, vous pouvez spécifier l’heure sous forme de chaîne de caractères. Dans ce cas, la date sera automatiquement définie à la date du jour :

touch -d '20:10' nom_de_fichier.txt

Conclusion

Ce tutoriel couvre les utilisations de la commande touch de Linux en incluant les options les plus courantes. Pour toute difficulté liée à la commande touch de Linux, vous pouvez invoquer sa page de manuel dans le terminal !

Author
L'auteur

Ismail

Ismail est un spécialiste du référencement et de la localisation chez Hostinger. Il est passionné par la technologie et le développement web et possède des années d'expérience dans le domaine informatique. Ses passe-temps incluent les jeux vidéo et le football.