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.
Sommaire
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 !