Maison >Opération et maintenance >exploitation et maintenance Linux >Explication détaillée de l'utilisation de la commande find sous Linux
Sous Windows, vous pouvez rechercher des fichiers dans certains chemins, ou vous pouvez définir de ne pas rechercher de fichiers dans certains chemins. Utilisons la commande find sous Linux combinée avec le paramètre -path -prune pour voir comment l'implémenter dans. Linux. Cette fonctionnalité.
Supposons que vous recherchiez un fichier dans le répertoire actuel et qu'il existe de nombreux fichiers et répertoires (répertoires à plusieurs niveaux) dans le répertoire actuel, notamment dir0, dir1, dir2... et dir00, dir01. ..dir10, dir11 ...et autres sous-répertoires.
1. Recherchez tous les fichiers de suffixe txt dans le répertoire actuel
find ./ -name *.txt
2 Dans le répertoire dir0 et les sous-répertoires du répertoire actuel Find. fichier de suffixe txt
find ./ -path './dir0*' -name *.txt
3. Dans le sous-répertoire dir00 et ses sous-répertoires sous le répertoire dir0 dans le répertoire actuel Find txt. fichier de suffixe
find ./ -path '*dir00*' -name *.txt
4. Recherchez le fichier de suffixe txt
find . / -path './dir0*' -a -prune -o -name *.txt -printExplication : -a doit être l'abréviation de et, ce qui signifie opérateur logique' ou '(&&); -o doit être l'abréviation de or, ce qui signifie l'opérateur logique 'et' (||), -not signifie non La signification de la ligne de commande est : si le répertoire dir0 existe (c'est-à-dire celui de gauche). côté de -a est vrai), puis trouvez la valeur de -prune, -prune renvoie vrai, l'expression logique 'ET' est vraie (c'est-à-dire, -path './dir0*' -a -prune est vrai), le La commande find sera en plus Rechercher le fichier de suffixe txt dans un répertoire autre que ce répertoire et l'imprimer si le répertoire dir0 n'existe pas (c'est-à-dire que le côté gauche de -a est faux), -prune ne le sera pas ; évalué et que l'expression logique « ET » est fausse, elle sera alors recherchée dans le répertoire actuel Tous les fichiers de suffixe txt. 5. Recherchez les fichiers de suffixe txt dans les répertoires autres que dir0, dir1 et les sous-répertoires find ./ /( -path './dir0*' -o -path './ dir1*' /) -a -prune -o -name *.txt -printRemarque : les parenthèses () indiquent la combinaison d'expressions. Autrement dit, il demande au shell de ne pas faire d'interprétations spéciales des caractères suivants, mais de laisser à la commande find le soin d'interpréter leur signification. Étant donné que les parenthèses ne peuvent pas être utilisées directement sur la ligne de commande, vous devez utiliser la barre oblique inverse « / » pour les échapper (c'est-à-dire que le caractère d'échappement « / » permet à la ligne de commande de reconnaître les parenthèses). Notez également que '/(', '/)' nécessite des espaces des deux côtés. 6. Recherchez les fichiers de suffixe txt dans dir0, dir1 et les sous-répertoires find ./ /( -path './dir0*' -o -path './dir1*' / ) - a -name *.txt -print+1. Recherchez les fichiers de suffixe txt dans tous les répertoires nommés dir_general find ./ -path '*/dir_general/*' -name *.txt - imprimerCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!