Différences entre les versions de « Console »
(→Divers) |
|||
(6 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 61 : | Ligne 61 : | ||
== Connaitre les ports ouverts == | == Connaitre les ports ouverts == | ||
<syntaxhighlight lang="bash" gutter="false" toolbar="false">netstat - | <syntaxhighlight lang="bash" gutter="false" toolbar="false"> | ||
sudo apt-get install net-tools | |||
sudo netstat -alntup | |||
sudo netstat -alntup | egrep ':88|:464|:749' | |||
</syntaxhighlight> | |||
= | = Date et heure = | ||
== 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" : | |||
<syntaxhighlight lang="bash" gutter="false" toolbar="false"> | |||
now=$(date +%s) | |||
tomorrow=$(date -d 'tomorrow 03:00' +%s) | |||
diff=$(( $tomorrow - $now )) | |||
sleep $diff | |||
</syntaxhighlight> | |||
= Système = | |||
== Voir les erreurs système == | |||
<syntaxhighlight lang="bash" gutter="false" toolbar="false"> | |||
sudo journalctl -xe | |||
</syntaxhighlight> | |||
= Fichiers et répertoires = | |||
== Connaitre la taille d'un répertoire == | == Connaitre la taille d'un répertoire == | ||
Ligne 69 : | Ligne 94 : | ||
<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 76 : | Ligne 103 : | ||
<syntaxhighlight lang="bash" gutter="false" toolbar="false">tail -f fichier</syntaxhighlight> | <syntaxhighlight lang="bash" gutter="false" toolbar="false">tail -f fichier</syntaxhighlight> | ||
== Compter le nombre de fichiers == | |||
<syntaxhighlight lang="bash" gutter="false" toolbar="false"> | |||
ls | wc -l | |||
</syntaxhighlight> | |||
= Automatisation = | |||
== Expect == | |||
Le programme "expect" permet de répondre automatiquement à des questions posées par des programmes exécutés depuis la console. | |||
<syntaxhighlight lang="bash" gutter="false" toolbar="false"> | |||
sudo apt-get install expect | |||
autoexpect programme | |||
</syntaxhighlight> | |||
Répondre aux questions, un fichier "script.exp" sera alors créé et permettra de rejouer le programme de façon automatique : | |||
<syntaxhighlight lang="bash" gutter="false" toolbar="false"> | |||
expect script.exp | |||
</syntaxhighlight> | |||
[[Catégorie:GNU/Linux]] |
Version actuelle datée du 27 avril 2021 à 09:19
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
sudo apt-get install net-tools
sudo netstat -alntup
sudo netstat -alntup | egrep ':88|:464|:749'
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 Système
5.1 Voir les erreurs système
sudo journalctl -xe
6 Fichiers et répertoires
6.1 Connaitre la taille d'un répertoire
du -sh /repertoire
6.2 Trouver les plus gros fichiers
du -a /repertoire/ | sort -n -r | head -n 20
6.3 Visualiser la fin d'un fichier en temps réel
Idéal pour visualiser un fichier de log :
tail -f fichier
6.4 Compter le nombre de fichiers
ls | wc -l
7 Automatisation
7.1 Expect
Le programme "expect" permet de répondre automatiquement à des questions posées par des programmes exécutés depuis la console.
sudo apt-get install expect
autoexpect programme
Répondre aux questions, un fichier "script.exp" sera alors créé et permettra de rejouer le programme de façon automatique :
expect script.exp