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/03/19 09:44] – [netcat] pteuinformatique:linux:commandes_linux [2021/09/22 07:41] – [traceroute] pteu
Line 1: Line 1:
-{{tag>commandes linux système}} 
  
 ====== Commandes Linux ====== ====== Commandes Linux ======
Line 5: Line 4:
 Cet article présente des commandes système sous Linux. En général on obtient de l'aide sur une commande en tapant ''man <commande>'' dans un terminal, ou en consultant l'aide située dans le dossier **/usr/share/doc**. Cet article présente des commandes système sous Linux. En général on obtient de l'aide sur une commande en tapant ''man <commande>'' dans un terminal, ou en consultant l'aide située dans le dossier **/usr/share/doc**.
  
-Les commandes réseaux sont décrites ici : [[linux configuration réseau]]+Les commandes réseaux sont décrites ici : [[informatique:linux:reseau|Le réseau sous Linux]]
  
  
Line 2078: Line 2077:
 </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 2102: Line 2126:
 </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 2768: Line 2797:
 </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 2790: Line 2820:
 </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 2804: Line 2835:
 =====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'
Line 3061: Line 3094:
  
 Affiche les utilisateurs connectés à la machine, et depuis quand. Affiche les utilisateurs connectés à la machine, et depuis quand.
-  who +<code bash> 
-   root     pts/       Jun  9 10:15 (10.0.0.20) +who 
- + root     pts/       Jun  9 10:15 (10.0.0.20) 
-Permet aussi d'afficher le runlevel précédent et courant (comme la commande ''runlevel'': + dude     pts/       2021-04-07 08:12 (10.0.16.1
-  who -+ toto     pts/       2021-03-02 14:32 (10.0.0.1)
-         run-level 3  May 31 11:36                   last=S+
  
 +# afficher le runlevel précédent et courant (comme la commande ''runlevel'') :
 +who -r
 + run-level 3  May 31 11:36                   last=S
  
 +# afficher uniquement l'utilisateur courant
 +who -m
 + dude     pts/       2021-04-07 08:12 (10.0.16.1)
 +</code>
 =====xargs===== =====xargs=====
  
informatique/linux/commandes_linux.txt · Last modified: 2024/04/05 06:58 by pteu