Différences entre les versions de « Console »

De Wiki de Geonov
Ligne 70 : Ligne 70 :


[[Catégorie:GNU/Linux]]
[[Catégorie:GNU/Linux]]
== Visualiser la fin d'un fichier en temps réel ==
Idéal pour visualiser un fichier de log :
<syntaxhighlight lang="bash" gutter="false" toolbar="false">tail -f fichier</syntaxhighlight>

Version du 7 avril 2021 à 11:31

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 dans un fichier compressé

La commande 'zgrep' permet de rechercher un texte directement dans un fichier compressé.

zgrep -v "geonov" fichier.txt.gz

2.2.1 Paramètres

  • -c : renvoie le nombre d’occurrences trouvées
  • -i : ignore la casse
  • -n : spécifie le numéro de la ligne trouvée
  • -v : recherche inversée
  • -l : cherche dans le nom des fichiers au lieu de leur contenu

2.3 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

4 Divers

4.1 Connaitre la taille d'un répertoire

du -sh /repertoire

4.2 Visualiser la fin d'un fichier en temps réel

Idéal pour visualiser un fichier de log :

tail -f fichier