Comment toucher tous les fichiers dans Subtree récursivement Linux?

Comment toucher tous les fichiers dans Subtree récursivement Linux?
Touch est une commande dans Linux utilisée pour créer et modifier les horodatages d'un fichier. De plus, il peut créer des fichiers sans contenu et un horodatage spécifié par l'utilisateur. Souvent, nous avons un répertoire en Linux avec plusieurs sous-répertoires et fichiers, et nous souhaitons modifier les horodatages de chaque sous-répertoire et fichier.

Dans cet article, nous examinerons comment toucher tous ces fichiers et sous-répertoires récursivement, ainsi qu'une ventilation complète des commandes qui sont utilisées à cet effet.

Quelle est la commande tactile et comment l'utiliser?

Le but de la commande tactile dans Linux est double; Il peut être utilisé pour créer des fichiers vides avec un horodatage spécifié par nous, et il peut être utilisé pour modifier et modifier les horodatages des fichiers déjà existants. Il s'agit d'une commande très utile car elle peut modifier une large gamme de horodatages, y compris mais sans s'y limiter, la dernière fois que le fichier a été accessible) et modifié (la dernière fois que le fichier a été modifié). Nous énumérons certaines des utilisations courantes de la commande Touch et de leurs formats.

  • Touchez le nom de fichier: crée un fichier vide avec le nom spécifié par l'argument «nom de fichier».
  • Touch -A: utilisé pour modifier le dernier horodatage d'accès d'un fichier.
  • Touch -C: vérifie si un fichier avec le nom spécifié existe ou non. Si un tel fichier n'existe pas, il évite de le créer.
  • Touch -C -D: utilisé pour mettre à jour le temps d'accès et de modification.
  • Touch -M: utilisé pour mettre à jour le dernier temps de modification du fichier spécifié.
  • Touch -R: utilisé pour stocker l'horodatage d'un autre fichier comme référence.
  • Touch -T: utilisé pour créer un fichier avec un horodatage spécifié.

Maintenant que nous avons fait connaître nos lecteurs avec les utilisations fondamentales de la commande Touch, nous allons avancer pour apprendre comment nous pouvons l'utiliser pour toucher tous les fichiers et sous-répertoires dans un sous-arbre récursivement.

Étape 1 - Ouvrez un terminal

Nous utiliserons l'interface de ligne de commande pour toucher tous les fichiers dans un sous-arbre récursivement. Pour commencer, nous ouvrirons un nouveau terminal de commande. Vous pouvez ouvrir une fenêtre de terminal soit en y accédant via le menu de l'application, soit en appuyant sur le raccourci clavier Ctrl + Alt + T.

Étape 2 - Exécutez la commande tactile

À des fins de démonstration, nous allons prendre un exemple de répertoire pour expérimenter librement la commande tactile. Dans ce cas, notre répertoire est situé dans ~ / Exemple. De toute évidence, vous devez suivre le répertoire de votre choix pour assurer un apprentissage maximum. Vous devez le changer en fonction du répertoire que vous souhaitez toucher. Après avoir défini le répertoire correct, il ne reste plus qu'à exécuter la commande suivante pour toucher tous les fichiers et sous-répertoires dans le dossier spécifié.

$ trouver ~ / example -exec touch \;

Comme nous l'avons vu plus tôt, il existe de nombreuses variantes de la commande tactile que l'on peut exécuter pour atteindre différentes fins. Un tel cas est lorsque l'utilisateur souhaite imprimer tous les répertoires en question. Ceci aussi peut en effet être fait via la commande tactile. Tout ce qui doit être fait est un peu de modification dans la syntaxe et l'ajout de «-print» à la commande. Exécutez la commande ci-dessous pour tester la fonction d'impression (il est à nouveau conseillé de vous assurer que l'adresse est définie sur le répertoire souhaité qui doit être touché).

$ find ~ / example -print -exec touch \;

Comme vous pouvez le voir sur l'image ci-dessus, les répertoires sont non seulement touchés mais également imprimés pendant que nous avons exécuté la commande précédente.

Déchange des commandes

Maintenant que nous avons couvert la partie principale du processus, ceux qui sont curieux de savoir comment les commandes précédentes fonctionnaient peuvent rester pour en savoir plus sur eux. Cette section décomposera chaque partie des commandes que nous avons exécutées une par une et passera par leurs fonctionnalités.

Tout d'abord, jetons un coup d'œil à la commande Find.

La commande Find est utilisée pour rechercher des fichiers et des répertoires dans un répertoire particulier. Certaines méthodes possibles de son utilisation sont données ci-dessous.

  • Find -name: utilisé pour rechercher un nom de fichier particulier dans un répertoire.
  • Find -Iname: utilisé pour effectuer une recherche de nom insensible au cas.
  • Find -F: Utilisé pour trouver un fichier régulier.
  • Find -D: Utilisé pour trouver des répertoires.
  • Find -L: Utilisé pour trouver des liens symboliques.
  • trouver -c: utilisé pour trouver des appareils de caractère.
  • Find -B: Utilisé pour trouver des appareils de bloc.
  • Find -s: Utilisé pour trouver des sockets

Maintenant, vous devez comprendre ce que fait la commande Find et comment l'utiliser. Essentiellement, il répertorie tous les fichiers et répertoires à une adresse donnée par l'utilisateur.

À l'avenir, nous spécifions le répertoire où nous voulons rechercher des fichiers et des répertoires.

-Print indique au terminal d'afficher les fichiers et les répertoires que la commande trouve.

-Exec Touch Exécute la commande tactile sur chacun des fichiers et répertoires trouvés.

?.

\ est utilisé pour échapper à la commande exec.

Cela étant dit, nous avons couvert le but derrière chaque partie de cette commande.

Conclusion

Cet article a examiné comment toucher tous les fichiers dans un sous-arbre récursivement à l'aide de commandes Find and Touch. De plus, un aperçu de la commande Touch and Find est présenté, ainsi qu'une ventilation de leur combinaison utilisée pour répertorier et toucher les fichiers dans un sous-arbre récursivement.