GNU/Linux >> Tutoriels Linux >  >> Linux

Façons d'utiliser la commande "find" pour rechercher des répertoires plus efficacement

Ce tutoriel vous guidera à travers les différentes manières de trouver un répertoire sous Linux. Comme vous le savez peut-être déjà, sous Linux, tout est un fichier, y compris les répertoires. Et l'une des choses courantes qu'un utilisateur Linux fera dans la ligne de commande est de rechercher un fichier ou un répertoire.

Il existe plusieurs moyens et utilitaires différents utilisés pour rechercher des fichiers sur la ligne de commande, tels que rechercher, localiser et qui . Cependant, le dernier utilitaire (qui ) n'est utilisé que pour localiser une commande.

Dans le cadre de ce didacticiel, nous nous concentrerons principalement sur l'utilitaire de recherche, qui recherche des fichiers sur un système de fichiers Linux en direct et est plus efficace et fiable que locate .

L'inconvénient de localiser est qu'il lit une ou plusieurs bases de données créées par updatedb , il ne recherche pas dans un système de fichiers actif. De plus, il n'offre pas non plus de flexibilité quant à l'endroit à partir duquel effectuer la recherche (point de départ).

Vous trouverez ci-dessous la syntaxe pour exécuter locate commande :

# locate [option] [search-pattern]

Pour démontrer l'inconvénient de localiser , supposons que nous recherchions un répertoire nommé pkg dans le répertoire de travail courant.

Remarque :Dans la commande ci-dessous, l'option --basename ou -b dit localiser pour correspondre uniquement au nom de base du fichier (répertoire) (qui est exactement pkg ) mais pas le chemin (/path/to/pkg ). Où \ est un caractère global, il désactive le remplacement implicite de pkg par *pkg* .

$ locate --basename '\pkg'

Comme vous pouvez le voir dans la sortie de la commande ci-dessus, localiser recherchera à partir de la racine (/) répertoire, c'est pourquoi d'autres répertoires portant le même nom sont mis en correspondance.

Par conséquent, pour résoudre ce problème, utilisez rechercher en suivant la syntaxe simplifiée ci-dessous :

$ find starting-point options [expression]

Prenons quelques exemples.

Pour rechercher le même répertoire (pkg) ci-dessus, dans le répertoire de travail actuel, exécutez la commande suivante, où le -name flag lit l'expression qui dans ce cas est le nom de base du répertoire.

$ find . -name "pkg"

Si vous rencontrez "Autorisation refusée ” erreurs, utilisez la commande sudo comme suit :

$ sudo find . -name "pkg"

Vous pouvez empêcher find de rechercher d'autres types de fichiers à l'exception des répertoires en utilisant -type drapeau pour spécifier le type de fichier (dans la commande ci-dessous d signifie répertoire) comme suit :

$ sudo find . -type d -name "pkg"

De plus, si vous souhaitez répertorier le répertoire dans un format de liste longue, utilisez le commutateur d'action -ls :

$ sudo find . -type d -name "pkg" -ls

Ensuite, l'option -iname activera une recherche insensible à la casse :

$ sudo find . -type d -iname "pkg" 
$ sudo find . -type d -iname "PKG" 

Pour trouver des informations d'utilisation plus intéressantes et avancées, lisez les pages de manuel de trouver et localiser .

$ man find
$ man locate

Comme dernière remarque, la commande find est plus fiable et efficace pour rechercher des fichiers (ou des répertoires) dans un système Linux lorsqu'elle est comparée à locate commande.

De la même manière qu'auparavant, n'oubliez pas de nous envoyer vos commentaires ou questions via la section commentaires ci-dessous. Enfin, restez toujours connecté à Tecmint .


Linux
  1. Comment utiliser la commande 'find' pour rechercher plusieurs noms de fichiers (extensions) sous Linux

  2. 4 façons de trouver l'adresse IP publique du serveur dans le terminal Linux

  3. 5 façons d'utiliser la commande move sous Linux

  4. Utilisez Find and Locate pour rechercher des fichiers sous Linux

  5. Un guide de la commande Linux "Rechercher"

Comment utiliser la commande grep sous Linux/UNIX

Rechercher la commande sous Linux (Rechercher des fichiers et des répertoires)

7 façons d'utiliser la commande Linux Head

7 façons d'utiliser la commande Linux Watch

Comment installer et utiliser la commande locate sous Linux

Rechercher la commande sous Linux/UNIX