informatique:linux:commandes_linux
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
informatique:linux:commandes_linux [2019/09/06 10:21] – [chkconfig] pteu | informatique:linux:commandes_linux [2023/01/20 14:02] – [dig] -p pteu | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{tag> | ||
====== 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 '' | Cet article présente des commandes système sous Linux. En général on obtient de l'aide sur une commande en tapant '' | ||
- | Les commandes réseaux sont décrites ici : [[linux | + | Les commandes réseaux sont décrites ici : [[informatique: |
Line 67: | Line 66: | ||
+ | =====arping===== | ||
+ | |||
+ | Détecter une adresse IP usurpée / duplicate : | ||
+ | <code bash> | ||
+ | arping -D -q -I eth0 -c 2 192.168.0.5 | ||
+ | </ | ||
=====aspell===== | =====aspell===== | ||
Vérificateur d' | Vérificateur d' | ||
Line 86: | Line 91: | ||
Permet de programmer l' | Permet de programmer l' | ||
- | Enfin, on peut spécifier l' | + | On peut spécifier l' |
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
<code bash> | <code bash> | ||
Line 112: | Line 122: | ||
On peut utiliser les fichier ''/ | On peut utiliser les fichier ''/ | ||
+ | On peut consulter les journaux d' | ||
+ | <code bash> | ||
+ | Jul 19 02:30:00 bast2 atd[221981]: | ||
+ | </ | ||
=====awk===== | =====awk===== | ||
Line 146: | Line 159: | ||
(voir '' | (voir '' | ||
+ | =====blkid===== | ||
+ | Affiche les attributs des disques/ | ||
+ | <code bash> | ||
+ | /dev/sda1: UUID=" | ||
+ | /dev/sda2: UUID=" | ||
+ | /dev/sdb1: UUID=" | ||
+ | /dev/sdb2: UUID=" | ||
+ | /dev/md0: LABEL=" | ||
+ | /dev/md1: UUID=" | ||
+ | </ | ||
=====cal===== | =====cal===== | ||
Line 276: | Line 299: | ||
chkconfig --list | chkconfig --list | ||
- | # activer le service toto | + | # activer le service toto (resp. désactiver avec " |
- | chkconfig toto on | + | # optionnel : préciser les runlevels concernés, par défaut 2345) |
+ | chkconfig toto on [--level 35] | ||
+ | |||
+ | # lister l' | ||
+ | chkconfig --list toto | ||
+ | toto 0: | ||
</ | </ | ||
Line 375: | Line 403: | ||
* '' | * '' | ||
+ | =====command===== | ||
+ | Permet de lancer la commande fournie en paramètre en ne la recherchant que dans les commandes système ou dans le PATH. Invoquée avec '' | ||
+ | |||
+ | <code bash> | ||
+ | command -V cd | ||
+ | cd est une primitive du shell | ||
+ | </ | ||
=====cp===== | =====cp===== | ||
**c**o**p**y ; copier de fichier. | **c**o**p**y ; copier de fichier. | ||
Line 407: | Line 442: | ||
<code bash> | <code bash> | ||
# Pour afficher la date au format YYYY/ | # Pour afficher la date au format YYYY/ | ||
- | date +%Y/%m/%d-%H:%M:%S | + | date "+%Y/%m/%d %H:%M:%S" |
- | 2009/06/25-15:07:56 | + | 2009/06/25 15:07:56 |
# afficher le compteur (timestamp) de l' | # afficher le compteur (timestamp) de l' | ||
- | date +%s | + | date "+%s" |
1441816670 | 1441816670 | ||
Line 423: | Line 458: | ||
# 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=' | date --date=' | ||
+ | # 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' | # mettre à jour la date et l' | ||
Line 428: | Line 466: | ||
</ | </ | ||
+ | Pour comparer des dates, on les convertit au format '' | ||
+ | <code bash> | ||
+ | date=$(date -d 2020-12-15 +%s) | ||
+ | now=$(date +%s) | ||
+ | |||
+ | if [ $date -lt $now ]; then | ||
+ | echo "date est dans le passé !" | ||
+ | fi | ||
+ | </ | ||
=====dd===== | =====dd===== | ||
Line 445: | Line 492: | ||
<code bash> | <code bash> | ||
pkill -USR1 dd | pkill -USR1 dd | ||
+ | </ | ||
+ | |||
+ | |||
+ | =====declare===== | ||
+ | |||
+ | Permet de déclarer des variables en bash et leur affecter des attributs ; il équivaut à la commande '' | ||
+ | |||
+ | Liste des attributs existants : | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Utiliser '' | ||
+ | |||
+ | <code bash> | ||
+ | # exemple d' | ||
+ | declare -i int=2 | ||
+ | echo "int vaut $int" | ||
+ | let "int += 1" | ||
+ | echo "int vaut $int" | ||
+ | unset int | ||
+ | |||
+ | # exemple d' | ||
+ | declare -r const=pierre | ||
+ | echo "const vaut $const" | ||
+ | const=sable | ||
+ | echo "const vaut $const" | ||
</ | </ | ||
Line 486: | Line 566: | ||
dig mx pteu.fr | dig mx pteu.fr | ||
dig pteu.fr @9.9.9.9 | dig pteu.fr @9.9.9.9 | ||
+ | dig pteu.fr @127.0.0.1 -p5353 | ||
+ | dig +noall +answer pteu.fr | ||
</ | </ | ||
+ | Récupérer le numéro de série (serial number) d'une zone (enlever //+short// pour un résultat plus verbeux) : | ||
+ | <code bash> | ||
+ | dig +short SOA pteu.fr | ||
+ | dns105.ovh.net. tech.ovh.net. 2018110900 86400 3600 3600000 300 | ||
+ | </ | ||
+ | |||
+ | Interroger tous les serveurs faisant autorité d'une zone : | ||
+ | <code bash> | ||
+ | dig +nssearch pteu.fr | ||
+ | SOA dns105.ovh.net. tech.ovh.net. 2018110900 86400 3600 3600000 300 from server 213.251.188.149 in 0 ms. | ||
+ | SOA dns105.ovh.net. tech.ovh.net. 2018110900 86400 3600 3600000 300 from server 2001: | ||
+ | SOA dns105.ovh.net. tech.ovh.net. 2018110900 86400 3600 3600000 300 from server 2001: | ||
+ | SOA dns105.ovh.net. tech.ovh.net. 2018110900 86400 3600 3600000 300 from server 213.251.128.149 in 2 ms. | ||
+ | </ | ||
=====dirname===== | =====dirname===== | ||
Line 650: | Line 746: | ||
ethtool -s eth0 speed 1000 duplex full autoneg on | ethtool -s eth0 speed 1000 duplex full autoneg on | ||
+ | Afficher les statistiques de la carte eth0: '' | ||
=====exit===== | =====exit===== | ||
Line 698: | Line 795: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | * '' | ||
* '' | * '' | ||
* '' | * '' | ||
Line 756: | Line 854: | ||
# on peut additionner les conditions de recherches avec -a (AND) et -o (OR) | # on peut additionner les conditions de recherches avec -a (AND) et -o (OR) | ||
find . \( -name ' | find . \( -name ' | ||
- | </ | ||
+ | Pour trier les résultats par date de modification : | ||
+ | find . \( -name ' | ||
+ | </ | ||
=====flock===== | =====flock===== | ||
Line 847: | Line 947: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
Il est possible d' | Il est possible d' | ||
Line 938: | Line 1041: | ||
=====history===== | =====history===== | ||
- | Permet d' | + | Permet d' |
<code bash> | <code bash> | ||
history | history | ||
Line 948: | Line 1051: | ||
| | ||
</ | </ | ||
+ | |||
+ | Lors de la fermeture de session, cette liste est ajoutée au fichier indiqué dans la variable '' | ||
+ | * le format de timestamp de chaque commande avec la variable '' | ||
+ | * la taille de l' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | Exemple : | ||
+ | <file bash .bashrc> | ||
+ | HISTCONTROL=ignoredups: | ||
+ | HISTTIMEFORMAT=" | ||
+ | HISTSIZE=10000 | ||
+ | HISTFILESIZE=20000 | ||
+ | </ | ||
On peut relancer une commande de l' | On peut relancer une commande de l' | ||
Line 970: | Line 1087: | ||
</ | </ | ||
- | On efface l' | + | On efface l' |
On peut loguer (dans ''/ | On peut loguer (dans ''/ | ||
Line 1013: | Line 1130: | ||
ymir | ymir | ||
</ | </ | ||
+ | |||
+ | =====iconv===== | ||
+ | |||
+ | iconv est un utilitaire de conversion et d' | ||
+ | <code bash> | ||
+ | # Supprimer les caractères accentués: | ||
+ | echo " | ||
+ | eei | ||
+ | </ | ||
+ | |||
=====id===== | =====id===== | ||
Line 1140: | Line 1267: | ||
=====ip===== | =====ip===== | ||
- | Couteau suisse réseau, il permet de configurer les paramètres ip d'une interface réseau. | + | Couteau suisse réseau, il permet de configurer les paramètres ip d'une interface réseau. Dans de plus en plus de distributions, |
<code bash> | <code bash> | ||
+ | # afficher les interfaces | ||
ip addr show | ip addr show | ||
1: lo: < | 1: lo: < | ||
Line 1153: | Line 1281: | ||
3: eth1: < | 3: eth1: < | ||
| | ||
+ | |||
+ | # afficher la table de routage | ||
+ | ip route | ||
+ | default via 10.10.22.249 dev ens3 onlink | ||
+ | 10.10.22.0/ | ||
+ | |||
+ | # affecter ou supprimer une adresse IP à une interface | ||
+ | ip addr add 10.0.0.1 255.255.255.0 dev eth0 | ||
+ | ip addr del 10.0.0.1 255.255.255.0 dev eth0 | ||
+ | |||
+ | # afficher les voisins | ||
+ | ip neigh | ||
</ | </ | ||
+ | Équivalence anciennes/ | ||
+ | ^ anciennes commandes ^ équivalent ip ^ | ||
+ | | ifconfig -a | ip a | | ||
+ | | ifconfig enp6s0 down | ip link set enp6s0 down | | ||
+ | | ifconfig enp6s0 up | ip link set enp6s0 up | | ||
+ | | ifconfig enp6s0 10.0.0.24 netmask 255.255.255.0 dev enp6s0 | ip addr add 10.0.0.24/ | ||
+ | | ifconfig enp6s0 mtu 9000 | ip link set enp6s0 mtu 9000 | | ||
+ | | ifconfig enp6s0:0 10.0.0.25 | ip addr add 10.0.0.25/ | ||
+ | | netstat | ss | | ||
+ | | netstat -tulpn | ss -tulpn | | ||
+ | | netstat -neopa | ss -neopa | | ||
+ | | netstat -g | ip maddr | | ||
+ | | route | ip r | | ||
+ | | route add -net 10.0.0.0 netmask 255.255.255.0 dev enp6s0 | ip route add 10.0.0.0/24 dev enp6s0 | | ||
+ | | route add default gw 10.0.0.254 | ip route add default via 10.0.0.254 | | ||
+ | | arp -a | ip neigh | | ||
+ | | arp -v | ip -s neigh | | ||
+ | | arp -s 10.0.0.33 1:2:3:4:5:6 | ip neigh add 10.0.1.33 lladdr 1:2:3:4:5:6 dev enp6s0 | | ||
+ | | arp -i enp6s0 -d 10.0.0.254 | ip neigh del 10.0.0.254 dev wlp7s0 | | ||
=====ipcs===== | =====ipcs===== | ||
Line 1412: | Line 1571: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | * '' | ||
<code bash> | <code bash> | ||
Line 1667: | Line 1827: | ||
=====netcat===== | =====netcat===== | ||
- | Permet | + | Netcat (nc) est un couteau-suisse réseau qui permet |
* '' | * '' | ||
* '' | * '' | ||
Line 1674: | Line 1834: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | |||
+ | * pour tester si des ports sont ouverts sur une machine distante: | ||
+ | <code bash> | ||
+ | # -z = on n' | ||
+ | # -v = mode verbeux | ||
+ | # -t = TCP (-u pour UDP) | ||
+ | # 80: numéro de port à tester | ||
+ | $ nc -zvt 10.0.0.1 80 | ||
+ | Connection to 10.0.0.1 80 port [tcp/ssh] succeeded! | ||
+ | |||
+ | # On peut remplacer un port par une liste de port (séparés par des espaces : "80 443") | ||
+ | # ou une plage de ports (" | ||
+ | # Par défaut on teste en TCP ; pour utiliser UDP, ajouter le paramètre -u | ||
+ | # (ex ici pour tester le DNS et le SYSLOG) : | ||
+ | $ nc -zv 10.0.0.1 -u 53 514 | ||
+ | </ | ||
* Créer un automate qui renvoie au client tout ce que ce dernier envoie dans la socket : | * Créer un automate qui renvoie au client tout ce que ce dernier envoie dans la socket : | ||
Line 1917: | Line 2093: | ||
</ | </ | ||
+ | =====printf===== | ||
+ | |||
+ | Comme [[informatique: | ||
+ | <code bash> | ||
+ | a=12; b=34; c=' | ||
+ | printf 'a=%i, b=%i, c=%s\n' | ||
+ | a=12, b=34, c=toto | ||
+ | </ | ||
+ | '' | ||
+ | |||
+ | Pour formater l' | ||
+ | <code bash> | ||
+ | a=12; b=34; c=' | ||
+ | # on aligne $a et $b à droite sur 5 colonnes, et $c à gauche sur 20 colonnes | ||
+ | printf ' | ||
+ | a= 12, b= 34, c=toto | ||
+ | </ | ||
+ | |||
+ | ====Afficher x fois le même caractère==== | ||
+ | |||
+ | Pour afficher 10 fois le caractère " | ||
+ | <code bash> | ||
+ | printf ' | ||
+ | ========== | ||
+ | </ | ||
=====ps===== | =====ps===== | ||
Line 1941: | Line 2142: | ||
</ | </ | ||
+ | Afficher les processus les plus consommateurs de mémoire/de CPU : | ||
+ | <code bash> | ||
+ | ps -eo pmem, | ||
+ | ps -eo pmem, | ||
+ | </ | ||
=====pstree===== | =====pstree===== | ||
Line 1981: | Line 2187: | ||
**pwck** vérifie l´intégrité des fichiers de mots de passe. Il vaut mieux le lancer en root car il doit accéder notamment à ''/ | **pwck** vérifie l´intégrité des fichiers de mots de passe. Il vaut mieux le lancer en root car il doit accéder notamment à ''/ | ||
+ | |||
+ | =====readarray===== | ||
+ | |||
+ | Créer un tableau à partir d'un flux ou d'un fichier, d'une case par ligne. | ||
+ | <code bash> | ||
+ | readarray -t T_LINES < fichier.txt | ||
+ | |||
+ | cat fichier.txt | readarray -t T_LINES | ||
+ | </ | ||
+ | |||
=====readlink===== | =====readlink===== | ||
Line 2018: | Line 2234: | ||
* Ajouter l' | * Ajouter l' | ||
<code bash> | <code bash> | ||
- | route add default gw 192.168.0.1 | + | route add default gw 192.168.0.1 |
</ | </ | ||
Line 2042: | Line 2258: | ||
<code bash> | <code bash> | ||
echo " | echo " | ||
+ | </ | ||
+ | |||
+ | Pour ajouter des routes persistantes, | ||
+ | * __sous Redhat/ | ||
+ | <code bash / | ||
+ | 10.0.211.0/ | ||
+ | </ | ||
+ | * sous Debian, il faut ajouter une ligne dans le fichier : | ||
+ | <code bash / | ||
+ | up route add -net 10.0.211.0/ | ||
</ | </ | ||
Line 2072: | Line 2298: | ||
=====sed===== | =====sed===== | ||
- | **S**tream **ED**itor est une commande qui permet d' | + | **S**tream **ED**itor est une commande qui permet d' |
- | + | ||
- | * Filtre pour remplacer | + | |
<code bash> | <code bash> | ||
- | sed "s/\([0-9]\{1, | + | # afficher le contenu du fichier en remplaçant toto par titi |
- | </code> | + | cat fichier.txt | sed 's/toto/titi' |
- | * Convertir les minuscules | + | # même chose en plus simple |
- | <code bash> | + | sed 's/toto/titi' |
- | echo "La PhraSe avec Des LeTTres n' | + | |
- | la phrase avec des lettres n' | + | |
- | # et respectivement 's/.*/ | + | |
</ | </ | ||
- | (Le "&" | ||
- | * Ajouter une ligne en début de fichier : | + | Par défaut le résultat est affiché dans le terminal ; si on précise un fichier |
<code bash> | <code bash> | ||
- | sed -i '1iPremièreLigne' toto.txt | + | # remplacer toto par titi dans le fichier (sans afficher le résultat) |
+ | sed -i 's/toto/titi' | ||
+ | # idem, mais en sauvegardant le fichier original avec l' | ||
+ | # cela créra 2 fichiers : fichier.txt (modifié) et fichier.txt.bck (l' | ||
+ | sed -i" | ||
</ | </ | ||
- | (il s'agit d'un " | ||
- | | + | <WRAP center round important 60%> |
+ | Les caractères suivants doivent être échappés (préfixés par un '' | ||
+ | </ | ||
+ | |||
+ | | ||
+ | Afficher la 3ème ligne d'un fichier | ||
<code bash> | <code bash> | ||
- | sed -i" | + | sed -n ' |
+ | sed ' | ||
+ | sed ' | ||
</ | </ | ||
Line 2107: | Line 2337: | ||
sed -n ' | sed -n ' | ||
sed -n ' | sed -n ' | ||
+ | </ | ||
+ | |||
+ | * Ajouter une ligne en début de fichier : | ||
+ | <code bash> | ||
+ | sed -i ' | ||
+ | </ | ||
+ | (il s'agit d'un " | ||
+ | |||
+ | * Afficher les lignes sauf celles situées entre " | ||
+ | <code bash> | ||
+ | sed '/ | ||
+ | </ | ||
+ | |||
+ | * Supprimer la 5eme ligne du fichier toto.txt | ||
+ | <code bash> | ||
+ | sed -i ' | ||
</ | </ | ||
* Supprimer les lignes contenant toto dans le fichier toto.txt : | * Supprimer les lignes contenant toto dans le fichier toto.txt : | ||
<code bash>sed -i '/ | <code bash>sed -i '/ | ||
+ | |||
+ | * Supprimer les lignes __ne contenant pas__ toto dans le fichier toto.txt : | ||
+ | <code bash>sed -i '/ | ||
* Supprimer les lignes vides | * Supprimer les lignes vides | ||
Line 2119: | Line 2368: | ||
sed -e ' | sed -e ' | ||
</ | </ | ||
+ | |||
+ | * Remplacer les adresses IP par X.X.X.X | ||
+ | <code bash> | ||
+ | sed " | ||
+ | </ | ||
+ | |||
+ | * Convertir les minuscules en majuscules (ou inversement) | ||
+ | <code bash> | ||
+ | echo "La PhraSe avec Des LeTTres n' | ||
+ | la phrase avec des lettres n' | ||
+ | # et respectivement ' | ||
+ | </ | ||
+ | (Le "&" | ||
* On peut réutiliser des patterns entre () qui ont matchées avec \1, \2. Par exemple, pour inverser les 3 termes séparés par des virgules : | * On peut réutiliser des patterns entre () qui ont matchées avec \1, \2. Par exemple, pour inverser les 3 termes séparés par des virgules : | ||
Line 2180: | Line 2442: | ||
ls --color=y | sed ' | ls --color=y | sed ' | ||
</ | </ | ||
+ | |||
+ | ====Supprimer les lignes paires==== | ||
+ | |||
+ | <code bash> | ||
+ | sed ' | ||
+ | </ | ||
+ | (en commençant à la ligne 2, puis toutes les 2 lignes ('' | ||
+ | |||
+ | Équivalent : en partant de la première ligne, puis toutes les 2 lignes ('' | ||
+ | <code bash> | ||
+ | sed -n ' | ||
+ | </ | ||
+ | |||
+ | Autres équivalents : | ||
+ | <code bash> | ||
+ | sed -n ' | ||
+ | sed -n ' | ||
+ | </ | ||
+ | |||
====Liens utiles==== | ====Liens utiles==== | ||
Line 2285: | Line 2566: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | * '' | ||
Exemple : | Exemple : | ||
Line 2350: | Line 2632: | ||
ss dport \> 1024 | ss dport \> 1024 | ||
</ | </ | ||
+ | =====stat===== | ||
+ | |||
+ | Commande permettant d' | ||
+ | |||
+ | <code bash> | ||
+ | # Affichage des informations du fichier toto.txt | ||
+ | $ stat toto.txt | ||
+ | Fichier : « toto.txt » | ||
+ | | ||
+ | Périphérique : | ||
+ | Accès : (0644/ | ||
+ | | ||
+ | Modif. : 2018-08-30 18: | ||
+ | Changt : 2018-08-30 17: | ||
+ | Créé : - | ||
+ | </ | ||
+ | |||
+ | On peut filtrer le résultat par type d' | ||
+ | <code bash> | ||
+ | # N' | ||
+ | $ stat -c " | ||
+ | 2018-08-30 18: | ||
+ | |||
+ | # Afficher la taille du fichier (ici il est vide) | ||
+ | $ stat -c " | ||
+ | 0 | ||
+ | </ | ||
+ | |||
=====strings===== | =====strings===== | ||
Affiche les chaines de caractères imprimable dans le fichier spécifié (c'est donc peu utile sur les fichiers texte). | Affiche les chaines de caractères imprimable dans le fichier spécifié (c'est donc peu utile sur les fichiers texte). | ||
- | | + | <code bash> |
+ | strings toto.exe | ||
+ | </ | ||
=====su===== | =====su===== | ||
Line 2404: | Line 2715: | ||
Un outil d' | Un outil d' | ||
- | par exemple on veut archiver le répertoire ./toto/ et tout son contenu (répertoires et fichiers normaux). | ||
- | tar cvf toto.tar ./toto | ||
- | (// | ||
- | On peut archiver | + | <code bash> |
- | tar czvf toto.tar.gz ./toto | + | # pour archiver le répertoire ./toto/ et tout son contenu |
+ | # (toto.tar désigne le nom de l'archive qu'on veut créer, il doit avoir l' | ||
+ | tar cvf toto.tar ./toto | ||
- | Plus tar__d__, pour le désarchiver : | + | # archiver ET compresser le fichier grâce à gunzip (-z) ou bunzip (-y) : |
- | tar zxf toto.tar | + | # -c pour compresser, -v pour un affichage verbeux, -f pour préciser |
+ | tar czvf toto.tar.gz ./toto | ||
+ | # extraire (-x) le contenu d'une archive gunzip (-z) : | ||
+ | tar zxf toto.tar | ||
+ | </ | ||
+ | |||
+ | =====tee===== | ||
+ | |||
+ | Permet de copier l' | ||
+ | <code bash> | ||
+ | $ echo toto | tee fic.log | ||
+ | toto | ||
+ | |||
+ | $ echo titi | tee -a fic.log | ||
+ | titi | ||
+ | |||
+ | $ cat fic.log | ||
+ | toto | ||
+ | titi | ||
+ | </ | ||
=====telnet===== | =====telnet===== | ||
Line 2466: | Line 2795: | ||
Connection closed by foreign host. | Connection closed by foreign host. | ||
</ | </ | ||
+ | |||
+ | Pour fermer une connexion telnet qui ne répond plus ou dont on n' | ||
+ | |||
=====time===== | =====time===== | ||
Permet de calculer le temps d' | Permet de calculer le temps d' | ||
- | | + | <code bash> |
- | + | time sleep 3 | |
- | real 0m3.015s | + | |
- | | + | |
- | | + | |
+ | </ | ||
La commande retourne le temps réel (//real//), le temps en mode utilisateur (//user//) et le temps en mode système (//sys//). | La commande retourne le temps réel (//real//), le temps en mode utilisateur (//user//) et le temps en mode système (//sys//). | ||
+ | Pour mesurer le temps de plusieurs commandes pipées (chainées avec un pipe '' | ||
+ | <code bash> | ||
+ | time -f " | ||
+ | </ | ||
+ | |||
+ | |||
+ | =====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 : '' | ||
+ | |||
+ | <code bash> | ||
+ | timeout 10s ping google.fr | ||
+ | </ | ||
=====top===== | =====top===== | ||
Line 2499: | Line 2845: | ||
</ | </ | ||
=====traceroute===== | =====traceroute===== | ||
- | [[http:// | ||
- | L' | ||
- | Certains routeurs ne communiquent pas d'informations | + | [[http:// |
+ | L' | ||
+ | |||
+ | Certains routeurs ne communiquent pas d'information | ||
<code bash> | <code bash> | ||
traceroute google.fr | traceroute google.fr | ||
Line 2521: | Line 2868: | ||
</ | </ | ||
+ | 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 ('' | ||
+ | =====trap===== | ||
+ | |||
+ | **trap** permet d' | ||
+ | * '' | ||
+ | <code bash> | ||
+ | 1) SIGHUP | ||
+ | 6) SIGABRT | ||
+ | 11) SIGSEGV | ||
+ | 16) SIGSTKFLT | ||
+ | 21) SIGTTIN | ||
+ | 26) SIGVTALRM | ||
+ | 31) SIGSYS | ||
+ | 38) SIGRTMIN+4 | ||
+ | 43) SIGRTMIN+9 | ||
+ | 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 | ||
+ | 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 | ||
+ | 58) SIGRTMAX-6 | ||
+ | 63) SIGRTMAX-1 | ||
+ | </ | ||
+ | Le code '' | ||
+ | * '' | ||
+ | |||
+ | Par exemple, pour afficher un message lors d'une erreur provoquant un EXIT, ainsi que la ligne qui la génère : | ||
+ | <code bash> | ||
+ | trap "echo Erreur à la ligne $LINENO" | ||
+ | </ | ||
+ | |||
+ | C'est utile pour effacer les fichiers temporaires en cas d' | ||
+ | <code bash> | ||
+ | trap "rm -f $TMPFIC1 $TMPFIC2 $TMPFIC3" | ||
+ | </ | ||
=====type===== | =====type===== | ||
- | **type** est une commande interne de bash qui indique comment chaque | + | **type** est une commande interne de bash qui permet de savoir à quoi correspond un "nom" |
- | * '' | ||
<code bash> | <code bash> | ||
- | # lister toutes les fonctions | + | type -t ls |
- | declare | + | builtin |
- | [..] | + | |
- | declare | + | type -t l |
+ | alias | ||
+ | |||
+ | type l | ||
+ | l is aliased to ' | ||
+ | |||
+ | type -t ssh | ||
+ | | ||
+ | type ssh | ||
+ | ssh is hashed (/ | ||
- | # afficher le code de celle-ci (équivalent de " | ||
type -a titreterm | type -a titreterm | ||
- | titreterm | + | titreterm |
- | titreterm () | + | |
- | { | + | { |
if [[ $# -eq 1 && -n $1 ]]; then | if [[ $# -eq 1 && -n $1 ]]; then | ||
echo -ne " | echo -ne " | ||
fi | fi | ||
- | } | + | } |
</ | </ | ||
+ | |||
+ | Voir aussi : [[informatique: | ||
=====update-rc.d===== | =====update-rc.d===== | ||
Line 2650: | Line 3038: | ||
=====vi===== | =====vi===== | ||
- | Un éditeur de texte en mode texte plus ou moins fourni | + | Vi (abréviation de **vi**sual) est un éditeur de texte en mode console présent |
- | =====vipw===== | + | =====vi*===== |
- | C'est la commande à utiliser pour éditer, avec vi, le fichier | + | Composés du préfixe **vi** (comme d'éditeur de texte) suivi de la commande à configurer, **vipw**, **vigr** ou **visudo** sont des " |
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | Leur utilisation est vivement recommandée dans la mesure où, souvent, leur action ne se limite pas à l' | ||
+ | * de mettre à jour d' | ||
+ | * de vérifier la syntaxe pour ne pas bloquer le système en cas d' | ||
+ | L' | ||
+ | |||
+ | Au passage, pour configurer l' | ||
+ | * **update-alternatives --config editor** sous Debian | ||
+ | * **select-editor** (utilise la variable $SELECTED_EDITOR, | ||
+ | * éditer le fichier ~/.bashrc pour y ajouter l'une des lignes suivantes : | ||
+ | <code bash> | ||
+ | export VISUAL=vi | ||
+ | export EDITOR=vi | ||
+ | </ | ||
=====vmstat===== | =====vmstat===== | ||
Line 2758: | Line 3162: | ||
Affiche les utilisateurs connectés à la machine, et depuis quand. | Affiche les utilisateurs connectés à la machine, et depuis quand. | ||
- | | + | <code bash> |
- | | + | who |
- | + | | |
- | Permet aussi d' | + | dude |
- | | + | toto |
- | run-level 3 May 31 11:36 | + | |
+ | # afficher le runlevel précédent et courant (comme la commande '' | ||
+ | who -r | ||
+ | | ||
+ | # afficher uniquement l' | ||
+ | who -m | ||
+ | | ||
+ | </ | ||
=====xargs===== | =====xargs===== | ||
Line 2778: | Line 3188: | ||
permet de récupérer le pid de // | permet de récupérer le pid de // | ||
+ | Autre use case, en utilisant les paramètres '' | ||
+ | <code bash> | ||
+ | echo -ne ' | ||
+ | cat toto | xargs -L3 -P2 echo | ||
+ | 1 2 3 | ||
+ | 4 | ||
+ | </ | ||
+ | C'est utile pour des opérations plus CPUvore comme le calcul de hash MD5 par ex: | ||
+ | <code bash> | ||
+ | ls | ||
+ | tata toto | ||
+ | |||
+ | find . -maxdepth 1 -type f -print0 | xargs -L1 -P4 -0 md5sum >> md5sums | ||
+ | |||
+ | cat md5sums | ||
+ | b4af4c692f2a8c7dda9abc8ee657997d | ||
+ | 257cde944bf50d4fe05001bc33dd0ca4 | ||
+ | e5084550439c3c39e1b0e53b47018058 | ||
+ | </ | ||
=====yum===== | =====yum===== | ||
informatique/linux/commandes_linux.txt · Last modified: 2024/04/05 06:58 by pteu