Table des matières
Format de la commande find :
Maison Opération et maintenance exploitation et maintenance Linux Comment utiliser la commande Linux Find

Comment utiliser la commande Linux Find

Jun 25, 2021 pm 02:01 PM
trouver la commande linux

Sous Linux, la commande find est utilisée pour rechercher des fichiers dans un répertoire spécifié. La syntaxe de base est "find path -option..". Toute chaîne précédant le paramètre sera considérée comme le nom du répertoire à trouver ; si vous utilisez cette commande sans définir de paramètre, la commande find recherchera les sous-répertoires et les fichiers dans le répertoire actuel.

Comment utiliser la commande Linux Find

L'environnement d'exploitation de ce tutoriel : système Red Hat Enterprise Linux 6.1, ordinateur Dell G3.

La commande Linux find est utilisée pour rechercher des fichiers dans le répertoire spécifié.

Format de la commande find :

find   path  -option  【 -print 】  【 -exec   -ok   |xargs  |grep  】 【  command  {} \;  】
Copier après la connexion

Paramètres de la commande find :

1)path : Le chemin du répertoire à rechercher.

  • ~ représente le répertoire $HOME
  • représente le répertoire courant
  • / représente le répertoire racine
<. 🎜>2 )

print : Indique la sortie des résultats vers la sortie standard.

3)

exec : Exécute la commande shell donnée par ce paramètre sur le fichier correspondant.

La forme est commande {};,

Notez qu'il y a un espace entre {} et

4)

ok : a le même effet as exec,

La différence est qu'avant d'exécuter la commande, une invite sera donnée pour permettre à l'utilisateur de confirmer s'il doit l'exécuter

5)

|xargs Il a la même fonction que exec et sert de successeur

La différence est que

|xargs est principalement utilisé pour entreprendre des opérations de suppression, tandis que -exec peut être utilisé pour la copie , déplacer, renommer, etc.

6)

options  : Indique la méthode de recherche

options Les options couramment utilisées incluent les options suivantes :

-name   filename               #查找名为filename的文件
 -perm                                #按执行权限来查找
 -user    username             #按文件属主来查找
 -group groupname            #按组来查找
 -mtime   -n +n                   #按文件
更改时间
来查找文件,-n指n天以内,+n指n天以前
 -atime    -n +n                   #按文件
访问时间
来查找文件,-n指n天以内,+n指n天以前
 -ctime    -n +n                  #按文件
创建时间
来查找文件,-n指n天以内,+n指n天以前
 -nogroup                          #查无有效属组的文件,即文件的属组在/etc/groups中不存在
 -nouser                            #查无有效属主的文件,即文件的属主在/etc/passwd中不存
 -type    b/d/c/p/l/f             #查是块设备、目录、字符设备、管道、符号链接、普通文件
 -size      n[c]                    #查长度为n块[或n字节]的文件
 -mount                            #查文件时不跨越文件系统mount点
 -follow                            #如果遇到符号链接文件,就跟踪链接所指的文件
 -prune                            #忽略某个目录
Copier après la connexion

Tout La chaîne avant le paramètre sera considérée comme le nom du répertoire à rechercher. Si vous utilisez cette commande sans définir de paramètres, la commande find recherchera les sous-répertoires et les fichiers dans le répertoire actuel. Et tous les sous-répertoires et fichiers trouvés seront affichés.

Ce qui suit utilise quelques exemples simples pour présenter l'utilisation courante de find :
1. Recherchez par nom
Dans le répertoire et les sous-répertoires actuels, recherchez les majuscules lettres fichiers txt commençant par des lettres

$ find . -name &#39;[A-Z]*.txt&#39; -print   
Copier après la connexion

Dans /etc et ses sous-répertoires, recherchez les fichiers commençant par host


$ find /etc -name &#39;host*&#39; -print  
Copier après la connexion

Dans le répertoire $HOME et ses sous-répertoires, recherchez tous les fichiers


$ find ~ -name &#39;*&#39; -print
Copier après la connexion

Dans le répertoire et les sous-répertoires courants, recherchez les fichiers txt qui ne commencent pas par out


$ find . -name "out*" -prune -o -name "*.txt" -print
Copier après la connexion

2. Recherche par répertoire

Rechercher des fichiers txt dans des sous-répertoires autres que aa dans le répertoire courant


$ find . -path "./aa" -prune -o -name "*.txt" -print  
Copier après la connexion

Dans le répertoire actuel répertoire et recherchez les fichiers txt dans des sous-répertoires autres que aa et bb


 $ find . \( -path &#39;./dir0&#39; -o -path &#39;./dir1&#39; \) -a -prune -o -name &#39;*.txt&#39; -print
Copier après la connexion

Remarque : obligatoire dans 1 et 2 Ajouter espaces, sinon il y aura une erreur comme indiqué sur l'image

Vous pouvez ajouter -a ou pas à 3 endroits Dans le répertoire courant, plus dans le sous-répertoire, Rechercher les fichiers txt

$ find . ! -name "." -type d -prune -o -type f -name "*.txt" -print
Copier après la connexion

ou

find . -name *.txt -type f -print
Copier après la connexion

Lien convivial : explication détaillée de l'utilisation de la commande find -path -prune sous Linux

3. Recherche par autorisations

Dans le répertoire et les sous-répertoires actuels, recherchez les fichiers dont le propriétaire dispose d'autorisations de lecture, d'écriture et d'exécution et d'autres fichiers dotés d'autorisations de lecture et d'exécution


$find . -perm 755 -print
Copier après la connexion

Rechercher les fichiers pour lesquels l'utilisateur dispose d'autorisations d'écriture ou les fichiers ou répertoires pour lesquels les utilisateurs du groupe ont des autorisations d'écriture


find ./ -perm /220       
find ./ -perm /u+w,g+w       
find ./ -perm /u=w,g=w
Copier après la connexion

Rechercher par type (b/d/c/p/l/. f)

Dans le répertoire courant et les sous-répertoires Répertoire, recherchez les fichiers de liens symboliques


 $ find . -type l -print
Copier après la connexion

5. Par propriétaire et groupe

Rechercher fichiers dont le propriétaire est www

$ find / -user www -type f -print
Copier après la connexion

Rechercher les attributs Principaux fichiers supprimés


$ find / -nouser -type f -print
Copier après la connexion

Rechercher les fichiers appartenant au groupe mysql


$ find / -group mysql -type f -print
Copier après la connexion

Rechercher les fichiers supprimés du groupe d'utilisateurs


$ find / -nogroup -type f -print
Copier après la connexion

6. Rechercher par heure
Rechercher les fichiers qui ont été modifiés dans les 2 jours

$ find . -mtime -2 -type f -print   
Copier après la connexion

Rechercher les fichiers qui ont a été modifié il y a 2 jours


 $ find . -mtime +2 -type f -print
Copier après la connexion

Rechercher les fichiers consultés dans la journée


$ find . -atime -1 -type f -print
Copier après la connexion

Rechercher les fichiers consultés il y a un jour

 $ find . -atime +1 -type f -print  
Copier après la connexion

Rechercher les fichiers dont le statut a été modifié au cours de la journée

$ find . -ctime -1 -type f -print   
Copier après la connexion

Rechercher les fichiers dont le statut a été modifié il y a un jour

$ find . -ctime +1 -type f -print  
Copier après la connexion

查找10分钟以前状态被改变的文件

$ find . -cmin +10 -type f -print
Copier après la connexion

7、按文件新旧   

查找比 aa.txt 新的文件

$ find . -newer "aa.txt" -type f -print   
Copier après la connexion

查找比 aa.txt 旧的文件

$ find . ! -newer "aa.txt" -type f -print   
Copier après la connexion

查找比aa.txt新,比bb.txt旧的文件

$ find . -newer &#39;aa.txt&#39; ! -newer &#39;bb.txt&#39; -type f -print
Copier après la connexion

8、按大小查找   

查找超过1M的文件

$ find / -size +1M -type f -print   
Copier après la connexion

查找等于6字节的文件

$ find . -size 6c -print   
Copier après la connexion

查找小于32k的文件

$ find . -size -32k -print
Copier après la connexion

9、执行命令   

1)查找 del.txt 并删除,删除前提示确认

$ find . -name &#39;del.txt&#39; -ok rm {} \;  
Copier après la connexion

2) 查找 aa.txt 并备份为aa.txt.bak

$ find . -name &#39;aa.txt&#39; -exec cp {} {}.bak \;
Copier après la connexion

3)查当前目录下的所有普通文件

    # find . -type f -exec ls -l {} \; 
    -rw-r–r–    1 root      root         34928 2003-02-25   ./conf/httpd.conf 
    -rw-r–r–    1 root      root         12959 2003-02-25   ./conf/magic 
    -rw-r–r–    1 root      root          180 2003-02-25   ./conf.d/README
Copier après la connexion

查当前目录下的所有普通文件,并在 - exec 选项中使用 ls -l 命令将它们列出

4)在 /logs 目录中查找更改时间在5日以前的文件并删除它们

$ find logs -type f -mtime +5 -exec   -ok   rm {} \;
Copier après la connexion

5)查询当天修改过的文件

# find   ./   -mtime   -1   -type f   -exec   ls -l   {} \;
Copier après la connexion

6)查询文件并询问是否要显示

# find   ./   -mtime   -1   -type f   -ok   ls -l   {} \;  
    < ls … ./classDB.inc.php > ? y
    -rw-r–r–    1 cnscn    cnscn       13709   1月 12 12:22 ./classDB.inc.php
    # find   ./   -mtime   -1   -type f   -ok   ls -l   {} \;  
    < ls … ./classDB.inc.php > ? n
Copier après la connexion

关于 有没有 -print 的区别

加 -print

查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,没有选项-print时文件列表前一行不会显示目录名称)

find /home -type d -print -exec ls {} \;
Copier après la connexion

不加 -print

相关推荐:《Linux视频教程

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Quelle configuration de l'ordinateur est requise pour VScode Quelle configuration de l'ordinateur est requise pour VScode Apr 15, 2025 pm 09:48 PM

Vs Code Système Exigences: Système d'exploitation: Windows 10 et supérieur, MacOS 10.12 et supérieur, processeur de distribution Linux: minimum 1,6 GHz, recommandé 2,0 GHz et au-dessus de la mémoire: minimum 512 Mo, recommandée 4 Go et plus d'espace de stockage: Minimum 250 Mo, recommandée 1 Go et plus d'autres exigences: connexion du réseau stable, xorg / wayland (Linux) recommandé et recommandée et plus

VScode ne peut pas installer l'extension VScode ne peut pas installer l'extension Apr 15, 2025 pm 07:18 PM

Les raisons de l'installation des extensions de code vs peuvent être: l'instabilité du réseau, les autorisations insuffisantes, les problèmes de compatibilité système, la version de code vs est trop ancienne, un logiciel antivirus ou des interférences de pare-feu. En vérifiant les connexions réseau, les autorisations, les fichiers journaux, la mise à jour vs du code, la désactivation des logiciels de sécurité et le redémarrage du code ou des ordinateurs, vous pouvez progressivement dépanner et résoudre les problèmes.

Comment exécuter le code Java dans le bloc-notes Comment exécuter le code Java dans le bloc-notes Apr 16, 2025 pm 07:39 PM

Bien que le bloc-notes ne puisse pas exécuter directement le code Java, il peut être réalisé en utilisant d'autres outils: à l'aide du compilateur de ligne de commande (Javac) pour générer un fichier bytecode (filename.class). Utilisez l'interpréteur Java (Java) pour interpréter ByteCode, exécuter le code et sortir le résultat.

Peut-on utiliser pour mac Peut-on utiliser pour mac Apr 15, 2025 pm 07:36 PM

VS Code est disponible sur Mac. Il a des extensions puissantes, l'intégration GIT, le terminal et le débogueur, et offre également une multitude d'options de configuration. Cependant, pour des projets particulièrement importants ou un développement hautement professionnel, le code vs peut avoir des performances ou des limitations fonctionnelles.

Qu'est-ce que VScode pour quoi est VScode? Qu'est-ce que VScode pour quoi est VScode? Apr 15, 2025 pm 06:45 PM

VS Code est le code Visual Studio Nom complet, qui est un éditeur de code multiplateforme gratuit et open source et un environnement de développement développé par Microsoft. Il prend en charge un large éventail de langages de programmation et fournit une mise en surbrillance de syntaxe, une complétion automatique du code, des extraits de code et des invites intelligentes pour améliorer l'efficacité de développement. Grâce à un écosystème d'extension riche, les utilisateurs peuvent ajouter des extensions à des besoins et des langues spécifiques, tels que les débogueurs, les outils de mise en forme de code et les intégrations GIT. VS Code comprend également un débogueur intuitif qui aide à trouver et à résoudre rapidement les bogues dans votre code.

Comment utiliser vscode Comment utiliser vscode Apr 15, 2025 pm 11:21 PM

Visual Studio Code (VSCODE) est un éditeur de code Open Source, Open Source et gratuit développé par Microsoft. Il est connu pour son léger, l'évolutivité et le support pour une large gamme de langages de programmation. Pour installer VScode, veuillez visiter le site officiel pour télécharger et exécuter l'installateur. Lorsque vous utilisez VSCODE, vous pouvez créer de nouveaux projets, modifier le code, déboguer le code, naviguer dans les projets, développer VSCODE et gérer les paramètres. VScode est disponible pour Windows, MacOS et Linux, prend en charge plusieurs langages de programmation et fournit diverses extensions via Marketplace. Ses avantages incluent le léger, l'évolutivité, le support linguistique étendu, les fonctionnalités riches et la version

Quel est le but principal de Linux? Quel est le but principal de Linux? Apr 16, 2025 am 12:19 AM

Les principales utilisations de Linux comprennent: 1. Système d'exploitation du serveur, 2. Système intégré, 3. Système d'exploitation de bureau, 4. Environnement de développement et de test. Linux excelle dans ces domaines, offrant des outils de stabilité, de sécurité et de développement efficaces.

Comment vérifier l'adresse de l'entrepôt de Git Comment vérifier l'adresse de l'entrepôt de Git Apr 17, 2025 pm 01:54 PM

Pour afficher l'adresse du référentiel GIT, effectuez les étapes suivantes: 1. Ouvrez la ligne de commande et accédez au répertoire du référentiel; 2. Exécutez la commande "git Remote -v"; 3. Affichez le nom du référentiel dans la sortie et son adresse correspondante.

See all articles