Différences entre les versions de « Console »
(→Divers) |
|||
Ligne 82 : | Ligne 82 : | ||
<syntaxhighlight lang="bash" gutter="false" toolbar="false">du -sh /repertoire</syntaxhighlight> | <syntaxhighlight lang="bash" gutter="false" toolbar="false">du -sh /repertoire</syntaxhighlight> | ||
== Trouver les plus gros fichiers == | |||
<syntaxhighlight lang="bash" gutter="false" toolbar="false">du -a /repertoire/ | sort -n -r | head -n 20</syntaxhighlight> | |||
== Visualiser la fin d'un fichier en temps réel == | == Visualiser la fin d'un fichier en temps réel == | ||
Ligne 89 : | Ligne 91 : | ||
<syntaxhighlight lang="bash" gutter="false" toolbar="false">tail -f fichier</syntaxhighlight> | <syntaxhighlight lang="bash" gutter="false" toolbar="false">tail -f fichier</syntaxhighlight> | ||
[[Catégorie:GNU/Linux]] |
Version du 7 avril 2021 à 14: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 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 Date et heure
4.1 Attendre jusqu'à une date précise
Il faut calculer la différence de temps en secondes entre maintenant et la date souhaitée, par exemple demain à 3H, et la fournir à la commande "sleep" :
now=$(date +%s)
tomorrow=$(date -d 'tomorrow 03:00' +%s)
diff=$(( $tomorrow - $now ))
sleep $diff
5 Divers
5.1 Connaitre la taille d'un répertoire
du -sh /repertoire
5.2 Trouver les plus gros fichiers
du -a /repertoire/ | sort -n -r | head -n 20
5.3 Visualiser la fin d'un fichier en temps réel
Idéal pour visualiser un fichier de log :
tail -f fichier