Différences entre les versions de « Console »
Ligne 1 : | Ligne 1 : | ||
= | = Flux de redirection = | ||
<syntaxhighlight lang="bash" gutter="false" toolbar="false"> | |||
Les commandes renvoient leurs messages sur deux sorties différentes : | |||
* la sortie standard : tous les messages sauf les erreurs. | |||
* la sortie des erreurs : toutes les erreurs. | |||
Dans la console, ces deux sorties sont renvoyées par défaut à l'écran. | |||
Mais si l'on souhaite rediriger les sorties vers un fichier texte, il faut prendre en compte ces deux sorties distinctes : | |||
* > info.log : écrase "info.log" avec la sortie standard | |||
* >> info.log : ajoute la sortie standard dans "info.log" | |||
* 2> erreur.log : écrase "erreur.log" avec la sortie des erreurs | |||
* 2>> erreur.log : ajoute la sortie des erreurs dans "erreur.log" | |||
Il est possible de combiner les deux : | |||
<syntaxhighlight lang="bash" gutter="false" toolbar="false"> | |||
commande > info.log 2> erreur.log | |||
commande >> info.log 2>> erreur.log | |||
</syntaxhighlight> | |||
Pour rediriger la sortie des erreurs vers le même fichier que celui de la sortie standard, on utilise "2>&1" (littéralement "envoyer la sortie 2 dans celle définie pour la sortie 1") : | |||
<syntaxhighlight lang="bash" gutter="false" toolbar="false"> | |||
commande > info.log 2>&1 | |||
commande >> info.log 2>&1 | |||
</syntaxhighlight> | |||
= Recherche = | |||
= Rechercher dans les fichiers = | == Rechercher dans les fichiers == | ||
Pour rechercher un texte dans tous les sous-répertoires : | Pour rechercher un texte dans tous les sous-répertoires : | ||
<syntaxhighlight lang="bash" gutter="false" toolbar="false">grep -r 'texte' ./**/*</syntaxhighlight> | <syntaxhighlight lang="bash" gutter="false" toolbar="false">grep -r 'texte' ./**/*</syntaxhighlight> | ||
Ligne 11 : | Ligne 35 : | ||
<syntaxhighlight lang="bash" gutter="false" toolbar="false">grep -r 'texte' ./**/*.log</syntaxhighlight> | <syntaxhighlight lang="bash" gutter="false" toolbar="false">grep -r 'texte' ./**/*.log</syntaxhighlight> | ||
= Rechercher et remplacer dans les fichiers = | == Rechercher et remplacer dans les fichiers == | ||
On ajoute "-l" à la commande "grep" pour ne sortir que les noms des fichiers trouvés puis on fait le remplacement avec "sed". | On ajoute "-l" à la commande "grep" pour ne sortir que les noms des fichiers trouvés puis on fait le remplacement avec "sed". | ||
Ligne 19 : | Ligne 43 : | ||
Non sensible à la casse (gI) : | Non sensible à la casse (gI) : | ||
<syntaxhighlight lang="bash" gutter="false" toolbar="false">grep -rnw '.' -e 'Texte' -l | xargs sed -i 's/Texte/NouveauTexte/gI'</syntaxhighlight> | <syntaxhighlight lang="bash" gutter="false" toolbar="false">grep -rnw '.' -e 'Texte' -l | xargs sed -i 's/Texte/NouveauTexte/gI'</syntaxhighlight> | ||
= Réseau = | |||
== Connaitre les ports ouverts == | |||
<syntaxhighlight lang="bash" gutter="false" toolbar="false">netstat -antup</syntaxhighlight> | |||
[[Catégorie:GNU/Linux]] | [[Catégorie:GNU/Linux]] |
Version du 14 janvier 2021 à 11:44
1 Flux de redirection
Les commandes renvoient leurs messages sur deux sorties différentes :
- la sortie standard : tous les messages sauf les erreurs.
- la sortie des erreurs : toutes les erreurs.
Dans la console, ces deux sorties sont renvoyées par défaut à l'écran. Mais si l'on souhaite rediriger les sorties vers un fichier texte, il faut prendre en compte ces deux sorties distinctes :
- > info.log : écrase "info.log" avec la sortie standard
- >> info.log : ajoute la sortie standard dans "info.log"
- 2> erreur.log : écrase "erreur.log" avec la sortie des erreurs
- 2>> erreur.log : ajoute la sortie des erreurs dans "erreur.log"
Il est possible de combiner les deux :
commande > info.log 2> erreur.log
commande >> info.log 2>> erreur.log
Pour rediriger la sortie des erreurs vers le même fichier que celui de la sortie standard, on utilise "2>&1" (littéralement "envoyer la sortie 2 dans celle définie pour la sortie 1") :
commande > info.log 2>&1
commande >> info.log 2>&1
2 Recherche
2.1 Rechercher dans les fichiers
Pour rechercher un texte dans tous les sous-répertoires :
grep -r 'texte' ./**/*
ou encore :
grep -rnw 'répertoire' -e 'texte'
Pour rechercher un texte dans des fichiers en particulier :
grep -r 'texte' ./**/*.log
2.2 Rechercher et remplacer dans les fichiers
On ajoute "-l" à la commande "grep" pour ne sortir que les noms des fichiers trouvés puis on fait le remplacement avec "sed".
Sensible à la casse (g) :
grep -rnw '.' -e 'Texte' -l | xargs sed -i 's/Texte/NouveauTexte/g'
Non sensible à la casse (gI) :
grep -rnw '.' -e 'Texte' -l | xargs sed -i 's/Texte/NouveauTexte/gI'
3 Réseau
3.1 Connaitre les ports ouverts
netstat -antup