Maison >Opération et maintenance >exploitation et maintenance Linux >Introduction à la différence entre find et grep et les commandes courantes sous Linux
trouver
Fonction : Rechercher des fichiers dans la structure de répertoires et effectuer les opérations spécifiées. Cette commande fournit de nombreuses conditions de recherche et est très puissante.
Syntaxe : rechercher l'emplacement de recherche correspondant au nom de fichier
Explication : La commande find démarre à partir du répertoire de départ spécifié, recherche récursivement ses sous-répertoires, trouve les fichiers qui répondent aux conditions de recherche et effectue les opérations pertinentes.
grep
Le nom complet de grep est Global Regular Expression Print.
Un outil de recherche de texte puissant qui peut utiliser des expressions régulières pour rechercher du texte et imprimer les lignes correspondantes.
Syntaxe : grep correspond à la chaîne nom du fichier
Lorsque vous utilisez Linux, vous devez souvent rechercher des fichiers. Les principales commandes de recherche incluent find et grep. Il y a une différence entre les deux commandes.
Différence :
(1) La commande find recherche en fonction des attributs du fichier , tels que le nom des fichiers, la taille du fichier, le propriétaire, le groupe auquel il appartient, s'il est vide, l'heure d'accès, l'heure de modification, etc.
(2) grep recherche en fonction du contenu du fichier et recherche chaque ligne du fichier selon un modèle donné (patter).
1. Commande de recherche
Format de base : trouver l'expression du chemin
1. 🎜>
(1)find / -name httpd.conf #Trouver le fichier httpd.conf dans le répertoire racine, ce qui signifie rechercher tout le disque dur (2)find /etc - name httpd.conf #Le fichier httpd.conf (3)find /etc -name '*srm*' #Utilisez le caractère générique * (0 ou plus) dans le répertoire /etc. Indique que le nom du fichier contientchaîne 'srm' dans le répertoire /etc
(4) find 'srm*' #Indique que le début du nom du fichier se trouve dans. le répertoire courant Le fichier qui est la chaîne 'srm' Fichiers (temps d'accès) (2)find / -atime -2 # Rechercher les fichiers consultés dans le système au cours des dernières 48 heures(3)find / -empty # Rechercher les fichiers consultés dans le système au cours des dernières 48 heures Fichiers ou dossiers vides
(4)find / -group cat Fichiers modifiés au cours des 5 dernières minutes dans le système (modifier l'heure ) (6)find / -mtime -1 #Rechercher les fichiers modifiés au cours des dernières 24 heures dans le système (7 )find / -user fred #Rechercher les fichiers appartenant à l'utilisateur fred dans le système (8)find / -size +10000c #Rechercher des fichiers de plus de 10000000 octets (c : octets, w : mots doubles, k:KB, M:MB, G:GB)(9)find / -size -1000k #Rechercher des fichiers de moins de 1000 Ko 3. Utilisez la méthode de recherche mixte pour trouver des fichiers Les paramètres sont : ! ,-et(-a),-ou(-o). (1)find /tmp -size +10000c -and -mtime +2 #Rechercher les fichiers dans le répertoire /tmp qui font plus de 10000 octets et modifiés au cours des 2 dernières minutes
( 2 )find / -user fred -or -user george #Trouver les fichiers dans le répertoire / où se trouve l'utilisateur fred ou george (3)find /tmp ! le répertoire /tmp Fichiers appartenant à l'utilisateur panda
2. commande grep
Format de base : rechercher une expression
1. Paramètres principaux [options]Paramètres principaux :
-c : affiche uniquement le nombre de lignes correspondantes.
-i : Insensible à la casse
-h : Les noms de fichiers ne sont pas affichés lors de l'interrogation de plusieurs fichiers.
-l : lors de l'interrogation de plusieurs fichiers, seuls les noms de fichiers contenant des caractères correspondants seront affichés.
-n : Afficher les lignes et les numéros de ligne correspondants.
-s : ne pas afficher les messages d'erreur qui n'existent pas ou qui n'ont pas de texte correspondant.
-v : Afficher toutes les lignes qui ne contiennent pas de texte correspondant.
ModèleExpression régulière Paramètres principaux :
: Ignorer la signification originale du caractère spécial dans l'expression régulière.
^ : Correspond à la ligne de départ de l'expression régulière.
$ : correspond à la ligne de fin de l'expression régulière.
< : Commencez par la ligne correspondant à l'expression régulière.
> : Accédez à la fin de la ligne qui correspond à l’expression régulière.
[ ] : Un seul caractère, tel que [A], signifie que A répond aux exigences.
[-] : les plages, telles que [A-Z], c'est-à-dire A, B, C à Z répondent toutes aux exigences.
. : Tous les personnages uniques.
* : Il y a des caractères, et la longueur peut être 0.
2. Exemple
(1) grep 'test' d* #Afficher toutes les lignes commençant par d qui contiennent test
( 2) grep 'test' aa bb cc #Afficher les lignes contenant test dans les fichiers aa, bb, cc
(3) grep '[a-z]{5}' aa #Afficher toutes les chaînes contenant chaque ligne Lignes avec un chaîne d'au moins 5 caractères minuscules consécutifs
(4) grep magic /usr/src #Afficher les lignes du répertoire /usr/src (hors sous-répertoires) contenant magic
(5)grep -r magic /usr/src #Affiche les fichiers dans le répertoire /usr/src (y compris les sous-répertoires) contenant des lignes magiques
(6)grep -w fichiers de modèles : ne correspondent qu'à des mots entiers, pas à des parties de chaînes (par ex. correspond à "magie", pas "magique"),
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!