Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
fr:bestpractices [2018/03/28 08:07] – [Bonnes pratiques] /* intro */ merlin8282 | fr:bestpractices [2018/03/28 17:16] – [awk] /* étoffe de l'intro */ merlin8282 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Bonnes pratiques ====== | ====== Bonnes pratiques ====== | ||
- | Cette page liste dans une première partie quelques bonnes pratiques. Dans une seconde partie il sera question d'une sorte de trucs & astuces, des options méconnues de certaines commandes plus ou moins connues. Enfin en troisième partie, on revient un petit peu aux bonnes pratiques, aux choses auxquelles faire attention lorsque l'on administre un système. | + | Cette page liste dans une première partie quelques bonnes pratiques. Dans une seconde partie il sera question d'une sorte de trucs & astuces, des options méconnues de certaines commandes plus ou moins connues, ainsi que des commandes pas toujours très connues. Enfin en troisième partie, on revient un petit peu aux bonnes pratiques, aux choses auxquelles faire attention lorsque l'on administre un système. |
Libre à vous d' | Libre à vous d' | ||
Ligne 97: | Ligne 97: | ||
===== Commandes unix ===== | ===== Commandes unix ===== | ||
+ | ==== sar : System Activity Reporter ==== | ||
+ | sar -A | ||
+ | |||
+ | C'est une sorte de monitoring de la machine locale. | ||
+ | |||
+ | ==== ethtool ==== | ||
+ | ethtool -p eth0 # same as " | ||
+ | ethtool -t eth0 # selftest | ||
+ | ethtool -S eth0 # same as " | ||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | ==== nc / netcat ==== | ||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | $ nc -l 10.1.1.149 1234 > filename.out # à exécuter côté serveur | ||
+ | $ nc 10.1.1.149 1234 < filename.in # à exécuter côté client | ||
+ | |||
+ | On peut aussi scanner des ports avec netcat, pour voir si un port est ouvert ou fermé : | ||
+ | |||
+ | $ nc -zv 10.1.1.149 20-30 | ||
+ | $ nc -zv 10.1.1.149 22 80 443 | ||
+ | |||
+ | La première commande scanne les ports 20 à 30, la seconde scanne les ports 22, 80 et 443 de l' | ||
+ | |||
+ | |||
+ | ==== at ==== | ||
+ | '' | ||
+ | |||
+ | echo "tar czf / | ||
+ | |||
+ | Créer un tarball compressé avec gzip du dossier /home dans le fichier / | ||
+ | |||
+ | |||
+ | ==== cal ==== | ||
+ | Calendrier : | ||
+ | |||
+ | $ cal | ||
+ | March 2018 | ||
+ | Su Mo Tu We Th Fr Sa | ||
+ | | ||
+ | | ||
+ | 11 12 13 14 15 16 17 | ||
+ | 18 19 20 21 22 23 24 | ||
+ | 25 26 27 28 29 30 31 | ||
+ | | ||
+ | $ cal jan 1337 | ||
+ | January 1337 | ||
+ | Su Mo Tu We Th Fr Sa | ||
+ | 1 2 3 4 | ||
+ | | ||
+ | 12 13 14 15 16 17 18 | ||
+ | 19 20 21 22 23 24 25 | ||
+ | 26 27 28 29 30 31 | ||
+ | | ||
+ | $ cal dec 9999 | ||
+ | | ||
+ | Su Mo Tu We Th Fr Sa | ||
+ | 1 2 3 4 | ||
+ | | ||
+ | 12 13 14 15 16 17 18 | ||
+ | 19 20 21 22 23 24 25 | ||
+ | 26 27 28 29 30 31 | ||
+ | |||
+ | |||
+ | ==== tr ==== | ||
+ | '' | ||
+ | |||
+ | $ echo "123 456 789" | tr " " " | ||
+ | 123 | ||
+ | 456 | ||
+ | 789 | ||
+ | |||
+ | Remplacer toutes les espaces par un retour à la ligne. | ||
+ | |||
+ | echo " | ||
+ | pqrs | ||
+ | |||
+ | Remplacer les caractères de ' | ||
+ | |||
+ | echo " | ||
+ | |||
+ | Remplacer les caractères de ' | ||
+ | |||
+ | echo " | ||
+ | 67c8 | ||
+ | |||
+ | Remplacer les caractères ' | ||
+ | |||
+ | echo " | ||
+ | xbvd | ||
+ | |||
+ | Remplacer les caractères ' | ||
+ | |||
+ | |||
+ | ==== awk ==== | ||
+ | '' | ||
+ | |||
+ | Voici quelques exemples, qui sont loin d' | ||
+ | |||
+ | $ sentence=" | ||
+ | $ printf " | ||
+ | year-month-day | ||
+ | |||
+ | Cela affiche le premier élément de la phrase, les éléments étant (par défaut) les chaînes de caractères séparées par une espace. | ||
+ | |||
+ | $ printf " | ||
+ | comment" | ||
+ | |||
+ | '' | ||
+ | |||
+ | $ printf " | ||
+ | this is a comment | ||
+ | |||
+ | Ici on redéfinit le séparateur, | ||
+ | |||
+ | |||
+ | $ printf " | ||
+ | ms "this is a comment" | ||
+ | |||
+ | Redéfinition du séparateur à '' | ||
+ | |||
+ | $ printf " | ||
+ | year-month-day hours: | ||
+ | |||
+ | On peut aussi matcher des expressions rationnelles avec '' | ||
+ | |||
+ | $ printf " | ||
+ | :ms | ||
+ | |||
+ | On peut aussi n' | ||
+ | |||
+ | $ lines=" | ||
+ | $ printf " | ||
+ | line2 | ||
+ | |||
+ | On peut dire à awk de ne chercher une chaîne correspondante que dans un seul élément ; ici on cherche '' | ||
+ | |||
+ | $ printf " | ||
+ | line2 | ||
+ | |||
+ | Cela revient au final à la même chose que ci-dessus, étant donné que l'on n'a qu'un seul élément par ligne. | ||
+ | |||
+ | $ printf " | ||
+ | line1 | ||
+ | line2 | ||
+ | line3 | ||
+ | |||
+ | On matche '' | ||
+ | |||
+ | $ printf " | ||
+ | line3 | ||
+ | |||
+ | Eh oui, seul '' | ||
+ | |||
+ | |||
+ | |||
+ | ===== Options peu utilisées/ | ||
==== find ==== | ==== find ==== | ||
+ | Pour supprimer des fichiers de manière automatisée on pourrait être tenté d' | ||
+ | |||
+ | rm -rf `find /var/tmp/ -type d -name .svn` | ||
+ | Cette commande cherche tous les dossiers nommés '' | ||
+ | Pour bien faire les choses, autant dire directement à la commande '' | ||
+ | find /var/tmp/ -type d -name .svn -exec rm -rf {} \; | ||
==== grep / wc ==== | ==== grep / wc ==== | ||
On voit très très souvent des oneliners qui, pour compter le nombre de lignes font ceci : | On voit très très souvent des oneliners qui, pour compter le nombre de lignes font ceci : |