La commande Touch est utilisée pour créer des fichiers vides et modifie également les horodatages des fichiers existants sur les systèmes Unix et Linux. Changer les horodatages signifie ici mettre à jour l'heure d'accès et de modification des fichiers et des répertoires.
Voyons la syntaxe et les options utilisées dans la commande touch,
Syntaxe :# touchez {options} {fichier}
Options utilisées dans la commande tactile,
Dans cet article, nous allons parcourir 9 exemples de commandes tactiles utiles sous Linux,
Exemple :1 Créer un fichier vide à l'aide du toucher
Pour créer un fichier vide à l'aide de la commande touch sur les systèmes Linux, tapez touch suivi du nom du fichier, l'exemple est illustré ci-dessous,
[[email protected] ~]# touch devops.txt [[email protected] ~]# ls -l devops.txt -rw-r--r--. 1 root root 0 Mar 29 22:39 devops.txt [[email protected] ~]#
Exemple :2 Créer des fichiers vides en masse à l'aide du toucher
Il peut y avoir un scénario où nous devons créer beaucoup de fichiers vides pour certains tests, cela peut être facilement réalisé en utilisant la commande touch,
[[email protected] ~]# touch sysadm-{1..20}.txt
Dans l'exemple ci-dessus, nous avons créé 20 fichiers vides avec le nom sysadm-1.txt en sysadm-20.txt, vous pouvez modifier le nom et les numéros en fonction de vos besoins.
Exemple :3 Modifier / Mettre à jour l'heure d'accès d'un fichier et d'un répertoire
Supposons que nous voulions modifier le temps d'accès d'un fichier appelé "devops.txt ", pour ce faire, utilisez '-a ' option dans la commande tactile suivie du nom du fichier, l'exemple est illustré ci-dessous,
[[email protected] ~]# touch -a devops.txt [[email protected] ~]#
Vérifiez maintenant si l'heure d'accès d'un fichier a été mise à jour ou non à l'aide de la commande "stat"
[[email protected] ~]# stat devops.txt File: ‘devops.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324178 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2018-03-29 23:03:10.902000000 -0400 Modify: 2018-03-29 22:39:29.365000000 -0400 Change: 2018-03-29 23:03:10.902000000 -0400 Birth: - [[email protected] ~]#
Modifier l'heure d'accès d'un répertoire ,
Supposons que nous ayons un dossier 'nfsshare' sous /mnt, Modifions le temps d'accès de ce dossier à l'aide de la commande ci-dessous,
[[email protected] ~]# touch -a /mnt/nfsshare/ [[email protected] ~]#
[[email protected] ~]# stat /mnt/nfsshare/ File: ‘/mnt/nfsshare/’ Size: 6 Blocks: 0 IO Block: 4096 directory Device: fd00h/64768d Inode: 2258 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:mnt_t:s0 Access: 2018-03-29 23:34:38.095000000 -0400 Modify: 2018-03-03 10:42:45.194000000 -0500 Change: 2018-03-29 23:34:38.095000000 -0400 Birth: - [[email protected] ~]#
Exemple :4 Modifier l'heure d'accès sans créer de nouveau fichier
Il peut y avoir des situations où nous voulons changer le temps d'accès d'un fichier s'il existe et éviter de créer le fichier. Utilisation de '-c ' dans la commande touch, nous pouvons modifier le temps d'accès d'un fichier s'il existe et ne créerons pas de fichier s'il n'existe pas.
[[email protected] ~]# touch -c sysadm-20.txt [[email protected] ~]# touch -c winadm-20.txt [[email protected] ~]# ls -l winadm-20.txt ls: cannot access winadm-20.txt: No such file or directory [[email protected] ~]#
Exemple :5 Modifier l'heure de modification d'un fichier et d'un répertoire
Utilisation de '-m ' option dans la commande touch, nous pouvons changer l'heure de modification d'un fichier et d'un répertoire,
Modifions l'heure de modification d'un fichier appelé "devops.txt",
[[email protected] ~]# touch -m devops.txt [[email protected] ~]#
Vérifiez maintenant si l'heure de modification a été modifiée ou non à l'aide de la commande stat,
[[email protected] ~]# stat devops.txt File: ‘devops.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324178 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2018-03-29 23:03:10.902000000 -0400 Modify: 2018-03-29 23:59:49.106000000 -0400 Change: 2018-03-29 23:59:49.106000000 -0400 Birth: - [[email protected] ~]#
De même, on peut changer l'heure de modification d'un répertoire,
[[email protected] ~]# touch -m /mnt/nfsshare/ [[email protected] ~]#
Exemple :6 Modification de l'accès et de l'heure de modification en une seule fois
Utilisez "-am ” option dans la commande tactile pour changer l'accès et la modification ensemble ou en une seule fois, l'exemple est montré ci-dessous,
[[email protected] ~]# touch -am devops.txt [[email protected] ~]#
Vérifiez l'heure d'accès et de modification à l'aide de stat,
[[email protected] ~]# stat devops.txt File: ‘devops.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324178 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2018-03-30 00:06:20.145000000 -0400 Modify: 2018-03-30 00:06:20.145000000 -0400 Change: 2018-03-30 00:06:20.145000000 -0400 Birth: - [[email protected] ~]#
Exemple :7 Définissez l'heure d'accès et de modification sur une date et une heure spécifiques
Chaque fois que nous modifions l'heure d'accès et de modification d'un fichier et d'un répertoire à l'aide de la commande touch, il définit l'heure actuelle comme heure d'accès et de modification de ce fichier ou répertoire,
Supposons que nous voulions définir une date et une heure spécifiques comme heure d'accès et de modification d'un fichier, cela peut être réalisé en utilisant l'option '-c' &'-t' dans la commande tactile,
La date et l'heure peuvent être spécifiées au format :{CCYY}MMJJhhmm.ss
Où :
- CC :les deux premiers chiffres d'une année
- YY :les deux deuxièmes chiffres d'une année
- MM – Mois de l'année (01-12)
- JJ – Jour du mois (01-31)
- hh – Heure de la journée (00-23)
- mm - Minutes de l'heure (00-59)
Définissons l'heure d'accès et de modification du fichier devops.txt pour une date et une heure futures (année 2025, 10e mois, 19e jour du mois, 18e heure et 20e minute)
[[email protected] ~]# touch -c -t 202510191820 devops.txt
Utilisez la commande stat pour afficher l'accès à la mise à jour et l'heure de modification,
Définissez l'heure d'accès et de modification en fonction de la chaîne de date, utilisez l'option '-d' dans la commande tactile, puis spécifiez la chaîne de date suivie du nom du fichier, l'exemple est illustré ci-dessous,
[[email protected] ~]# touch -c -d "2010-02-07 20:15:12.000000000 +0530" sysadm-29.txt [[email protected] ~]#
Vérifiez l'état à l'aide de la commande stat,
[[email protected] ~]# stat sysadm-20.txt File: ‘sysadm-20.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324189 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2010-02-07 20:15:12.000000000 +0530 Modify: 2010-02-07 20:15:12.000000000 +0530 Change: 2018-03-30 10:23:31.584000000 +0530 Birth: - [[email protected] ~]#
Remarque : Dans les commandes ci-dessus, si nous ne spécifions pas "-c", la commande touch créera un nouveau fichier au cas où il n'existerait pas sur le système et définirait les horodatages tout ce qui est mentionné dans la commande.
Exemple :8 Définissez les horodatages d'un fichier à l'aide d'un fichier de référence (-r)
Dans la commande touch, nous pouvons utiliser un fichier de référence pour définir les horodatages du fichier ou du répertoire. Supposons que je veuille définir les mêmes horodatages du fichier "sysadm-20.txt" sur le fichier "devops.txt". Ceci peut être facilement réalisé en utilisant l'option '-r' en contact.
Syntaxe : # touch -r {reference-file} fichier-réel
[[email protected] ~]# touch -r sysadm-20.txt devops.txt [[email protected] ~]#
Exemple :9 Modifier l'heure d'accès et de modification sur le fichier de lien symbolique
Par défaut, chaque fois que nous essayons de modifier les horodatages d'un fichier de lien symbolique à l'aide de la commande touch, cela ne changera que les horodatages du fichier d'origine. Si vous souhaitez modifier les horodatages d'un fichier de lien symbolique, cela peut être réalisé en utilisant '-h' option dans la commande tactile,
Syntaxe : # touch -h {fichier de lien symbolique}
[[email protected] opt]# ls -l /root/linuxgeeks.txt lrwxrwxrwx. 1 root root 15 Mar 30 10:56 /root/linuxgeeks.txt -> linuxadmins.txt [[email protected] ~]# touch -t 203010191820 -h linuxgeeks.txt [[email protected] ~]# ls -l linuxgeeks.txt lrwxrwxrwx. 1 root root 15 Oct 19 2030 linuxgeeks.txt -> linuxadmins.txt [[email protected] ~]#
C'est tout de ce tutoriel, j'espère que ces exemples vous aideront à comprendre la commande tactile. Veuillez partager vos précieux commentaires et commentaires.
En savoir plus : 17 exemples de commandes rsync (synchronisation à distance) utiles sous Linux