Utiliser l'option de nom :
L'option de nom de fichier est l'option la plus couramment utilisée pour la commande find. Cette option est utilisée seule ou avec d'autres options. Vous pouvez utiliser un modèle de nom de fichier pour faire correspondre les fichiers, n'oubliez pas de mettre le modèle de nom de fichier entre guillemets. Quel que soit le chemin actuel, si vous souhaitez rechercher un fichier dont le nom correspond à *.log dans votre répertoire racine $HOME, utilisez ~ comme paramètre 'pathname' et le tilde ~ représente le répertoire personnel de l'utilisateur actuel.
Recherchez le fichier .log du répertoire personnel de l'utilisateur actuellement connecté :
> find ~ -name "*.log"
Rechercher les fichiers commençant par une majuscule dans le répertoire courant :
> find . -name "[A-Z]*"
Recherchez les fichiers commençant par sys dans le répertoire /etc :
> find /etc -name "sys*"
Demander des images dans le répertoire courant commençant par une lettre majuscule + 3 chiffres .png
> find . -name "[A-Z]*[0-9][0-9][0-9].png"
Utiliser l'option permanente :
Utilisez l'option -perm pour rechercher des fichiers en fonction du mode d'autorisation des fichiers. Il est préférable d'utiliser la notation octale pour les autorisations. Si vous souhaitez trouver un fichier avec le bit d'autorisation de fichier 755 dans le répertoire actuel, c'est-à-dire que le propriétaire du fichier peut lire, écrire et exécuter, et que d'autres utilisateurs peuvent lire et exécuter, vous pouvez utiliser
> find . -perm 755
find -perm -mode
, indiquant que le 1 converti en binaire en mode doit correspondre aux bits d'autorisation du fichier. Par exemple, si mode=644, il est converti en binaire comme 110 100 100, et les bits d'autorisation du fichier recherché peuvent également être convertis en. un nombre binaire. Deux Les bits qui sont des 1 doivent correspondre exactement, tandis que les 0 n'ont pas d'importance. Par exemple, si les autorisations du fichier recherché sont 111 111 111 converties en nombres binaires, cela sera mis en correspondance, mais si c'est 100 100 100, alors il ne sera pas mis en correspondance. Donc la fonction de ce '-' se résume à faire correspondre des fichiers avec des autorisations plus suffisantes que le mode (je ne trouve pas de mots pour le décrire)
Ignorer un répertoire :
Si vous souhaitez ignorer un certain répertoire lors de la recherche de fichiers parce que vous savez que le fichier que vous recherchez n'existe pas dans ce répertoire, vous pouvez utiliser l'option -prune pour indiquer le répertoire qui doit être ignoré. Soyez prudent lorsque vous utilisez l'option -prune, car si vous utilisez également l'option -degree, l'option -prune sera ignorée par la commande find. Si vous souhaitez rechercher des fichiers dans le répertoire courant mais pas dans le répertoire ./bin, vous pouvez utiliser
> find . -path "./bin" -prune -o -print
Évitez plusieurs dossiers :
> find . \( -path "./bin" -o -path "./doc" \) -prune -o -print
Les parenthèses indiquent la combinaison d’expressions. Indique une référence, qui demande au shell de ne pas faire d'interprétations spéciales des caractères suivants, mais de laisser la commande find
interpréter leur signification.
Pour rechercher un certain fichier, -name et d'autres options sont ajoutées après -o:
> find . \( -path "./bin" -o -path "./doc" \) -prune -o-name "*.txt" -print
<span style="background-color: initial;">user nouser</span>
和 <span style="background-color: initial;">group nogroup</span>
Trouver le fichier dont le propriétaire est root
dans le répertoire courant
> find . -user root
Rechercher les fichiers supprimés appartenant au répertoire actuel :
> find . -nouser
Rechercher les fichiers dont le groupe est root
dans le répertoire courant :
> find . -group root
Rechercher les fichiers supprimés dans le groupe auquel appartient le répertoire actuel :
> find . -nogroup
Rechercher des fichiers par heure
Rechercher les fichiers modifiés dans les 7 jours :
> find . -mtime -7
Rechercher les fichiers modifiés avant 7 jours :
> find . mtime +7
Rechercher des fichiers plus récents ou plus anciens qu'un certain fichier
Trouver des fichiers avec des heures de modification plus récentes que le fichier a.log mais plus anciennes que le fichier b.log :
> find . -newer a.log ! -newer b.log
Trouver des fichiers dont l'heure de modification est plus récente qu'un fichier.log :
> find . -newer a.log
option de type
Retrouvez tous les répertoires dans le répertoire /etc :
> find /etc -type d
Trouvez tous les fichiers de liens symboliques dans le répertoire /etc :
> find /etc -type l
paramètre de taille
Vous pouvez rechercher des fichiers en fonction de leur longueur. La longueur du fichier mentionnée ici peut être mesurée en blocs ou en octets. La forme d'expression de la longueur du fichier mesurée en octets est N c ; la longueur du fichier mesurée en blocs ne peut être exprimée que par des nombres. Lors de la recherche de fichiers par longueur de fichier, cette longueur de fichier exprimée en octets est généralement utilisée pour visualiser la taille du système de fichiers, car elle est plus facile à convertir à l'aide de blocs à mesurer.
Rechercher des fichiers d'une longueur supérieure à 100 Mo dans le répertoire actuel :
> find . -size +100M
Utiliser l'option de profondeur :
在使用find命令时,可能希望先匹配所有的文件,再在子目录中查找。使用depth选项就可以使find命令这样做。这样做的一个原因就是,当在使用find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录中的文件。
先输出子内容,再输出上层目录内容,直到最顶层:
> find test -depth! -empty test/test1/test2/test3 test/test1/test2 test/test1 test
先输出顶层目录,再输出下面的各层子目录内容,直到最低层:
> find test ! -empty test test/test1 test/test1/test2 test/test1/test2/test3
mount选项:
在当前的文件系统中查找文件(不进入其他文件系统),可以使用find命令的mount选项。
从当前目录开始查找位于本文件系统中文件名以.txt结尾的文件:
> find . -mount -name "*.txt"-print
Ce 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!