GNU/Linux >> Tutoriels Linux >  >> Linux

9 exemples utiles de commande tactile sous Linux

Commande tactile sous Linux

La commande tactile sous Linux est utilisée pour modifier l'horodatage des fichiers, mais l'une des utilisations les plus courantes de la commande tactile consiste à créer un nouveau fichier vide.

Avec la commande touch, vous pouvez changer l'accès, modifier et changer l'heure des fichiers et des dossiers sous Linux. Vous pouvez mettre à jour les horodatages ou les modifier à une date dans le passé.

La syntaxe de la commande touch est assez simple :

touch [option] file

Que sont les horodatages de fichiers sous Linux, encore ?

J'ai écrit en détail sur les horodatages sous Linux dans un article précédent. Je recommanderais de le lire pour une compréhension meilleure et plus claire. Pour un rappel rapide, je vais lister les horodatages ici :

  • heure d'accès - dernière fois qu'un fichier a été consulté
  • heure de modification - dernière fois qu'un fichier a été modifié
  • modifier l'heure - dernière fois que les métadonnées du fichier (autorisation de fichier, propriétaire, etc.) ont été modifiées

Vous pouvez voir les horodatages d'un fichier à l'aide de la commande stat de la manière suivante :

stat abhi.txt 
  File: abhi.txt
  Size: 10        	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11940163    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-09-02 14:12:24.476483367 +0530
Modify: 2018-09-02 14:12:24.476483367 +0530
Change: 2018-09-02 14:12:24.476483367 +0530
 Birth: -

La commande Stat affiche même le numéro d'inode du fichier.

9 exemples pratiques de la commande touch sous Linux

Voyons maintenant comment utiliser la commande touch avec quelques exemples simples mais utiles.

1. Créer un  fichier vide

Comme je l'ai mentionné plus tôt, c'est l'utilisation la plus courante de la commande tactile. Tout ce que vous avez à faire est d'utiliser touch avec le nom du fichier.

touch <filename>

Cela créera un fichier vide si le fichier n'existe pas.

touch empty_file
ls -l empty_file 
-rw-r--r-- 1 abhishek abhishek 0 Sep  2 14:37 empty_file

Mais que se passe-t-il si le fichier existe déjà ? Dans ce cas, il mettra à jour les trois horodatages du fichier à l'heure actuelle.

2. Créer plusieurs fichiers vides

Vous pouvez également utiliser le toucher pour créer plusieurs fichiers vides. Indiquez simplement les noms des fichiers que vous souhaitez créer.

touch <file1> <file2> <file3>

Si vous pensez qu'il est fatigant d'écrire tous les noms de fichiers, vous pouvez générer automatiquement les noms de fichiers de cette manière :

touch new-file-{1..10}.txt

Cela créera nouveau-fichier-1.txt, nouveau-fichier-2.txt jusqu'à nouveau-fichier-10.txt.

3. Evitez de créer un fichier avec touch s'il n'existe pas

Touch mettra à jour les horodatages du fichier d'entrée s'il existe et créera un fichier vide si le fichier d'entrée n'existe pas.

Mais que se passe-t-il si vous ne voulez pas toucher pour créer un nouveau fichier vide ? Vous voulez qu'il mette à jour les horodatages du fichier, mais si le fichier n'existe pas, il ne doit pas être créé.

Vous pouvez utiliser la commande touch avec l'option -c dans de tels cas :

touch -c <filename>
Souviens-toi :Touch créera un nouveau fichier vide s'il n'existe pas, sinon il modifiera les horodatages du fichier existant. Vous pouvez arrêter la création d'un nouveau fichier avec l'option -c.

4. Modifier tous les horodatages d'un fichier

Si vous utilisez le toucher sur un fichier existant, cela changera l'accès, modifiera et changera l'heure de ce fichier.

Par exemple, j'ai ce fichier nommé sherlock.txt avec les horodatages suivants :

stat sherlock.txt 
  File: sherlock.txt
  Size: 356       	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11928277    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-08-25 09:44:56.092937000 +0530
Modify: 2018-08-09 09:41:05.028309000 +0530
Change: 2018-08-25 09:44:56.096937182 +0530

Si j'utilise touch sur cette commande, tous les horodatages seront remplacés par les horodatages actuels.

touch sherlock.txt 
stat sherlock.txt 
  File: sherlock.txt
  Size: 356       	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11928277    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-09-02 15:22:47.017037942 +0530
Modify: 2018-09-02 15:22:47.017037942 +0530
Change: 2018-09-02 15:22:47.017037942 +0530
 Birth: -

Remarque :vous ne devriez pas être dérangé par ctime (changer l'heure). Il s'agit d'une propriété système et ne peut/ne doit pas être contrôlée par l'utilisateur. Vous devez vous concentrer sur l'accès et la modification de l'heure.

5. Mettre à jour uniquement l'heure d'accès du fichier

Vous ne voudrez peut-être pas toujours modifier tous les horodatages d'un fichier. Si vous souhaitez simplement modifier le temps d'accès d'un fichier, vous pouvez utiliser l'option -a avec touch.

touch -a sherlock.txt 
stat sherlock.txt 
  File: sherlock.txt
  Size: 356       	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11928277    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-09-02 15:29:08.796926093 +0530
Modify: 2018-09-02 15:22:47.017037942 +0530
Change: 2018-09-02 15:29:08.796926093 +0530
 Birth: -

6. Mettre à jour uniquement modifier l'heure du fichier

Si vous souhaitez simplement mettre à jour l'heure de modification d'un fichier sur l'horodatage actuel, utilisez l'option -m de la commande touch.

touch -m sherlock.txt 
stat sherlock.txt 
  File: sherlock.txt
  Size: 356       	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11928277    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-09-02 15:29:08.796926093 +0530
Modify: 2018-09-02 15:31:25.770866881 +0530
Change: 2018-09-02 15:31:25.770866881 +0530
 Birth: -

7. Utiliser les horodatages d'un autre fichier

Vous pouvez également utiliser les horodatages d'un autre fichier comme référence avec l'option -r de la manière suivante :

touch -r <source_file> <target_file>

Cela définira l'heure d'accès et de modification du fichier cible de la même manière que l'heure d'accès et de modification du fichier source.

8. Définir un accès spécifique et une heure de modification

Vous avez peut-être remarqué que dans presque tous les cas (sauf celui du fichier de référence), les horodatages sont remplacés par l'horodatage actuel.

Mais vous n'êtes pas lié à cela. Le toucher permet de régler l'heure d'accès et de modification à une date passée ou future. Vous pouvez utiliser l'option -t et un horodatage au format suivant :

[[CC]AA]MMJJhhmm[.ss]

  • 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 - Minute de l'heure (00-59)
  • ss – Secondes (00-59)

Dans le cas ci-dessus, CC est facultatif. En fait, CCYY est également facultatif, cela prendra l'année en cours dans ce cas. De même, les secondes sont également facultatives, la valeur par défaut est 00.

Laissez-moi vous montrer un exemple en changeant l'horodatage en 12021301, c'est-à-dire le 12e mois, le deuxième jour, la 13e heure et la première minute de l'année en cours :

touch -t 12021301 agatha.txt 
stat agatha.txt 
  File: agatha.txt
  Size: 457       	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11928279    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-12-02 13:01:00.000000000 +0530
Modify: 2018-12-02 13:01:00.000000000 +0530
Change: 2018-09-02 15:59:47.588680901 +0530
 Birth: -

Si vous essayez de saisir une date non valide, une erreur s'affichera. Vous remarquerez également que l'heure de changement utilise l'horodatage actuel, pas la même chose que l'accès et la modification. C'est parce que c'est une propriété système.

Vous pouvez également utiliser la commande touch avec des liens symboliques. Il vous suffit d'utiliser l'option -h lorsque vous traitez des liens symboliques. Le reste reste le même que les fichiers normaux.

touch -h <symbolic_link>

J'espère que ces exemples de commandes tactiles sous Linux vous seront utiles. Si vous avez des questions ou des suggestions, faites-le moi savoir.


Linux
  1. 12 exemples de commandes Wget utiles sous Linux

  2. Commande ls sous Linux :17 exemples utiles expliqués

  3. Commande mv sous Linux :7 exemples essentiels

  4. 9 exemples utiles de la commande Split sous Linux

  5. 14 exemples de commandes "cat" utiles sous Linux

Commande Linux WC avec exemples

Exemples de commandes Linux Touch

15 exemples utiles de commande touch dans le système Linux

9 exemples utiles de commande tactile sous Linux

Exemples de commande Linux cat

Exemples de commande Linux gzip