find command unix
Introduction à la commande Find dans Unix: Rechercher des fichiers et des répertoires avec la commande Unix Find File
La commande Unix find est un utilitaire puissant pour rechercher des fichiers ou des répertoires.
La recherche peut être basée sur différents critères et les fichiers correspondants peuvent être exécutés via des actions définies. Cette commande descend de manière récursive la hiérarchie des fichiers pour chaque chemin spécifié.
=> Cliquez ici pour la série complète de tutoriels Unix
Ce que vous apprendrez:
combien de fournisseurs de messagerie y a-t-il
Rechercher une commande sous Unix
Syntaxe:
find [options] [paths] [expression]
Les options de cette commande sont utilisées pour spécifier comment les liens symboliques doivent être traités. Ceci est suivi de l'ensemble des chemins dans lesquels effectuer la recherche. Si aucun chemin n'est spécifié, le répertoire courant est utilisé. L'expression donnée est ensuite exécutée sur chacun des fichiers trouvés dans les chemins.
L'expression se compose d'une série d'options, de tests et d'actions, chacun renvoyant un booléen. L'expression est évaluée de gauche à droite pour chaque fichier dans le chemin jusqu'à ce que le résultat soit déterminé, c'est-à-dire que le résultat est connu pour être vrai ou faux.
- Les expressions d'option sont utilisées pour contraindre l'opération de recherche et retournent toujours true.
-
- -depth: traite le contenu du répertoire avant de traiter le répertoire lui-même.
- -maxdepth: les niveaux maximum sous les chemins fournis pour descendre pour une correspondance.
- -mindepth: les niveaux minimum au-delà des chemins fournis à descendre avant la correspondance.
-
- Les expressions de test sont utilisées pour évaluer des propriétés spécifiques des fichiers et renvoyer true ou false en conséquence. (Partout où un nombre 'n' est utilisé: sans préfixe, la correspondance est pour la valeur exacte de n; avec un préfixe '+', la correspondance est pour les valeurs supérieures à n; et avec un préfixe '-', la correspondance est pour les valeurs inférieures à n.)
-
- -atime n: renvoie vrai si le fichier a été accédé il y a n jours.
- -ctime n: renvoie vrai si l'état du fichier a été modifié il y a n jours.
- -mtime n: renvoie vrai si le contenu du fichier a été modifié il y a n jours.
- -name pattern: renvoie true si le nom du fichier correspond au modèle shell fourni.
- -iname pattern: renvoie true si le nom du fichier correspond au modèle de shell fourni. La correspondance ici est insensible à la casse.
- -path pattern: renvoie true si le nom du fichier avec le chemin correspond au modèle shell.
- -regex pattern: renvoie true si le nom du fichier avec le chemin correspond à l'expression régulière.
- -size n: renvoie vrai si la taille du fichier est de n blocs.
- -perm - mode: renvoie true si tous les bits d'autorisation du mode sont définis pour le fichier.
- -type c: renvoie vrai si le fichier est de type c (par exemple, «b» pour le fichier de périphérique bloc, «d» pour le répertoire, etc.).
- -username: renvoie true si le fichier appartient au nom d’utilisateur ‘nom’.
-
- Les expressions d'action sont utilisées pour définir des actions qui ont des effets secondaires et peuvent renvoyer vrai ou faux. Si aucune action n’est spécifiée, l’action «-print» est exécutée pour tous les fichiers correspondants.
-
- -delete: supprime le fichier correspondant et renvoie true en cas de succès.
- -exec command: exécute la commande donnée pour chaque fichier correspondant et renvoie true si la valeur de retour est 0.
- -ok commande: comme l'expression «exec», mais confirme d'abord avec l'utilisateur.
- -ls: Liste le fichier correspondant au format «ls -dils».
- -print: imprime le nom du fichier correspondant.
- -prune: si le fichier est un répertoire, ne descendez pas dans celui-ci et renvoie true.
-
- L'expression est évaluée de gauche à droite et est assemblée à l'aide des opérateurs suivants.
-
- ( expr ) : Utilisé pour forcer la priorité.
- ! expr: utilisé pour nier une expression.
- expr1 -à expr2: Le résultat est un «et» des deux expressions. L'expr2 n'est évalué que si expr1 est vrai.
- expr1 expr2: L'opérateur «et» est implicite dans ce cas.
- expr1 -ou expr2: Le résultat est un «ou» des deux expressions. L'expr2 n'est évalué que si expr1 est faux.
-
Exemples
Lister tous les fichiers trouvés dans le répertoire courant et sa hiérarchie
$ find.
Liste tous les fichiers trouvés dans la hiérarchie actuelle, et toute la hiérarchie ci-dessous / home / xyz
$ find. /home/XYZ
Rechercher un fichier par le nom abc dans le répertoire courant et sa hiérarchie
$ find ./ -name abc
Rechercher un répertoire par le nom xyz dans le répertoire courant et sa hiérarchie
$ find ./ -type d -name xyz
Recherchez un fichier par le nom abc.txt sous le répertoire en cours et invitez l'utilisateur à supprimer chaque correspondance.
Notez que la chaîne '{}' est remplacée par le nom de fichier réel lors de l'exécution et que le ';' string est utilisé pour terminer la commande à exécuter.
$ find ./ -name abc.txt -exec rm -i {} ;
Rechercher les fichiers qui ont été modifiés au cours des 7 derniers jours sous le répertoire actuel
$ find ./ -mtime -7
Rechercher des fichiers dont toutes les autorisations sont définies dans la hiérarchie actuelle
$ find ./ -perm 777
Conclusion
En bref, Find Command sous Unix renvoie tous les fichiers sous le répertoire de travail actuel. En outre, la commande find permet à l'utilisateur de spécifier une action à entreprendre sur chaque fichier correspondant.
=> Cliquez ici pour la série complète de tutoriels Unix
lecture recommandée
- Commande Cut sous Unix avec des exemples
- Commande Ls sous Unix avec des exemples
- Manipulation de fichiers sous Unix: présentation du système de fichiers Unix
- Syntaxe des commandes Unix Cat, options avec exemples
- Commande Grep sous Unix avec des exemples simples
- Commande de tri Unix avec syntaxe, options et exemples
- Commande Tar sous Unix pour créer des sauvegardes (exemples)
- Comment comparer deux fichiers sous Unix: commandes de comparaison de fichiers