Maison Opération et maintenance exploitation et maintenance Linux Commande de recherche de fichiers trouver sous Linux

Commande de recherche de fichiers trouver sous Linux

Jun 04, 2020 am 09:53 AM
1

La commande find est l'une de mes commandes préférées. Elle peut facilement trouver les fichiers que je souhaite rechercher. Elle peut prendre en charge trop de méthodes de recherche, telles que le nom du fichier, la taille du fichier, le type de fichier, etc. Ensuite, jetons un coup d’œil.

Syntaxe : find [chemin de recherche] [options] [action]

La commande find n'a pas trop d'options. Aujourd'hui, je ne parlerai que de certaines options couramment utilisées.

Recherche par nom de fichier

L'option de recherche par nom de fichier est -name, qui prend en charge une recherche régulière simple.

Par exemple, je sais que locale.conf est enregistré dans le répertoire /etc, mais j'ai oublié le chemin spécifique. Ensuite,

# find /etc/ -name locale.conf/etc/locale.conf
Copier après la connexion

peut trouver le chemin spécifique du fichier.

Maintenant, je veux savoir combien de fichiers php il y a dans un certain répertoire, puis je peux utiliser la commande suivante pour le compléter.

# find default -name *.php | wc -l122
Copier après la connexion

ou option -o

Voici une autre option, -o, qui signifie ou, généralement la valeur par défaut est entre les options de recherche. Ils ont tous signifie "et". Regardons un exemple pour trouver le nombre total de fichiers php ou js dans un certain répertoire.

# find default -name *.php -o -name *.js | wc -l225
Copier après la connexion

Recherche basée sur le type de fichier et la profondeur du répertoire

Vous devez utiliser l'option -type pour rechercher les types de fichiers couramment utilisés. f (fichier), d (répertoire). Une autre option est introduite, -maxdegree indique le nombre maximum de répertoires récursifs.

# find ./  -maxdepth 1  -type d././default./default.bak
Copier après la connexion

Option négative !

# find ./  -maxdepth 1 ! -type f././default./default.bak
Copier après la connexion

Recherche liée au temps

与时间有关的选项:共有-atime, -ctime 与-mtime ,以-mtime 说明
-mtime n n 为数字,意义为在n 天之前的『一天之内』被更动过内容的文件;
-mtime +n 列出在n 天之前(不含n 天本身)被更动过内容的文件文件名
-mtime -n列出在n 天之内(含n 天本身)被更动过内容的文件文件名
-newer file file 为一个存在的文件,列出比file 还要新的文件文件名

这个选项很有作用,比如进行数据定时备份时,只保留最近7天的数据,超过7天的自动删除就会用到该选项。注意+n表示n天之前,-n表示n天之内。

# find $bakdir -name "*.sql.bz2" -type f -mtime +7 -exec rm -rf {} \;
Copier après la connexion

根据用户名、组来查找

与使用者或群组名称有关
-uid n n 为数字,这个数字是使用者的帐号ID,亦即UID
-gid n n 为数字,这个数字是群组名称的ID,亦即GID
-user name name 为使用者帐号名称,例如dmtsai
-group name name 为群组名称,例如users ;
-nouser寻找文件的拥有者不存在 的人!
-nogroup 寻找文件的拥有群组不存在于/etc/group 的文件!

查找某目录下,所有者不是www的文件有哪些。

find /home/wwwroot/default ! -user www | wc -l
Copier après la connexion

根据文件大小查找

按文件大小查找使用-size选项,比如查找大于1M的文件,那么使用-size +1M,如果查找小于1K的,那么使用-size -1K

# find /home/wwwroot/default -size +1M
# find /home/wwwroot/default -size -1k
Copier après la connexion

根据文件权限查找

  • -perm mode 搜寻文件权限『刚好等于』 mode 的文件,这个mode 为类似chmod的属性值,举例来说, -rwsr-xr-x 的属性为4755 !

  • -perm -mode 搜寻文件权限『必须要全部囊括mode 的权限』的文件,举例来说,我们要搜寻-rwxr--r-- ,亦即0744 的文件,使用-perm -0744,当一个文件的权限为-rwsr-xr-x ,亦即4755 时,也会被列出来,因为-rwsr-xr-x 的属性已经囊括了-rwxr--r-- 的属性了。

  • -perm /mode 搜寻文件权限『包含任一mode 的权限』的文件,举例来说,我们搜寻-rwxr-xr-x ,亦即-perm /755 时,但一个文件属性为-rw-------也会被列出来,因为他有-rw.... 的属性存在!

我们知道,文件的权限一般为644,目录的权限一般为755。如果,不是等于这个权限,可能就会有点问题,那么我们来找找看,是否有这类文件。

find /home/wwwroot/default ! -perm 644 -type d -exec ls -ld {} \;
# 查找权限不是644的文件,并将其修改为644
find /home/wwwroot/default ! -perm 644 -type f | xargs -n 10 chmod 644;
Copier après la connexion

动作执行

其实这个命令上面已经使用到了,使用-exec选项,然后接命令,最后要以{} ;结尾,比如

find /home/wwwroot/default ! -perm 644 -type d -exec ls -ld {} \;
Copier après la connexion

其他

find还支持正则(-regex)查找文件名,还可以不区分大小写(-iregex);

使用-empty可以查找文件大小为0的文件。

# find . -empty -exec ls -l {} \;
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser des expressions régulières (regex) dans Linux pour la correspondance de motifs? Comment utiliser des expressions régulières (regex) dans Linux pour la correspondance de motifs? Mar 17, 2025 pm 05:25 PM

L'article explique comment utiliser des expressions régulières (regex) dans Linux pour la correspondance de motifs, la recherche de fichiers et la manipulation du texte, la syntaxe détaillant, les commandes et les outils comme Grep, SED et AWK.

Comment surveiller les performances du système dans Linux à l'aide d'outils comme TOP, HTOP et VMSTAT? Comment surveiller les performances du système dans Linux à l'aide d'outils comme TOP, HTOP et VMSTAT? Mar 17, 2025 pm 05:28 PM

L'article discute de l'utilisation de TOP, HTOP et VMSTAT pour surveiller les performances du système Linux, détaillant leurs fonctionnalités uniques et leurs options de personnalisation pour une gestion efficace du système.

Comment implémenter l'authentification à deux facteurs (2FA) pour SSH dans Linux? Comment implémenter l'authentification à deux facteurs (2FA) pour SSH dans Linux? Mar 17, 2025 pm 05:31 PM

L'article fournit un guide sur la configuration de l'authentification à deux facteurs (2FA) pour SSH sur Linux à l'aide de Google Authenticator, détaillant l'installation, la configuration et les étapes de dépannage. Il met en évidence les avantages de sécurité du 2FA, comme SEC amélioré

Comment configurer Selinux ou Apparmor pour améliorer la sécurité dans Linux? Comment configurer Selinux ou Apparmor pour améliorer la sécurité dans Linux? Mar 12, 2025 pm 06:59 PM

Cet article compare les modules de sécurité SELINUX et Apparmor, Linux, fournissant un contrôle d'accès obligatoire. Il détaille leur configuration, mettant en évidence les différences d'approche (basées sur la stratégie vs basée sur le profil) et les impacts de performance potentiels

Comment sauvegarder et restaurer un système Linux? Comment sauvegarder et restaurer un système Linux? Mar 12, 2025 pm 07:01 PM

Cet article détaille les méthodes de sauvegarde et de restauration du système Linux. Il compare les sauvegardes d'image système complètes avec des sauvegardes incrémentielles, discute des stratégies de sauvegarde optimales (régularité, emplacements multiples, versioning, test, sécurité, rotation) et DA

Comment utiliser Sudo pour accorder des privilèges élevés aux utilisateurs de Linux? Comment utiliser Sudo pour accorder des privilèges élevés aux utilisateurs de Linux? Mar 17, 2025 pm 05:32 PM

L'article explique comment gérer les privilèges sudo à Linux, y compris l'octroi, la révocation et les meilleures pratiques de sécurité. L'accent est mis sur l'édition / etc.

Comment configurer un pare-feu à Linux en utilisant un pare-feu ou des iptables? Comment configurer un pare-feu à Linux en utilisant un pare-feu ou des iptables? Mar 12, 2025 pm 06:58 PM

Cet article compare la configuration du pare-feu Linux à l'aide de Firewalld et Iptables. Firewalld propose une interface conviviale pour la gestion des zones et des services, tandis que Iptables fournit un contrôle de bas niveau via la manipulation de la ligne de commande du NetFilter FRA

Comment gérer les packages logiciels dans Linux à l'aide de gestionnaires de packages (APT, YUM, DNF)? Comment gérer les packages logiciels dans Linux à l'aide de gestionnaires de packages (APT, YUM, DNF)? Mar 17, 2025 pm 05:26 PM

L'article discute de la gestion des packages de logiciels dans Linux à l'aide d'APT, YUM et DNF, couvrant l'installation, les mises à jour et les déménagements. Il compare leurs fonctionnalités et leur pertinence pour différentes distributions.

See all articles