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édente | ||
| fr:bestpractices [2018/03/28 15:12] – [awk] /* petit oubli */ merlin8282 | fr:bestpractices [2021/12/03 18:19] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 27: | Ligne 27: | ||
| ==== Largeur ==== | ==== Largeur ==== | ||
| - | Pour des raisons historiques, | + | Pour des raisons historiques |
| Si toutefois vous deviez écrire des lignes plus longues que ça, vous pouvez les étaler sur plusieurs lignes en mettant '' | Si toutefois vous deviez écrire des lignes plus longues que ça, vous pouvez les étaler sur plusieurs lignes en mettant '' | ||
| + | Il y a aussi une autre raison à cela : les lignes trop longues sont moins lisibles, l'œil devant faire plus d' | ||
| ==== Indentation ==== | ==== Indentation ==== | ||
| Ligne 94: | Ligne 95: | ||
| - | |||
| - | |||
| - | ===== 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 ==== | ||
| - | '' | ||
| - | |||
| - | $ 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 ==== | ||
| - | 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 ==== | ||
| - | On voit très très souvent des oneliners qui, pour compter le nombre de lignes font ceci : | ||
| - | |||
| - | [commande] | wc -l | ||
| - | |||
| - | Jusque là aucun souci. En revanche, quand on veut filtrer, très souvent on utilise '' | ||
| - | |||
| - | [commande] | grep " | ||
| - | |||
| - | Là, ça commence à piquer les yeux. OK, vous allez dire que je suis un vieux de la vieille qui voit le mal partout, qui cherche à économiser le moindre octet en mémoire, qu'on n'est plus à une époque où la mémoire était chère et rare... Qu'à cela ne tienne ! Plus c'est court, plus c'est élégant, mieux c'est ! | ||
| - | |||
| - | Ça commence à piquer les yeux parce-que grep sait très bien compter tout seul ! | ||
| - | |||
| - | [commande] | grep -c " | ||
| - | |||
| - | Et voilà ! L' | ||
| - | |||
| - | |||
| - | |||
| - | ===== Sysadmin en général ===== | ||
| - | ==== Reboot ==== | ||
| - | Quoi que l'on fasse comme modification sur un système, il faut toujours veiller à ce qu' | ||
| - | |||
| - | Par exemple, quand on ajoute une route sur la CLI, bien veiller à ce que la route soit aussi configurée "en dur". Dans le cas de Debian, on peut mettre la commande dans par exemple ''/ | ||
| - | |||
| - | CLI : | ||
| - | route add -host ftp.fr.debian.org gw 192.168.100.253 | ||
| - | |||
| - | / | ||
| - | iface eth0 inet static | ||
| - | address [...] | ||
| - | up route add -host ftp.fr.debian.org gw 192.168.100.253 | ||
| - | down route del -host ftp.fr.debian.org gw 192.168.100.253 | ||
| - | |||
| - | Attention à la seconde ligne avec '' | ||
| - | |||
| - | Cela n'est qu'un exemple. À chaque modification il faut se poser la question : " | ||
| {{tag> | {{tag> | ||





