User Tools

Site Tools


informatique:linux:commandes_linux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
informatique:linux:commandes_linux [2021/07/30 13:40] pteuinformatique:linux:commandes_linux [2021/12/22 15:52] – [timeout] pteu
Line 66: Line 66:
  
  
 +=====arping=====
 +
 +Détecter une adresse IP usurpée / duplicate :
 +<code bash>
 +arping -D -q -I eth0 -c 2 192.168.0.5
 +</code>
 =====aspell===== =====aspell=====
 Vérificateur d'orthographe interactif en ligne de commande. Vérificateur d'orthographe interactif en ligne de commande.
Line 449: Line 455:
 # afficher la date dans 5 mois et 4 jours (regarde, on peut même faire des fautes, c'est pris en compte !) : # afficher la date dans 5 mois et 4 jours (regarde, on peut même faire des fautes, c'est pris en compte !) :
 date --date='5 month 4 day' date --date='5 month 4 day'
 +# afficher la date, 89 jours après le 26 mai 2022 :
 +date -d "26 may 2022 +89 days"
 + Tue Aug 23 00:00:00 UTC 2022
  
 # mettre à jour la date et l'heure du système : # mettre à jour la date et l'heure du système :
Line 2077: Line 2086:
 </code> </code>
  
 +=====printf=====
 +
 +Comme [[informatique:linux:commandes_linux#echo|echo]], **printf** permet d'afficher du texte mais de façon plus léchée. Le premier argument défini le formatage de l'affichage, puis on fournit les variables dans les arguments suivants.
 +<code bash>
 +a=12; b=34; c='toto'
 +printf 'a=%i, b=%i, c=%s\n' $a $b $c
 +a=12, b=34, c=toto
 +</code>
 +''%i'' désigne les variables entière (integer), pour les variables chaîne (strings).
 +
 +Pour formater l'affichage, on peut délimiter le nombre de colonne que prend chaque variable en suivant le "'%' par le nombre de colonne souhaité (et un ''-'' pour aligner à droite) :
 +<code bash>
 +a=12; b=34; c='toto'
 +# on aligne $a et $b à droite sur 5 colonnes, et $c à gauche sur 20 colonnes
 +printf 'a=%5i, b=%5i, c=%-20s\n' $a $b $c
 +a=   12, b=   34, c=toto
 +</code>
 +
 +====Afficher x fois le même caractère====
 +
 +Pour afficher 10 fois le caractère "=" :
 +<code bash>
 +printf '%.0s=' {1..10}
 +==========
 +</code>
  
 =====ps===== =====ps=====
Line 2101: Line 2135:
 </code> </code>
  
 +Afficher les processus les plus consommateurs de mémoire/de CPU :
 +<code bash>
 +ps -eo pmem,pcpu,pid,args --sort=-rss   | head
 +ps -eo pmem,pcpu,pid,args --sort=-stime | head
 +</code>
  
 =====pstree===== =====pstree=====
Line 2745: Line 2784:
 <code bash> <code bash>
 time -f "%es" bash -c "ls | wc" time -f "%es" bash -c "ls | wc"
-</code> +</code> 
 + 
 + 
 +=====timeout===== 
 + 
 +**timeout** permet de lancer une commande et de la killer si elle n'est pas terminée dans le laps de temps indiqué. Syntaxe : ''timeout <durée> <commande>'', avec durée un chiffre dont on peut préciser l'unité (**s**/seconde par défaut, ou **m**/**h**/**d** (minute/heure/jour). 
 + 
 +<code bash> 
 +timeout 10s ping google.fr 
 +</code> 
 =====top===== =====top=====
  
Line 2767: Line 2816:
 </code> </code>
 =====traceroute===== =====traceroute=====
-[[http://fr.wikipedia.org/wiki/Traceroute|Traceroute]] permet de déterminer la route prise par un paquet pour atteindre une IP cible. 
-L'outil envoie un paquet à ''IP'' avec un TTL de 1. Du coup, le paquet n'ira pas plus loin que le premier routeur qui enverra un paquet ''ICMP TTL Exceeded'' avec son adresse IP. En incrémentant le TTL jusqu'à atteindre la destination on obtient les IPs de tous les routeurs intermédiaires. 
  
-Certains routeurs ne communiquent pas d'informations et affichent %%???%% ou %%* * *%%.+[[http://fr.wikipedia.org/wiki/Traceroute|Traceroute]] permet de déterminer la route prise par un paquet pour atteindre une adresse IP cible. 
 +L'outil envoie un paquet à ''IP'' avec un TTL de 1. Le paquet n'ira pas plus loin que le premier routeur qui enverra un paquet ''ICMP TTL Exceeded'' avec sa propre adresse IP. En incrémentant le TTL ainsi de suite jusqu'à atteindre la destination, on obtient les IPs de tous les routeurs intermédiaires. 
 + 
 +Certains routeurs ne communiquent pas d'information et affichent %%???%% ou %%* * *%%.
 <code bash> <code bash>
 traceroute google.fr traceroute google.fr
Line 2789: Line 2839:
 </code> </code>
  
 +Par défaut le protocole UDP/33434-5 est utilisé mais il peut être filtré. On peut donc demander au traceroute de changer de port (''-p 53'' par ex.), d'utiliser de l'ICMP (''-I'') ou du TCP (''-T'').
  
 =====trap===== =====trap=====
Line 2803: Line 2854:
 =====type===== =====type=====
  
-**type** est une commande interne de bash qui permet de savoir à quoi correspond un "nom" si on l'utilise en tant que commande. Utilisée avec l'option ''-t'', il permet de savoir si la commande est un alias, un mot-clé une fonction, un fichier (une commande externe) ou un //builtin// (fonction interne à bash). Utilisée sans option ou avec l'option ''-a'', **type** affiche le type et le contenu de la commande en paramètre.+**type** est une commande interne de bash qui permet de savoir à quoi correspond un "nom" si on l'utilise en tant que commande. Utilisée avec l'option ''-t'', il permet de savoir si la commande est un alias, une fonction, une commande externe (//file//) ou une fonction interne (une primitive) du shell (//builtin//). Utilisée sans option ou avec l'option ''-a'', **type** affiche le type et le contenu de la commande en paramètre.
  
 <code bash> <code bash>
 type -t ls type -t ls
  builtin  builtin
 +
 type -t l type -t l
  alias  alias
 +
 type l type l
  l is aliased to 'ls -p --color'  l is aliased to 'ls -p --color'
informatique/linux/commandes_linux.txt · Last modified: 2024/04/05 06:58 by pteu