Comment utiliser la commande Grep et les exemples Tree Linux

L'un des systèmes d'exploitation les plus polyvalents à gérer via le terminal est sans aucun doute Linux dans l'une de ses distributions disponibles et ce grâce à l'intégration de nombreuses commandes disponibles dans sa console. Peu importe que nous utilisions un système basé sur un terminal (comme les versions serveur) ou un environnement basé sur une interface graphique (comme les versions de bureau), dans chacun d'eux, le terminal et ses commandes seront toujours une source fiable de gestion et Support.

Dans nos activités quotidiennes se trouve la création et l'édition de dossiers et de fichiers, qui peuvent être nombreux selon le rôle joué. Ceci à un certain point de support est normal qui d'une manière ou d'une autre affecte négativement la recherche d'éléments non seulement par le nombre de fichiers mais aussi par l'emplacement où ils sont hébergés.

Pour aider à gérer ces types d'activités de manière beaucoup plus simple, nous avons deux commandes essentielles à la fois pour rechercher et afficher des objets sous Linux et ce sont les commandes Grep et Tree. Solvetic expliquera en détail leur utilisation et comment les appliquer de manière exhaustive dans la distribution Linux que nous utilisons.

1. Qu'est-ce que la commande GREP

Qu'est-ce que la commande GrepGrep est une commande développée afin d'exécuter des tâches de recherche de texte, Grep est en charge de rechercher dans le fichier que nous indiquons les lignes où une correspondance est détectée soit avec les mots ou la chaîne que nous attribuons lors de l'exécution de celle-ci. Son nom est dérivé de l'éditeur UNIX g/re/p. Lors de l'exécution de Grep, il sera possible d'indiquer un nom de fichier ou il est possible de sortir de l'entrée standard, ainsi, Grep se charge de générer les lignes correspondantes.

Variables grepIl y a trois (3) variables gérées pendant le processus Grep qui sont :

  • -G, --basic-regexp : c'est responsable de l'interprétation du motif comme une expression régulière de base, c'est la valeur par défaut.
  • -E, --extended-regexp : cette option valide le modèle en tant qu'expression régulière étendue.
  • -F, --fixed-strings : avec cette option, le motif est interprété comme une liste de chaînes de caractères fixes, séparées par des sauts de ligne où la correspondance sera trouvée dans l'une d'entre elles.

La commande Grep (Global Regular Expression Print) est une commande qui nous permettra d'analyser le système pour trouver les correspondances et une fois détectées, de procéder à l'impression des résultats afin qu'il soit possible de gérer ces résultats de manière centralisée.

Syntaxe GrepLa syntaxe d'utilisation de la commande Grep est la suivante :

 grep (Option) Modèle (fichier) 

Paramètres de la commande GrepIl existe une série de paramètres que nous pouvons utiliser avec la commande grep afin d'obtenir les meilleurs résultats, ce sont :

  • -E, --extended-regexp : les motifs sont compris comme des expressions régulières
  • -F, --fixed-strings : les motifs sont des chaînes
  • -G, --basic-regexp : les motifs sont des expressions régulières de base
  • -P, --perl-regexep : les motifs sont des expressions Perl
  • -e, regexp = PATTERNS : recherche de modèles pour les correspondances
  • -F. -file (Fichier): Utiliser des modèles comme fichier
  • -i, --ignore-case : ignorer les majuscules
  • -w, --word-regexp : faire correspondre tous les mêmes mots
  • -x, --line-regexp : correspond à toutes les lignes
  • -s, --no-messages : supprimer les messages d'erreur
  • -v, --invert-match : Sélectionnez les lignes qui ne correspondent pas aux critères de recherche
  • -V, --version : Affiche la version grep utilisée
  • -m, --max-count = NUM : arrêter la recherche après un nombre spécifié de lignes
  • -b, --byte-offset = Affiche le décalage d'octet à côté des lignes de sortie
  • -n, --line-number : Affiche le nombre de lignes
  • -H, --with-filename : affiche le nom du fichier sur les lignes de sortie
  • -q, --quiet : supprimer tous les résultats
  • -d, --directories = Action : Indique comment les répertoires sont gérés
  • -l, --files-without-match = Imprimer uniquement les noms de fichiers sans lignes
  • -c, --count : imprime les lignes sélectionnées par fichier

Je n'ai pas de commande GrepLa commande grep est par défaut dans les distributions Linux, mais si pour une raison quelconque vous ne l'avez pas, vous pouvez l'installer avec les commandes suivantes :

 sudo apt-get install grep (Debian et Ubuntu) sudo yum install grep (Redhat, CentOS et Fedora)

Étape 1
La syntaxe générale, qui peut contenir plusieurs paramètres, est la suivante :

 grep [-AB] num] [-CEFGVbchiLlnqsvwxyUu] [[-e] motif | -f fichier] [--extended-regexp] [--fixed-strings] [--basic-regexp] [--regexp = PATTERN] [--file = FILE] [--ignore-case] [--word -regexp] [--line-regexp] [--line-regexp] [--no-messages] [--invert-match] [--version] [--help] [--byte-offset] [- -line-number] [--with-filename] [--no-filename] [--quiet] [--silent] [--files-without-match] [--files-with-matcces] [- count ] [--before-context = NUM] [--after-context = NUM] [--context] [--binary] [--unix-byte-offsets] fichiers … 
Étape 2
Nous verrons quelques exemples d'utilisation de Grep avant de connaître ses paramètres. Si nous voulons rechercher dans le répertoire /etc/passwd tout ce qui concerne un utilisateur particulier, nous pouvons exécuter ce qui suit :
 grep "utilisateur" / etc / passwd 
Étape 3
Le résultat sera le suivant :

Étape 4
Il sera également possible de forcer la commande Grep à ignorer les lettres majuscules et minuscules, c'est-à-dire à autoriser la correspondance solvetic, Solvetic ou SOLVETIC ainsi que toutes les combinaisons utilisant le paramètre -i :

 grep -i "solvetic" / etc / passwd 

Étape 5
Cette option peut également être exécutée à l'aide de la commande cat comme celle-ci :

 chat / etc / mot de passe | grep -i "solvétique" 

2. Exemples d'utilisation de la commande Grep


L'utilisation de commandes dans les systèmes d'exploitation Linux est une tâche obligatoire pour tous les administrateurs et utilisateurs informatiques car grâce à eux, nous pouvons effectuer des centaines de tâches administratives, d'information et de support. Il existe de nombreuses commandes, chacune avec ses propres critères et fonctions, mais l'une d'entre elles spéciale pour rechercher du texte dans des fichiers situés dans des répertoires ou des dossiers est la commande Grep.

Nous allons maintenant voir comment utiliser la commande Grep sous Linux.

Comment utiliser Grep en généralPour comprendre le fonctionnement de Grep, nous allons rechercher dans le répertoire /etc/passwd tous les résultats associés à notre utilisateur :

 grep solvetic / etc / passwd 
En conséquence, nous verrons ce qui suit :

Comme point supplémentaire, rappelons qu'il est possible de dire à grep d'ignorer les lettres majuscules et minuscules dans les résultats, pour cela nous exécutons ce qui suit :

 grep -i "solvetic" / etc / passwd 

Grep est idéal pour rechercher des termes spécifiques dans des fichiers connus, par exemple, exécutons la recherche suivante :

 grep Solvetic Solvetic.txt 
En conséquence, nous verrons les lignes où ce mot est répété :

On peut rechercher ce même terme dans différents fichiers simultanément, pour cela on utilisera la ligne suivante :

 grep Solvetic Solvetic.txt Solvetic1.txt 

Une façon plus courte de le faire est d'exécuter ce qui suit :

 grep solvetic *. * 

Comment utiliser grep pour rediriger les résultats vers un fichier sous LinuxCeci est utile pour les cas dans lesquels nous devons effectuer des tâches d'administration sur les fichiers ultérieurement, il est donc possible de rediriger la sortie de la commande grep vers un fichier spécifique, par exemple, nous ferons ce qui suit :

 grep Solvetic Solvetic.txt> Solvetic2.txt 
En conséquence, nous verrons que le fichier texte requis a été créé :

AGRANDIR

Comment utiliser grep pour rechercher des répertoiresGrâce au paramètre -r nous pourrons rechercher une valeur dans les sous-répertoires disponibles, nous exécuterons ce qui suit :

 grep -r Solvetic / home / solvetic 
Cela recherchera dans tout le répertoire personnel le terme mettant en évidence les résultats détectés :

Comment utiliser grep pour afficher le numéro de lignePour les tâches d'audit ou de support avancé, il est idéal d'afficher le numéro de la ligne où se trouve le motif de recherche, pour cela nous pouvons utiliser le paramètre -n comme suit. On y trouve le numéro de la ligne où se trouve chaque valeur.

 grep -n Solvetic Solvetic.txt 

Comment utiliser grep pour mettre en évidence les résultatsComme nous savons que le texte peut prêter à confusion plusieurs fois, une solution consiste à mettre en évidence les critères de recherche qui focalisent notre vue directement sur cette ligne, pour cela nous utiliserons le paramètre de couleur comme ceci :

 grep -color Solvetic Solvetic.txt 

Comment utiliser grep pour afficher les lignes qui commencent ou se terminent par le motif indiquéIl est possible que l'on veuille voir uniquement les résultats des lignes qui commencent ou se terminent par un critère de recherche, pour cela, si l'on veut rechercher les lignes qui commencent, on utilisera la ligne suivante :

 grep Solvetic Solvetic.txt 

Maintenant, pour afficher les lignes qui se terminent, nous utiliserons les éléments suivants :

 grep Solvetic $ Solvetic.txt 

Comment utiliser grep pour imprimer toutes les lignes sans voir celles qui correspondentSi nous voulons voir toutes les lignes sauf celles où la valeur est recherchée, nous devons utiliser le paramètre -v comme ceci :

 grep -v Solvetic Solvetic.txt 

Comment utiliser grep avec d'autres commandesGrep, comme de nombreuses commandes Linux, peut être utilisé simultanément avec d'autres commandes pour des résultats plus clairs, par exemple, si nous voulons déployer des processus HTTP, nous utiliserons grep avec ps comme suit :

 ps-ef | grep http 

Comment utiliser grep pour compter combien un mot est répété dans un fichierSi nous voulons savoir combien de fois un motif est répété dans un certain fichier, nous utiliserons le paramètre -c :

 grep -c Solvetic Solvetic.txt 

Comment utiliser grep pour effectuer une recherche inverséeBien que cela semble étrange, il ne s'agit que d'afficher les mots que nous ne spécifions pas dans le résultat, nous y parvenons avec le paramètre -v :

 grep -v Solvetic Solvetic2.txt

Comment utiliser grep pour afficher les détails du matérielNous avons déjà vu que nous pouvons combiner grep avec d'autres commandes pour afficher un résultat, eh bien, si nous voulons obtenir des détails matériels spécifiques, nous pouvons utiliser cat avec grep comme ceci :

 cat/proc/cpuinfo | grep -i 'Modèle' 

Nous avons appris globalement l'utilisation que nous donne la commande grep pour accéder à des résultats beaucoup plus spécifiques de critères de recherche sous Linux.

3. Comment utiliser la commande Grep Linux de manière récursive

Étape 1
Grep nous donne la possibilité d'exécuter une recherche récursive, c'est-à-dire que cette recherche lit tous les fichiers de chaque répertoire pour une chaîne spécifique, par exemple, l'adresse IP de l'ordinateur, nous pouvons exécuter l'une des options suivantes :

 grep -r "192.168.0.25" / etc / ou grep -R " 192.168.0.25 " / etc /

NoterLà, nous pouvons entrer l'adresse IP actuelle de l'équipement utilisé.

Étape 2
Nous pouvons également exécuter la même chose avec l'IP 192.168.1.5 que le système utilise pour les sorties standard :

Étape 3
On peut remarquer qu'avec les deux adresses IP une ligne séparée s'affiche précédée du nom du fichier dans lequel elle a été détectée, si on veut éliminer l'inclusion de cette valeur, il sera possible de la supprimer en utilisant l'option -h comme ça:

 grep -h -R "192.168.1.5" / etc / ou grep -hR "192.168.1.5" / etc /

NoterCette commande doit être exécutée en tant que root ou en ajoutant sudo à la commande.

4. Comment utiliser la commande Grep Linux pour exécuter des recherches de mots

Étape 1
Grep est utile pour rechercher des termes dans un certain fichier, ainsi, le résultat affichera en surbrillance chaque ligne où le terme de recherche est trouvé, ainsi que les mots (non mis en évidence) qui accompagnent le terme de recherche, la syntaxe à utiliser est la suivante. Dans ce cas, 3 correspondances ont été détectées dans le fichier Solvetic1.

 grep -w fichier "mot"

Étape 2
Dans le cas où l'on veut rechercher deux termes dans un fichier, il faut exécuter la syntaxe suivante à l'aide de la commande egrep. Comme on peut le voir, les mots recherchés seront mis en évidence dans le résultat.

 egrep -w 'term1 | term2' fichier 

5. Comment utiliser la commande Grep Linux pour compter les mots

Étape 1
Une autre des options pratiques de Grep est la possibilité de savoir combien de fois un mot est répété dans un fichier spécifique, ceci est réalisé grâce au paramètre -c comme ceci :

 grep -c fichier 'mot' 

Étape 2
Alternativement, nous pouvons utiliser le paramètre -n pour faire précéder chaque ligne de sortie du numéro de la ligne dans laquelle elle est entrée dans le fichier sélectionné :

 grep -n fichier 'mot' 

6. Comment forcer la commande de recherche inversée Grep Linux


Avec la recherche inversée, nous voulons dire que la commande Grep n'affichera que les résultats des lignes qui ne contiennent pas le mot défini, ceci est réalisé avec le paramètre -v comme ceci :
 grep -v fichier "terme" 

7. Comment utiliser UNIX / Linux Pipes avec la commande Grep

Étape 1
La commande Grep sous Linux peut être combinée avec des tubes shell UNIX, par exemple, si nous voulons lister le nom des périphériques de disque dur, nous exécuterons la ligne suivante :

 dmesg | egrep '(s | h) d [a-z]' 

Étape 2
Là, les résultats seront affichés avec toutes les informations respectives. Pour afficher le modèle de CPU, nous exécutons :

 cat/proc/cpuinfo | grep -i 'Modèle' 

Étape 3
Pour ce même résultat, nous pouvons également exécuter ce qui suit :

 grep -i 'Modèle' / proc / cpuinfo 
Étape 4
L'une des utilisations les plus spéciales de la commande Grep ou egrep est la possibilité de filtrer la sortie des commandes traditionnelles telles que yum, dpkg, apt ou apt-get. Par exemple, nous pouvons exécuter la ligne suivante pour rechercher des images Linux avec dpkg :
 dpkg --list | grep linux-image 

Étape 5
Il sera possible de lancer la recherche avec apt :

 recherche apt maria | egrep 'serveur | client' 

8. Comment lister uniquement les noms de fichiers qui correspondent à Grep


A cet effet, nous pouvons utiliser l'option -l afin de lister le nom du fichier dans lequel son contenu sera mis en évidence comme ceci :
 grep -l 'terme' * .c 
Paramètres de la commande GrepEnsuite, nous verrons les différentes variables que Grep nous propose pour sa gestion sous Linux :

  • -num : Avec cette option, les lignes correspondantes seront à côté des numéros de ligne précédents et suivants.
  • -A num, --after-context = NUM ​​: affiche le nombre de lignes de contexte après qu'elles correspondent à celles indiquées.
  • -B num, --before-context = NUM ​​: L'utilisation de cette option affichera les lignes de contexte avant celles qui correspondent à la recherche.
  • -V, --version : Affiche le numéro de version de grep utilisé.
  • -b, --byte-offset : Ce paramètre affiche le décalage en octets depuis le début du fichier d'entrée avant chaque ligne de sa sortie.
  • -c, --count : compte le nombre de lignes correspondant au terme spécifié.
  • -h, --no-filename : supprime l'impression des noms de fichiers dans la sortie.
  • i, --ignore-case : Il ne prend pas en compte si les lettres sont majuscules ou minuscules.
  • -L, --files-without-match : cette option affiche le nom de chaque fichier d'entrée où aucune correspondance n'est trouvée.
  • -l, --files-with-matches : affiche le nom de chaque fichier d'entrée pouvant générer un résultat.
  • -n, --line-number : mappe chaque ligne de sortie avec le numéro de ligne respectif dans le fichier de recherche.
  • -q, --quiet : active le mode silencieux qui supprime la sortie normale et la recherche se termine à la première correspondance.
  • -s, --silent : supprime les messages d'erreur.
  • -v, --invert-match : cette option inverse le sens de la recherche, c'est-à-dire qu'elle affichera les résultats qui ne correspondent pas au terme recherché.
  • w, --word-regexp : ce paramètre sélectionne uniquement les lignes contenant des correspondances constituant des mots entiers.
  • -x, --line-regexp : cette option sélectionne uniquement les correspondances qui se composent de la ligne entière.

9. Comment utiliser et installer la commande Tree sous Linux


Nous allons maintenant parler un peu de la commande Tree, comme son nom l'indique, elle a été développée pour afficher les répertoires du système sous la forme d'un arbre, facilitant ainsi leur gestion.

La commande Tree agit avec une commande de liste de répertoires récursive qui aboutit au format d'arborescence conçu avec une série de couleurs uniquement si la variable d'environnement LS_COLORS est définie et la sortie est tty, au cas où aucun argument n'est attribué, cette commande répertorie les fichiers dans le répertoire courant.

Étape 1
Sa syntaxe générale est la suivante :

 tree [-acdfghilnpqrstuvxACDFQNSUX] [-L level [-R]] [-H baseHREF] [-T title] [-o filename] [--nolinks] [-P pattern] [-I pattern] [--inodes] [ --device] [--noreport] [--dirsfirst] [--version] [--help] [--filelimit #] [--si] [--prune] [--du] [--timefmt format ] [--matchdirs] [-] [répertoire…] 
Étape 2
La première étape consiste à installer la commande Tree en exécutant la commande suivante :
 arbre d'installation sudo apt 

Étape 3
Une fois installé nous exécutons directement la commande "tree" pour lister le répertoire courant au format arborescent :

10. Comment travailler avec des fichiers à l'aide de la commande Tree sous Linux

Afficher les fichiers cachés avec TreePar défaut, la commande Tree n'affichera pas les fichiers cachés pour des raisons de sécurité, si on veut les visualiser dans le résultat, il sera possible d'ajouter le paramètre -a à cet effet :

 arbre -a 

AGRANDIR

Afficher uniquement les répertoires avec TreeSi vous souhaitez que Tree ne génère que les entrées du répertoire, il sera possible de le faire en utilisant le paramètre -d comme ceci :

 arbre -d 

AGRANDIR

Voir le chemin complet des fichiers avec TreeLa commande Tree nous donne la possibilité d'imprimer le préfixe du chemin complet des fichiers du répertoire à l'aide du paramètre -f :

 arbre -f 

AGRANDIR

Contrôler la dimension du résultat avec TreeDans certains cas, il est possible que le résultat généré soit extrêmement long, tree nous permet de contrôler la profondeur de l'arborescence des répertoires pour sa sortie, pour cela nous devons utiliser le paramètre -L qui nécessite une valeur numérique indiquant la profondeur de répertoire autorisée :

 arbre -d -L 2 

AGRANDIR

Utiliser des noms sélectifs avec TreeAvec le paramètre -l il sera possible d'exclure certains mots des résultats générés par Tree, par exemple, on pourra exécuter la ligne suivante pour générer des résultats, mais sans le terme Android :

 arbre -d -I * Android 

AGRANDIR

11. Paramètres à utiliser avec la commande Tree sous Linux

Paramètres à utiliser avec TreeEnsuite, Solvetic expliquera les paramètres disponibles à utiliser avec Tree :

  • -a : Imprimer tous les fichiers, n'oubliez pas que par défaut, l'arborescence n'imprime pas les fichiers cachés.
  • -d : liste les répertoires uniquement.
  • -l : Continue les liens symboliques s'ils pointent vers des répertoires, prétendant être des répertoires.
  • -f : Affiche le préfixe du chemin complet des objets.
  • -x : reste uniquement sur le système de fichiers actuel.
  • -L Niveau : permet de définir la profondeur maximale d'affichage de l'arborescence des répertoires dans le résultat.
  • -R : Il agit récursivement en traversant l'arborescence dans les répertoires de chaque niveau et dans chacun d'eux il s'exécutera. l'arbre à nouveau en ajoutant `-o 00Tree.html '.
  • -Modèle P : Répertorie uniquement les fichiers qui correspondent au modèle générique.
  • -I pattern : ne répertorie pas les fichiers qui correspondent au modèle générique.
  • --matchdirs. Cette option spécifie un modèle de correspondance qui permet au modèle de s'appliquer uniquement aux noms de répertoire.
  • --prune : ce paramètre supprime les répertoires vides de la sortie.
  • --noreport : Ignore l'impression du rapport de fichier et de répertoire à la fin de la liste de l'arborescence exécutée.

Options générales de l'arborescenceCe sont les options générales de l'arborescence disponibles, mais nous avons également des paramètres exclusifs pour les fichiers, à savoir :

  • -q : imprime des caractères non imprimables dans les noms de fichiers.
  • -N : imprime les caractères non imprimables.
  • -Q : Sa fonction est d'attribuer les noms des fichiers entre guillemets.
  • -p : imprime le type de fichier et les autorisations pour chaque fichier du répertoire.
  • -u : imprime le nom d'utilisateur ou l'UID du fichier.
  • -s : Affiche la taille de chaque fichier en octets ainsi que son nom.
  • -g Affiche le nom du groupe ou le GID du fichier.
  • -h : Sa fonction est d'imprimer la taille de chaque fichier d'une manière lisible par l'homme.
  • --du : Agit sur chaque répertoire en générant un rapport sur sa taille incluant les tailles de tous ses fichiers et sous-répertoires.
  • --si : utilise des puissances de 1000 (unités SI) pour afficher la taille du fichier.
  • -D : Imprime la date de la dernière modification des fichiers.
  • -F : Votre tâche consiste à ajouter un `/ 'pour les répertoires, a` =' pour les fichiers socket, un `* 'pour les fichiers exécutables, a`>' pour les portes (Solaris) et un `| ' pour les FIFO.
  • --inodes : Affiche le numéro d'inode du fichier ou du répertoire.
  • --device : imprime le numéro de périphérique auquel appartient le fichier ou le répertoire dans la sortie.
  • -v : Trie la sortie par version.
  • -U : n'ordonne pas les résultats.
  • -r : Trie la sortie dans l'ordre inverse.
  • -t : Trie les résultats en fonction de l'heure de la dernière modification au lieu de l'ordre alphabétique.
  • -S : active les graphiques en courbes CP437
  • -n : Désactive la colorisation du résultat.
  • -C : Active la colorisation.
  • -X : Active la sortie XML.
  • -J : Active la sortie JSON.
  • -H baseHREF : active la sortie HTML, y compris les références HTTP.
  • --help : Accéder à l'aide de l'arborescence.
  • --version : Affiche la version utilisée de la commande Tree.

Avec l'utilisation de ces deux commandes, il était possible d'administrer de manière beaucoup plus complète chaque tâche à effectuer sur les fichiers sous Linux, en complétant les tâches de recherche ou de gestion sur ceux-ci et en accédant à des résultats complets si nécessaire.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave