Un rappel sur find: trouver des fichiers sur votre distribution Linux

Loupe

La recherche de fichiers et de répertoires est relativement simple avec les moteurs de recherche actuels intégrés dans les gestionnaires de fichiers, mais parfois nous aimerions mieux utiliser le terminal, ou nous n'avons pas d'autre choix que d'utiliser le terminal car nous n'avons pas d'environnement graphique. Pour cela, J'ai trouvé intéressant de revoir trouver, une commande bien connue, mais quelque chose d'oubli par l'utilisation massive des environnements graphiques.

Eh bien, trouver, comme son nom l'indique, est inutile pour autre chose que pour localiser les fichiers, bien qu'il ait d'autres alternatives telles que localiser, etc., nous nous concentrerons sur find, car il est assez puissant et nous permet de nombreuses options intéressantes pour mener à bien notre recherche. Si nous l'utilisons tel quel, sans aucune option, ce qu'il fera est de lancer une liste similaire à celle que nous obtiendrions avec un ls, du contenu d'un répertoire entier (et des sous-répertoires).

Mais ce n'est pas ce qui nous intéresse, ce que nous voulons, c'est personnaliser et affiner un peu plus la recherche pour être plus précis et nous aider à trouver ce que nous recherchons vraiment. Pour comprendre comment cela fonctionne, je pense qu'il n'y a pas de meilleur moyen que de montrer des exemples pratiques de trouvaille:

  • Rechercher par nom, nous pouvons utiliser l'option ou les critères de recherche «-nom». Par exemple, le premier exemple recherche les fichiers / répertoires dont le nom commence par "musi", le second qui se termine par "eon" et le dernier qui contient le mot "found" dans le répertoire racine /:
find / -name "musi*"

find / -name "*eon"

find / -name "fundar"

  • Il existe une option appelée -type, qui peut servir de filtre et peut être utilisée avec -name. Dans ce cas, il sert à spécifier le type de fichier à rechercher. Avec B, nous recherchons des fichiers spéciaux en mode bloc, avec C pour les fichiers spéciaux en mode caractère, D pour les répertoires, F pour les fichiers ordinaires, L pour les liens symboliques, P pour le tube nommé et S pour la connexion Socket ou réseau. Par exemple, supposons que vous souhaitiez rechercher un répertoire qui a "bonjour" à la fin de son nom et dans le répertoire Accueil / utilisateur:
find /Home/usuario -name "*hola" -type D

  • Nous pouvons aussi recherche par utilisateur ou par groupe auquel il appartient un répertoire ou des fichiers sur le système. Pour cela, nous pouvons utiliser les critères -user et -group. Imaginez maintenant que vous vouliez trouver un fichier contenant «.mp3» de l'utilisateur «Rosa» et le groupe «Chats» dans le répertoire Téléchargements:
find /Descargas -name ".mp3" -user Rosa -group Gatos

  • La taille peut nous aider à rechercher par taille. Dans ce cas, nous avons différentes options à appliquer. Un B indiquerait le bloc, si la taille n'est pas indiquée, par défaut, elle sera de 512 octets. C pour les caractères ASCII de 1 octet, W pour les (anciens) mots de 2 octets et K pour les kilo-octets ou 1024 octets. Par exemple, si nous voulons rechercher dans / pour un fichier de 2560 octets (5 blocs · 512), un autre de 10 caractères ASCII, un autre de 100 Ko, un de moins de 5 Mo et un autre de plus de 30 Ko:
find / -size 5

find / -size 10c

find / -size 100K

find / -size -5000K

find / -size +30K

Bien sûr, -size serait combinable avec tous les critères de recherche antérieur et postérieur, nous obtiendrons ainsi des résultats encore plus précis ...

  • Vous pouvez même recherche par critères temporels. Avec -atime, vous pouvez rechercher par la date du dernier accès. -mheure par date de modification du contenu et -heure par date de dernière modification de l'inode. Par exemple, nous voulons rechercher dans / Home, un répertoire appelé "hello", appartenant à l'utilisateur "Zaca" et qui a été modifié il y a moins de 3 jours:
find /Home -name "hola" -user Zaca -mtime -3

  • Il y a plus de critères recherche telle que -perm pour rechercher des autorisations d'accès ou des permissions, -links pour rechercher des liens physiques, -inum pour le numéro d'inode. Allons-y avec notre dernier exemple, dans ce cas, nous chercherons un répertoire dans le répertoire courant dont les permissions sont totales pour l'utilisateur propriétaire et le groupe, et l'exécution pour le reste:
find -type d -perm 771

Parfois, nous ignorons le potentiel du terminal et utilisons d'autres outils qui peuvent ne pas permettre la flexibilité de ce qui est déjà inné. J'espère donc avoir aidé quelque chose avec cet humble article. Amusez-vous et laissez vos commentaires...


Un commentaire, laissez le vôtre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Nomi dit

    Je ne suis pas amusé, mais ça m'a un peu aidé