GNU/Linux >> Tutoriels Linux >  >> Linux

Rechercher la commande sous Linux/UNIX

La commande Linux find est pratique pour rechercher des fichiers directement à partir de la ligne de commande. La commande de recherche reçoit des critères de recherche tels que les autorisations, la propriété, la modification, la taille, l'heure et la date, entre autres, pour localiser le fichier ou le répertoire en question.

La commande find est disponible par défaut dans toutes les distributions Linux, il n'est donc pas nécessaire d'installer des packages spéciaux pour l'utiliser. En raison de son importance, la commande find est une commande essentielle pour en savoir plus si vous souhaitez en savoir plus sur les navigations en ligne de commande sur n'importe quelle distribution Linux.

Nous mettrons en évidence certains des exemples de commandes de recherche et expliquerons les différentes options que vous pouvez utiliser.

Syntaxe

$ find location  comparison-criteria  search term

Liste des fichiers dans le répertoire courant

Pour répertorier tous les fichiers d'un répertoire, y compris les fichiers à l'intérieur des dossiers, exécutez la commande ci-dessous.

$ find .

Exemple de sortie

Rechercher des fichiers dans un répertoire spécifié

Si vous souhaitez rechercher tous les fichiers dans un répertoire donné, utilisez la commande find comme suit

$ find directory_name

Par exemple, pour rechercher tous les fichiers dans /boot, exécutez la commande

$ find /boot

Exemple de sortie

Rechercher des fichiers en utilisant le nom de fichier dans un répertoire spécifié

Si vous souhaitez spécifier les critères de recherche en utilisant le nom du fichier dans un répertoire, la syntaxe sera la suivante

$ find directory_name -name "file_name"

Par exemple, pour rechercher des fichiers Apache2 dans le répertoire /etc run

$ find /etc -name "apache2"

Sortie

Rechercher de manière récursive tous les fichiers avec une extension de fichier spécifiée

Si vous souhaitez rechercher des fichiers particuliers portant une extension spécifique, dans un répertoire donné, la syntaxe sera la suivante

$ find directory_name  -name "*.extension"

Par exemple, pour rechercher tous les fichiers de configuration (.conf) dans le répertoire /etc, exécutez

$ find /etc -name "*.conf"

Exemple de sortie

Limiter la profondeur de recherche

Vous pouvez décider de limiter la profondeur de votre recherche de fichiers dans les répertoires. Par exemple, si vous souhaitez limiter votre recherche de fichiers au premier niveau du répertoire, la syntaxe sera

$ find directory_name -maxdepth 1 -name "*.conf"

Donc, si vous souhaitez limiter la recherche de fichiers au répertoire de premier niveau dans /etc pour les fichiers avec .conf exécution de l'extension :

$ find /etc -maxdepth 1 -name "*.conf"

Exemple de sortie

Comme on le voit dans la sortie ci-dessus, la recherche de fichiers est limitée à /etc niveau répertoire. Si vous souhaitez effectuer une recherche plus intensive et approfondir d'autres répertoires dans /etc répertoire, augmentez le maxdepth valeur.

Par exemple, pour rechercher des fichiers avec .conf extension jusqu'à la 3ème exécution du répertoire

$ find /etc -maxdepth 3 -name "*.conf"

Exemple de sortie

Comme le montre la sortie ci-dessus, la recherche remonte jusqu'aux 2e et 3e répertoires.

Inverser les résultats de recherche

Vous pouvez également rechercher des fichiers qui ne répondent pas aux critères donnés avec la commande find. Ce mode est utile lorsque vous souhaitez éliminer les fichiers connus du modèle de recherche.

Pour ce faire, utilisez le -not -name attribut comme indiqué

$ find /etc -maxdepth 1 -not -name "*.conf"

Exemple de sortie


La sortie ci-dessus imprime tous les fichiers qui n'ont pas le .conf extension de fichier.

Utiliser la recherche avec l'opérateur OR

Vous pouvez choisir de combiner les résultats de la recherche avec la recherche en utilisant l'opérateur OR qui est symbolisé par -o drapeau illustré dans l'exemple ci-dessous

$ find /etc -maxdepth 3 -name "cron" -o -name "ssh"

Exemple de sortie

La commande ci-dessus recherche les fichiers portant le nom ssh OU cron dans le répertoire

Recherche de fichiers uniquement ou de répertoires uniquement

Si vous souhaitez rechercher uniquement des fichiers, utilisez le - type f attribut comme indiqué dans l'exemple ci-dessous

$ find /etc -type f -name "ssh"

Exemple de sortie

Si vous souhaitez rechercher uniquement des répertoires, utilisez le - type d comme indiqué dans l'exemple ci-dessous.

$ find /etc -type d -name "ssh"

Exemple de sortie

Rechercher des fichiers appartenant à un utilisateur particulier

Pour rechercher des fichiers appartenant à un utilisateur particulier dans un répertoire spécifique, utilisez la syntaxe :

$ find /path -user username

Par exemple, pour trouver des fichiers appartenant à l'utilisateur james dans /home répertoire exécutez la commande ci-dessous

$ find /home -user james

Exemple de sortie

Rechercher des fichiers avec certaines autorisations de fichiers

Pour rechercher des fichiers avec des autorisations de fichiers spécifiques, utilisez la syntaxe ci-dessous

$ find /directory_name  -type f -perm value

Par exemple, pour rechercher des fichiers avec les permissions 755 dans /etc répertoire, exécutez :

$ find /etc -type f -perm 755

Exemple de sortie

Rechercher des fichiers avec certaines tailles de fichiers ou une plage de fichiers

La commande de recherche Linux offre également aux utilisateurs la possibilité de rechercher des fichiers en fonction de leur taille.

Rechercher des fichiers de taille N

Par exemple, pour rechercher des fichiers de 10 ko, exécutez :

$ find /etc -type f -size 10k

Exemple de sortie

Pour rechercher des fichiers de plus de 10 Ko, exécutez

 find /etc -type f -size +10k

Exemple de sortie

Pour rechercher des fichiers de moins de 10 ko, exécutez

 find /etc -type f -size -10k

Exemple de sortie

Résumé

C'était un aperçu rapide des exemples de commandes de recherche Linux. Comme déjà montré, la recherche de fichiers et de répertoires sur la ligne de commande est très simple. Savoir comment la commande fonctionne est un outil essentiel pour tous les administrateurs système.
N'hésitez pas à essayer les exemples de commande de recherche ci-dessus et faites-nous savoir comment cela s'est passé.


Linux
  1. Comment trouver un fichier sous Linux

  2. Commande Linux mv

  3. Linux du command

  4. Commande IP Linux

  5. UNIX / Linux :10 exemples de commandes Netstat

Commande AWK sous Linux/Unix

Commande mkdir sous Linux/Unix

Linux contre Unix

Commande Grep sous Linux/UNIX

Commande ls sous Linux/UNIX

commande cp sous Linux/UNIX