Maison >Opération et maintenance >exploitation et maintenance Linux >Introduction à la différence entre find et grep et les commandes courantes sous Linux

Introduction à la différence entre find et grep et les commandes courantes sous Linux

零下一度
零下一度original
2017-07-16 11:45:541705parcourir

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 contient

chaî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!

Déclaration:
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