Comment trouver des fichiers sous Linux ?

Publié: 2022-04-07

Table des matières

Introduction:

Find est un utilitaire de ligne de commande UNIX qui parcourt une hiérarchie de fichiers. Vous pouvez l'utiliser pour rechercher et opérer sur des fichiers et des répertoires. Les fichiers, dossiers, noms, dates de création, dates de modification, propriétaires et autorisations peuvent être recherchés à l'aide de cette commande.

Vous pouvez en outre le combiner avec l'option ' exec ' pour effectuer diverses actions sur les résultats trouvés par la commande find .

Dans cet article, nous allons apprendre à rechercher des fichiers sous Linux à l'aide de la commande Rechercher .

Comment fonctionne la commande Rechercher ?

Find localise les fichiers sur votre ordinateur. Selon les règles de priorité, il évalue chaque expression, de gauche à droite, dans chaque arborescence de répertoires spécifiée par les chemins donnés. Dans les opérations ET ou dans les opérations OU, le résultat est "connu" lorsque le côté gauche de l'expression est VRAI ou FAUX. Find passe ensuite au chemin suivant jusqu'à ce que tous les chemins aient été explorés.

La commande find est l'outil le plus fondamental et le plus puissant pour travailler avec des fichiers sur un système Linux. Les fichiers peuvent être localisés seuls ou en conjonction avec d'autres programmes.

Syntaxe:

find [options] [path…] [expression]

ou

$ find [where to start searching from]

[l'expression détermine ce qu'il faut trouver] [-options] [ce qu'il faut trouver]

  • Le traitement des liens symboliques, les options de débogage et la stratégie d'optimisation sont tous contrôlés par la propriété options .
  • La propriété path … spécifie le répertoire ou les répertoires à partir desquels find recherchera les fichiers.
  • Les options, les modèles de recherche et les actions sont séparés par des opérateurs dans l'attribut d' expression .

Option :

-exec CMD : le fichier recherché qui répond aux critères ci-dessus et renvoie 0 pour un état de sortie d'exécution de commande réussie.

-ok CMD : Similaire à -exec, mais l'utilisateur est averti au préalable.

-inum N : Recherche les fichiers avec le numéro 'N' dans l'inode.

-links N : Trouve les fichiers qui ont des liens 'N'.

-name demo : recherche les fichiers avec le nom 'demo' dans le nom de fichier.

-newer file : recherche les fichiers qui ont été mis à jour ou créés depuis 'file.'

-perm octal : si la permission est « octal », recherchez le fichier.

-print : imprime les noms de chemin des fichiers identifiés à l'aide des critères restants.

-empty : recherche les fichiers et dossiers vides.

-size +N/-N : recherche les fichiers avec 'N' blocs ; 'N' suivi de 'c' peut être utilisé pour mesurer la taille des caractères ; '+N' indique une taille > 'N' blocs, tandis que '-N' signifie une taille 'N' blocs.

-user name : recherche les fichiers avec le nom d'utilisateur 'name' ou l'ID 'name'.

(expr ) : si 'expr' est vrai, alors vrai ; utilisé pour regrouper les critères avec OR ou AND.

! expr : Vrai si 'expr' est faux.

Expressions:

Les options (qui ont un impact sur le fonctionnement général plutôt que sur le traitement des fichiers et renvoient toujours vrai), les tests (qui renvoient une valeur vraie ou fausse) et les actions (qui ont des effets secondaires et renvoient une valeur vraie ou fausse) sont tous séparés par des opérateurs dans l'expression . Lorsque l'opérateur est absent, -et est déduit.

Si l'expression ne contient aucune action supplémentaire, alors -prune, -print est appliqué à tous les fichiers pour lesquels il est vrai.

Par exemple, regardons la commande suivante comme exemple

find -L /var/www -name "*.js"

  • L' option -L (options) indique à la commande find de suivre les liens symboliques.
  • Le /var/www (chemin…) spécifie le répertoire qui sera recherché.
  • L'(expression) -name "*.js indique à find de rechercher les fichiers se terminant par .js (fichiers JavaScript).

Comment trouver des fichiers sous Linux par leur nom

Les fichiers peuvent être trouvés par leur nom à l'aide de la commande find . Vous pouvez rechercher un fichier par son nom en utilisant l'option -name.

find -type f -name functions.php

Comment trouver des fichiers sous Linux

utilisez -iname au lieu de -name, pour lancer une recherche sensible à la casse

Comment trouver des fichiers sous Linux par extension

Vous pouvez rechercher des fichiers par extension tout comme vous pouvez rechercher des fichiers par nom.

find -type f -name '*.php'

pour trouver des fichiers sans l'extension donnée, utilisez la commande suivante

find -type f - not -name '*.php'

Rechercher des fichiers par type

Si vous avez besoin de trouver un type de fichier spécifique, tel qu'un fichier normal, un répertoire ou un lien symbolique, vous devrez peut-être rechercher des types de fichiers spécifiques. Tout sous Linux est un fichier.

Spécifiez le type de fichier que vous recherchez en utilisant l'option -type et l'un des descripteurs suivants :

  • f : une lime régulière
  • d : répertoire
  • l : lien symbolique
  • c : périphériques de caractères
  • b : bloquer les appareils
  • p : tube nommé (FIFO)
  • s : prise

find public_html/wp-admin/ -type d

Rechercher des fichiers par taille

Le paramètre -size doit être transmis avec le paramètre size pour rechercher des fichiers en fonction de leur taille. Les suffixes suivants peuvent être utilisés pour spécifier la taille du fichier :

  • b : blocs de 512 octets (par défaut)
  • c : octets
  • w : mots de deux octets
  • k : kilo-octets
  • M : Mégaoctets
  • G : gigaoctets

find . -type f -size -1M

Si vous souhaitez rechercher des fichiers d'une taille supérieure à 1 Mo, utilisez +

find . -type f -size +1M

Vous pouvez même rechercher des fichiers dans une plage de taille

find . -type f -size +1M -size 3M

Rechercher des fichiers par modification

La commande find peut également être utilisée pour rechercher des fichiers en fonction de la date à laquelle ils ont été modifiés, consultés ou modifiés pour la dernière fois.

Utilisez les caractères plus et moins pour « plus de » et « moins de », comme vous le feriez pour une recherche par taille.

find . -mtime +30 -daystart

Rechercher par autorisation

Vous pouvez utiliser l'option -perm pour rechercher des fichiers en fonction de leurs autorisations.

find public_html/wp-admin/css -perm /444

/ est utilisé comme préfixe, alors au moins une catégorie doit avoir au moins le bit respectif défini pour qu'un fichier corresponde.

-prefix, alors au moins les bits spécifiés doivent être définis.

Rechercher par propriétaire

Utilisez les paramètres -user et -group pour rechercher les fichiers appartenant à un certain utilisateur ou groupe.

find -user testc7963

Conclusion

Nous avons montré comment appliquer la commande find avec une variété de critères et d'arguments.
Cet article devrait vous fournir une compréhension de base de la recherche de fichiers sur des ordinateurs Linux.