Différences entre les versions de « Console »

De Wiki de Geonov
m (Mathieu Ambrosy a déplacé la page Shell vers Console sans laisser de redirection)
Ligne 1 : Ligne 1 :
= Connaitre les ports ouverts =
= Flux de redirection =
<syntaxhighlight lang="bash" gutter="false" toolbar="false">netstat -antup</syntaxhighlight>
 
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