{"id":1140,"date":"2025-09-09T08:25:30","date_gmt":"2025-09-09T06:25:30","guid":{"rendered":"https:\/\/serer.fr\/?p=1140"},"modified":"2026-03-09T10:21:24","modified_gmt":"2026-03-09T09:21:24","slug":"les-commandes-linux-avancees","status":"publish","type":"post","link":"https:\/\/serer.fr\/?p=1140","title":{"rendered":"Les commandes Linux avanc\u00e9es"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Recherche \/ Remplacement<\/h2>\n\n\n\n<p>Remplacer une chaine de caract\u00e8re dans une arborescence<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># En bash\nfind \/chemin\/du\/dossier -type f -exec sed -i 's\/ancienne_chaine\/nouvelle_chaine\/g' {} \\;\n<\/code><\/pre>\n\n\n\n<p>Recherche rapide de fichier\/r\u00e9pertoire \u00e0 partir d&rsquo;une portion de nom<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Install debian =&gt; apt install locate\n# pour mettre \u00e0 jour l'index =&gt; upgradedb\nlocate monfichier<\/code><\/pre>\n\n\n\n<p>Recherche de fichier d&rsquo;une certaine taille<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># fichier de 10 Giga =&gt; G = Giga k = kilo ou sans pr\u00e9cision = Octect\nfind .\/ -type f -size +10G -ls<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">R\u00e9seaux<\/h2>\n\n\n\n<p>Affichage des routes<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Debian \nip -4 route\nip -6 route\n#netstat --route\n#route -n\n\n# AIX \/ redhat\nroute print\nnetstat -m<\/code><\/pre>\n\n\n\n<p>Tracer les paquets r\u00e9seaux <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Debian\/AIX\ntraceroute host<\/code><\/pre>\n\n\n\n<p>Afficher les interfaces r\u00e9seaux<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Debian\nip addr\n# ipconfig<\/code><\/pre>\n\n\n\n<p>Afficher les ports occup\u00e9s <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Debian\nss -tupln<\/code><\/pre>\n\n\n\n<p>Afficher les r\u00e8gles du pare-feu <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>iptables --list --line-numbers<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Syst\u00e8me d&rsquo;exploitation <\/h2>\n\n\n\n<p>Afficher les infos de la machine<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>##### M\u00e9moire #####\nfree\n# cat \/proc\/meminfo | grep \u02baSwapTotal:\u02ba | awk '{print $2}'\n# cat \/proc\/meminfo | grep \u02baMemTotal:\u02ba | awk '{print $2}'\n# cat \/proc\/meminfo | grep \u02baSwapFree:\u02ba | awk '{print $2}'\n# cat \/proc\/meminfo | grep \u02baMemFree:\u02ba | awk '{print $2}'\n\n##### CPU\/VCPU #####\n# Nombre de CPU =&gt; cat \/proc\/cpuinfo | grep processor | wc -l\nmpstat -P ALL\n\n##### Heure de d\u00e9marrage #####\nuptime\n\n##### Version de l'OS #####\n# uniquement la version noyau =&gt; uname -or\nuname -a\n\n##### Point de montage des FS #####\n#  cat \/etc\/fstab\nmount \n\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Performance de la machine<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Moniteurs de processus<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>htop\n#<strong>top <\/strong>est bien pour la sortie texte brut pour du post-traitement<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Vision statistique du syst\u00e8me <\/h3>\n\n\n\n<p>Dstat est un outil chapeau pour monitorer les performances du syst\u00e8me Linux. Toutefois, il n&rsquo;est pas install\u00e9 par d\u00e9faut et donc n\u00e9cessite les droits sudo pour lancer l&rsquo;installation.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Pour l'installer\n# sudo apt-get install dstat\n# lancement en interactif\ndstat -tncms\n# lancement avec sortie dans un fichier csv toute les 10 sec.\ndstat -tncms --output \/tmp\/file.csv 10<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Vision statistique du syst\u00e8me (moins complet)<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># sudo apt install sysstat\n# Activer les traces\n# sed -i 's\/ENABLED=\\\"false\\\"\/ENABLED=\\\"true\\\"\/g' \/etc\/default\/sysstat\n# D\u00e9sactiver les traces\n# sed -i 's\/ENABLED=\\\"true\\\"\/ENABLED=\\\"false\\\"\/g' \/etc\/default\/sysstat\n# sudo systemctl restart sysstat\nsar -B<\/code><\/pre>\n\n\n\n<p>Si le nombre de pages m\u00e9moire inactives est faible (sar -R)(frmpg\/s &amp; Active\/Inactive) dans meminfo, il faut rajouter de la m\u00e9moire.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">I\/O des FS<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>!\/bin\/bash\n\n# Le d\u00e9tail des colonnes =&gt; https:\/\/www.globo.tech\/learning-center\/install-use-iostat\/\n# exemple de script\n\necho \/dev\/null &gt; out.txt\nNombre=1\nwhile &#91; $Nombre -le 5 ] # pour 5 mesures\ndo\n    # Filtre pour surveiller les fs sur sda1.\n    iostat -d -x | grep sda1 &gt;&gt; out.txt\n\n    # Attendre 5 secondes\n    sleep 5\n\n    # decompte des mesures\n    ((Nombre++))\ndone<\/code><\/pre>\n\n\n\n<p>Le fichier de sortie peut \u00eatre trait\u00e9 (graphique croiser dynamique) par Excel ou un autre tableur.<\/p>\n\n\n\n<p><span style=\"text-decoration: underline;\"><strong>Cas 1)<\/strong><\/span> Il y a un fort volume d&rsquo;acc\u00e8s sur tous les p\u00e9riph\u00e9riques et que les r\/s &amp; w\/s sont \u00e9lev\u00e9s et\/ou rrqm\/s &amp; wrqm\/s sont \u00e9lev\u00e9s alors, il y a une incapacit\u00e9 du syst\u00e8me \u00e0 tenir la charge IO.<br><\/p>\n\n\n\n<p><span style=\"text-decoration: underline;\"><strong>Cas 2)<\/strong><\/span> Les tailles de la file sont importantes sur tous les p\u00e9riph\u00e9riques, si avgrq-sz et avgqu-sz sont \u00e9lev\u00e9s alors le syst\u00e8me est dans l&rsquo;incapacit\u00e9 de tenir la charge des IO.<\/p>\n\n\n\n<p><br><strong>Solution \u00e0 envisager\u00a0:<\/strong> Il faut augmenter le nombre et\/ou la capacit\u00e9 des canaux acc\u00e9dants aux p\u00e9riph\u00e9riques de stockage.<\/p>\n\n\n\n<p><span style=\"text-decoration: underline;\"><strong>Cas 3)<\/strong><\/span> Il y a un fort volume d&rsquo;acc\u00e8s sur N p\u00e9riph\u00e9riques, si r\/s w\/s et\/ou rrqm\/s wrqm\/s sont \u00e9lev\u00e9s <strong>ou<\/strong> si avgrq-sz et avgqu-sz sont \u00e9lev\u00e9s alors le Volume en IO est mal \u00e9quilibr\u00e9 sur les N p\u00e9riph\u00e9riques. <\/p>\n\n\n\n<p><strong>Solution \u00e0 envisager\u00a0:<\/strong> Il faut r\u00e9partir les fichiers sur d\u2019autres fs afin d&rsquo;\u00e9quilibrer la charge.<\/p>\n\n\n\n<p><span style=\"text-decoration: underline;\"><strong>Cas 4)<\/strong><\/span> Il y a des temps d\u2019attente importants et la taille de la file d\u2019attente des IO est faible si await est \u00e9lev\u00e9 et\/ou avgrq-sz et avgqu-sz sont faibles.<\/p>\n\n\n\n<p><br><strong>Solution \u00e0 envisager\u00a0:<\/strong> Il faut v\u00e9rifier l\u2019utilisation des IO Asynchrones. Il faut v\u00e9rifier le mat\u00e9riel, cela peut constituer un indicateur de mat\u00e9riel d\u00e9fectueux.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Statistiques d&rsquo;utilisation de la m\u00e9moire<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>!\/bin\/bash\n\n# Le d\u00e9tail des colonnes =&gt; https:\/\/access.redhat.com\/solutions\/1160343\n# exemple de script\n\necho \/dev\/null &gt; out.txt\nNombre=1\nwhile &#91; $Nombre -le 5 ] # pour 5 mesures\ndo\n    # Suppression de l'en-t\u00eate \n    vmstat | tail -1 &gt;&gt; out.txt\n\n    # Attendre 5 secondes\n    sleep 5\n\n    # decompte des mesures\n    ((Nombre++))\ndone\n<\/code><\/pre>\n\n\n\n<p>Le fichier de sortie peut \u00eatre trait\u00e9 (graphique croiser dynamique) par Excel ou un autre tableur.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Supervision<\/h3>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recherche \/ Remplacement Remplacer une chaine de caract\u00e8re dans une arborescence Recherche rapide de fichier\/r\u00e9pertoire \u00e0 partir d&rsquo;une portion de nom Recherche de fichier d&rsquo;une certaine taille R\u00e9seaux Affichage des routes Tracer les paquets r\u00e9seaux Afficher les interfaces r\u00e9seaux Afficher les ports occup\u00e9s Afficher les r\u00e8gles du pare-feu Syst\u00e8me d&rsquo;exploitation Afficher les infos de la [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1166,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,8,49],"tags":[28,32],"class_list":["post-1140","post","type-post","status-publish","format-standard","hentry","category-le-laboratoire","category-linux","category-mise-a-jour-de-larticle","tag-bash","tag-linux"],"_links":{"self":[{"href":"https:\/\/serer.fr\/index.php?rest_route=\/wp\/v2\/posts\/1140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/serer.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/serer.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/serer.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/serer.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1140"}],"version-history":[{"count":2,"href":"https:\/\/serer.fr\/index.php?rest_route=\/wp\/v2\/posts\/1140\/revisions"}],"predecessor-version":[{"id":1386,"href":"https:\/\/serer.fr\/index.php?rest_route=\/wp\/v2\/posts\/1140\/revisions\/1386"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/serer.fr\/index.php?rest_route=\/wp\/v2\/media\/1166"}],"wp:attachment":[{"href":"https:\/\/serer.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serer.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serer.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}