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 revision Previous revision
Next revision
Previous revision
informatique:linux:commandes_linux [2019/07/04 11:01]
pteu ntp
informatique:linux:commandes_linux [2020/05/07 14:39] (current)
pteu [sed] supprimer une ligne
Line 146: Line 146:
 (voir ''​jobs''​) (voir ''​jobs''​)
  
 +=====blkid=====
  
 +Affiche les attributs des disques/​partitions :
 +<code bash>
 +/dev/sda1: UUID="​b0ab5b55-45e9-1cf9-3017-a5a8c86610be"​ TYPE="​linux_raid_member"​ PARTUUID="​5f04e8c2-ff94-4ab2-a129-3be865a326e1"​
 +/dev/sda2: UUID="​0a4130a8-429a-d46f-3017-a5a8c86610be"​ TYPE="​linux_raid_member"​ PARTUUID="​97ac67bb-ce66-475b-9e62-3e67fd0b1132"​
 +/dev/sdb1: UUID="​b0ab5b55-45e9-1cf9-3017-a5a8c86610be"​ TYPE="​linux_raid_member"​ PARTUUID="​bd37f026-6d63-4757-957d-d3eaef8666ea"​
 +/dev/sdb2: UUID="​0a4130a8-429a-d46f-3017-a5a8c86610be"​ TYPE="​linux_raid_member"​ PARTUUID="​8bc69d02-11a2-4616-9b2a-751f995076ea"​
 +/dev/md0: LABEL="​sys"​ UUID="​381c49fe-1b04-47d4-8b0a-e55e1d68a4fb"​ TYPE="​btrfs"​
 +/dev/md1: UUID="​58833cb6-9a9f-4991-a121-99e64bc8d3e5"​ TYPE="​swap"​
 +</​code>​
 =====cal===== =====cal=====
  
Line 268: Line 278:
   * effacement total : ''​chattr +s fichier''​   * effacement total : ''​chattr +s fichier''​
  
 +
 +=====chkconfig=====
 +
 +Commande pour configurer les services activer au démarrage du système.
 +<code bash>
 +# lister les états de tous les services
 +chkconfig --list
 +
 +# activer le service toto (resp. désactiver avec "​off"​)
 +# optionnel : préciser les runlevels concernés, par défaut 2345)
 +chkconfig toto on [--level 35]
 +
 +# lister l'​état du service toto (pour chaque runlevel)
 +chkconfig --list toto
 +toto        0:​arrêt 1:​arrêt 2:​marche 3:​marche 4:​marche 5:​marche 6:​arrêt
 +</​code>​
  
 =====chmod===== =====chmod=====
Line 396: Line 422:
 <code bash> <code bash>
 # Pour afficher la date au format YYYY/​MM/​JJ-HH:​MM:​SS : # Pour afficher la date au format YYYY/​MM/​JJ-HH:​MM:​SS :
-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'​heure actuelle : # afficher le compteur (timestamp) de l'​heure actuelle :
-date +%s+date "+%s"
 1441816670 1441816670
  
Line 434: Line 460:
 <code bash> <code bash>
 pkill -USR1 dd pkill -USR1 dd
 +</​code>​
 +
 +
 +=====declare=====
 +
 +Permet de déclarer des variables en bash et leur affecter des attributs ; il équivaut à la commande ''​typeset''​ (les options sont les mêmes) à partir de bash v2+, alors que ''​typeset''​ est compatible ksh. Invoqué sans paramètre, ''​declare''​ affiche la liste des variables existantes dans l'​environnement. Pour ne lister que les fonctions, utiliser le flag ''​-f''​.
 +
 +Liste des attributs existants :
 +  * ''​-a''​ : tableau indexé (//array//)
 +  * ''​-A''​ : tableau associatif
 +  * ''​-i''​ : entier (//​integer//​)
 +  * ''​-l''​ : la variable ne peut contenir que des caractères en minuscules ; les majuscules sont converties (//​lowercase//​)
 +  * ''​-u''​ : la variable ne peut contenir que des caractères en majuscules ; les minuscules sont converties (//​uppercase//​)
 +  * ''​-r''​ : constante (//​readonly//​)
 +  * ''​-x''​ : exporter la variable (//​export//​)
 +  * ''​-p''​ : affiche le contenu de la variable qui suit
 +  * ''​-f''​ : lister le contenu de la fonction qui suit
 +
 +Utiliser ''​+''​ à la place de ''​-''​ permet de désactiver l'​attribut d'une variable (ne fonctionne pas pour l'​attribut ''​+a''​ (tableaux indexés)).
 +
 +<code bash>
 +# exemple d'​utilisation d'un entier
 +declare -i int=2
 +echo "int vaut $int" ​     # "int vaut 2"
 +let "int += 1"
 +echo "int vaut $int" ​     # "int vaut 3"
 +unset int
 +
 +# exemple d'​utilisation d'une constante
 +declare -r const=pierre
 +echo "const vaut $const" ​ # "const vaut pierre"​
 +const=sable ​              # "​-bash:​ const : variable en lecture seule"
 +echo "const vaut $const" ​ # "const vaut pierre"​
 </​code>​ </​code>​
  
Line 477: Line 536:
 </​code>​ </​code>​
  
 +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
 +</​code>​
 +
 +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:​41d0:​1:​4a95::​1 in 0 ms.
 +SOA dns105.ovh.net. tech.ovh.net. 2018110900 86400 3600 3600000 300 from server 2001:​41d0:​1:​1995::​1 in 2 ms.
 +SOA dns105.ovh.net. tech.ovh.net. 2018110900 86400 3600 3600000 300 from server 213.251.128.149 in 2 ms.
 +</​code>​
 =====dirname===== =====dirname=====
  
Line 927: Line 1000:
 =====history===== =====history=====
  
-Permet d'​afficher l'​historique des commandes saisies dans un terminal :+Permet d'​afficher l'​historique des commandes saisies ​lors de la session ​dans un terminal :
 <code bash> <code bash>
 history history
Line 937: Line 1010:
  ​69 ​ history  ​69 ​ history
 </​code>​ </​code>​
 +
 +Lors de la fermeture de session, cette liste est ajoutée au fichier indiqué dans la variable ''​$HISTFILE''​. On peut contrôler :
 +  * le format de timestamp de chaque commande avec la variable ''​HISTTIMEFORMAT''​ (même format que la commande date)
 +  * la taille de l'​historique,​ en nombre de ligne
 +    * ''​HISTSIZE''​ défini la taille de l'​historique de la session courante (en mémoire)
 +    * ''​HISTFILESIZE''​ défini la taille du fichier d'​historique (celui défini dans ''​$HISTFILE''​)
 +  * ''​HISTCONTROL''​ permet d'​ignorer les doublons (ignoredups),​ les commandes précédées par un espace (ignorespace) ou les deux (ignoreboth)
 +Exemple :
 +<file bash .bashrc>
 +HISTCONTROL=ignoredups:​ignorespace
 +HISTTIMEFORMAT="​%Y%m%d_%H%M%S "
 +HISTSIZE=10000
 +HISTFILESIZE=20000
 +</​file>​
  
 On peut relancer une commande de l'​historique en saisissant //!// suivi de son numéro : On peut relancer une commande de l'​historique en saisissant //!// suivi de son numéro :
Line 959: Line 1046:
 </​code>​ </​code>​
  
-On efface l'​historique ​avec ''​history -c''​.+On efface l'​historique ​de session : ''​history -c''​ ; forcer l'​écriture du buffer dans le fichier ''​history -a''​.
  
 On peut loguer (dans ''/​var/​log/​messages''​) l'​historique des commandes saisies par un utilisateur en ajoutant dans son .bashrc cette ligne : On peut loguer (dans ''/​var/​log/​messages''​) l'​historique des commandes saisies par un utilisateur en ajoutant dans son .bashrc cette ligne :
Line 1131: Line 1218:
 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.
 <code bash> <code bash>
 +# afficher les interfaces
 ip addr show ip addr show
  1: lo: <​LOOPBACK,​UP>​ mtu 16436 qdisc noqueue  1: lo: <​LOOPBACK,​UP>​ mtu 16436 qdisc noqueue
Line 1142: Line 1230:
  3: eth1: <​BROADCAST,​MULTICAST>​ mtu 1500 qdisc pfifo_fast qlen 1000  3: eth1: <​BROADCAST,​MULTICAST>​ mtu 1500 qdisc pfifo_fast qlen 1000
      ​link/​ether 00:​0b:​cd:​0a:​ad:​30 brd ff:​ff:​ff:​ff:​ff:​ff      ​link/​ether 00:​0b:​cd:​0a:​ad:​30 brd ff:​ff:​ff:​ff:​ff:​ff
 +
 +# afficher la table de routage
 +ip route
 +default via 10.10.22.249 dev ens3 onlink
 +10.10.22.0/​24 dev ens3 proto kernel scope link src 10.10.22.65
 +
 +# 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
 </​code>​ </​code>​
  
Line 1656: Line 1756:
 =====netcat===== =====netcat=====
  
-Permet ​de créer des sockets comme client (''​netcat mon_serveur.fr 200''​) ou comme serveur (''​netcat -l -p 80''​) :+Netcat (nc) est un couteau-suisse réseau qui permet ​de créer des sockets comme client (''​netcat mon_serveur.fr 200''​) ou comme serveur (''​netcat -l -p 80''​) :
   * ''​netcat -t ns213.186.xx.xx 23''​ Se comporte comme un client telnet   * ''​netcat -t ns213.186.xx.xx 23''​ Se comporte comme un client telnet
   * ''​netcat -l -p 23 > espionne.log''​ Ecoute sur le port 23 (telnet) et enregistre dans espionne.log tout ce qui est tapé par le client.   * ''​netcat -l -p 23 > espionne.log''​ Ecoute sur le port 23 (telnet) et enregistre dans espionne.log tout ce qui est tapé par le client.
Line 1663: Line 1763:
   * ''​netcat -vv la_machine_a_scanner 1-100''​ Permet de lancer un scan sur des machines distantes.   * ''​netcat -vv la_machine_a_scanner 1-100''​ Permet de lancer un scan sur des machines distantes.
   * ''​netcat -vv -z -i 10000 -r 127.0.0.1 1-200''​ Permet de scanner aléatoirement les ports de 1 à 100 avec un time out. On évite la détection.   * ''​netcat -vv -z -i 10000 -r 127.0.0.1 1-200''​ Permet de scanner aléatoirement les ports de 1 à 100 avec un time out. On évite la détection.
 +
 +  * pour tester si des ports sont ouverts sur une machine distante:
 +<code bash>
 +# -z = on n'​envoie pas de données
 +# -v = mode verbeux
 +# 80: numéro de port à tester
 +$ nc -zv 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 ("​80-89"​)
 +# 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
 +</​code>​
  
   * 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 2061: Line 2176:
 =====sed===== =====sed=====
  
-**S**tream **ED**itor est une commande qui permet d'​appliquer différentes transformations prédéfinies à un flux séquentiel de données textuelles. +**S**tream **ED**itor est une commande qui permet d'​appliquer différentes transformations prédéfinies à un flux séquentiel de données textuelles. ​Sed peut travailler sur un flux (pipé derrière ​une autre commande) ou à partir d'un fichier :
- +
-  * Filtre pour remplacer ​une IP par X.X.X.X+
 <code bash> <code bash>
-sed "s/\([0-9]\{1,​3\}\.\)\{3\}[0-9]\{1,​3\}/​X.X.X.X/​g"​ +# afficher le contenu du fichier en remplaçant toto par titi 
-</code>+cat fichier.txt | sed 's/toto/titi'
  
-  * Convertir les minuscules ​en majuscules (ou inversement) +# même chose en plus simple 
-<code bash> +sed 's/toto/titi' ​fichier.txt
-echo "La PhraSe avec Des LeTTres n'​iMpoRte comMEnt"​ | sed 's/.*/\L&/' +
-la phrase avec des lettres n'​importe comment +
-# et respectivement 's/.*/​\U&/'​ pour convertir le texte en majuscules+
 </​code>​ </​code>​
-(Le "&"​ représente le motif qui matche) 
  
-  * 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 ​on peut choisir d'​enregistrer les modifications dans celui-ci, en ajoutant l'​option ''​-i'' ​:
 <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' ​fichier.txt 
 +# idem, mais en sauvegardant le fichier original avec l'​extension .bck 
 +# cela créra 2 fichiers : fichier.txt (modifié) et fichier.txt.bck (l'​original) 
 +sed -i"​.bck"​ 's/toto/titi' fichier.txt
 </​code>​ </​code>​
-(il s'agit d'un "​un"​ i suivi du texte à insérer) 
  
-  * Afficher la 3ème ligne d'un fichier (et sauvegarder le fichier source avec le suffixe "​.bck"​) :+  * Afficher la 3ème ligne d'un fichier (plusieurs méthodes
 +Afficher la 3ème ligne d'un fichier ​:
 <code bash> <code bash>
-sed -i"​.bck" ​-n '​3p'​ <​fichier>​+sed -n '​3p'​ <​fichier>​ 
 +sed '​3!d' ​  <​fichier>​ 
 +sed '​52q;​d'​ <​fichier> ​  # arrête la lecture dès qu'​elle a matché, pour la performance
 </​code>​ </​code>​
  
Line 2096: Line 2211:
 sed -n '​2,​5p'​ <​fichier>​ sed -n '​2,​5p'​ <​fichier>​
 sed -n '​2,/​sys/​p'​ <​fichier>​ sed -n '​2,/​sys/​p'​ <​fichier>​
 +</​code>​
 +
 +  * Ajouter une ligne en début de fichier :
 +<code bash>
 +sed -i '​1iPremièreLigne'​ toto.txt
 +</​code>​
 +(il s'agit d'un "​un"​ i suivi du texte à insérer)
 +
 +  * Afficher les lignes sauf celles situées entre "​toto"​ et "​titi"​ :
 +<code bash>
 +sed '/​toto/,/​titi/​d'​
 +</​code>​
 +
 +  * Supprimer la 5eme ligne du fichier toto.txt
 +<code bash>
 +sed -i '​5d'​ toto.txt
 </​code>​ </​code>​
  
   * Supprimer les lignes contenant toto dans le fichier toto.txt :   * Supprimer les lignes contenant toto dans le fichier toto.txt :
 <code bash>sed -i '/​toto/​d'​ toto.txt</​code>​ <code bash>sed -i '/​toto/​d'​ toto.txt</​code>​
 +
 +  * Supprimer les lignes __ne contenant pas__ toto dans le fichier toto.txt :
 +<code bash>sed -i '/​toto/​!d'​ toto.txt</​code>​
  
   * Supprimer les lignes vides   * Supprimer les lignes vides
Line 2108: Line 2242:
 sed -e '​0,/​^begin/​d'​ -e '/​^end/,​$d'​ fichier.txt sed -e '​0,/​^begin/​d'​ -e '/​^end/,​$d'​ fichier.txt
 </​code>​ </​code>​
 +
 +  * Remplacer les adresses IP par X.X.X.X
 +<code bash>
 +sed "​s/​\([0-9]\{1,​3\}\.\)\{3\}[0-9]\{1,​3\}/​X.X.X.X/​g"​
 +</​code>​
 +
 +  * Convertir les minuscules en majuscules (ou inversement)
 +<code bash>
 +echo "La PhraSe avec Des LeTTres n'​iMpoRte comMEnt"​ | sed '​s/​.*/​\L&/'​
 +la phrase avec des lettres n'​importe comment
 +# et respectivement '​s/​.*/​\U&/'​ pour convertir le texte en majuscules
 +</​code>​
 +(Le "&"​ représente le motif qui matche)
  
   * 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 2339: Line 2486:
 ss dport \> 1024 ss dport \> 1024
 </​code>​ </​code>​
 +=====stat=====
 +
 +Commande permettant d'​afficher des informations sur un système de fichier ou juste un fichier.
 +
 +<code bash>
 +# Affichage des informations du fichier toto.txt
 +$ stat toto.txt
 +  Fichier : « toto.txt »
 +   ​Taille :​ 0           ​Blocs :​ 0          Blocs d'​E/​S :​ 1048576 fichier vide
 +Périphérique :​ 37h/​55d ​ Inœud : 36311392 ​   Liens : 1
 +Accès : (0644/​-rw-r--r--) ​ UID : (1515/​dude) ​  ​GID :​ ( 1515/     dsi)
 + ​Accès :​ 2018-08-30 17:​16:​35.295782414 +0200
 +Modif. : 2018-08-30 18:​15:​02.295782414 +0200
 +Changt : 2018-08-30 17:​16:​35.295782414 +0200
 +  Créé : -
 +</​code>​
 +
 +On peut filtrer le résultat par type d'​information recherchée avec l'​option ''​-c''​ ; par exemple :
 +<code bash>
 +#  N'​afficher que la date de dernière modification du fichier (au format //​human-readable//​) : ''​%y''​
 +$ stat -c "​%y"​ toto.txt
 +2018-08-30 18:​15:​02.295782414 +0200
 +
 +# Afficher la taille du fichier (ici il est vide)
 +$ stat -c "​%s"​ toto.txt
 +0
 +</​code>​
 +
 =====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).
-  ​strings toto.exe +<code bash> 
 +strings toto.exe 
 +</​code>​
  
 =====su===== =====su=====
Line 2458: Line 2634:
  
 Permet de calculer le temps d'​exécution d'une commande : Permet de calculer le temps d'​exécution d'une commande :
-  ​time sleep 3 +<code bash> 
-   +time sleep 3 
-   real    0m3.015s + ​real ​   0m3.015s 
-   ​user    0m0.000s + ​user ​   0m0.000s 
-   ​sys     ​0m0.000s+ ​sys ​    ​0m0.000s 
 +</​code>​
  
 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 ''​|''​),​ utiliser plutôt la formulation : 
 +<code bash> 
 +time -f "​%es"​ bash -c "ls | wc" 
 +</​code> ​
 =====top===== =====top=====
  
Line 2513: Line 2693:
 =====type===== =====type=====
  
-**type** est une commande interne de bash qui indique comment chaque ​nom doit être interprété ​si on l'​utilise en nom de commande.+**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.
  
-  * ''​-a''​ : affiche tous les emplacements de l'​exécutable en paramètre (les alias et les fonctions) et son code source 
 <code bash> <code bash>
-# lister toutes les fonctions +type -t ls 
-declare ​-F + builtin 
-[..] +type -t l 
-declare ​-f titreterm+ alias 
 +type l 
 + l is aliased to '​ls ​-p --color'​ 
 + 
 +type -t ssh 
 + ​file 
 +type ssh 
 + ssh is hashed (/​usr/​bin/​ssh)
  
-# afficher le code de celle-ci (équivalent de "​declare -f titreterm"​) 
 type -a titreterm type -a titreterm
-titreterm ​est une fonction + titreterm ​is a function 
-titreterm ()  + ​titreterm () 
-+ {
     if [[ $# -eq 1 && -n $1 ]]; then     if [[ $# -eq 1 && -n $1 ]]; then
         echo -ne "​\033]0;​$1\007";​         echo -ne "​\033]0;​$1\007";​
     fi     fi
-}+ }
 </​code>​ </​code>​
 +
 +Voir aussi : [[informatique:​linux:​commandes_linux#​declare|declare]].
  
 =====update-rc.d===== =====update-rc.d=====
Line 2639: Line 2826:
 =====vi===== =====vi=====
  
-Un éditeur de texte en mode texte plus ou moins fourni ​par défaut ​avec les distributions ​actuelles.+Vi (abréviation de **vi**sual) est un éditeur de texte en mode console présent ​par défaut ​sur la plupart des distributions ​Linux (d'où l'​intérêt de la maîtriser). Il existe différentes versions plus ou moins légères (vi, vim.basic, vim.tiny, gvim, etc) ; [[informatique:​logiciels:​vim|plus d'info ici]].
  
  
-=====vipw=====+=====vi*=====
  
-C'est la commande à utiliser pour éditeravec vile fichier ​''/​etc/​passwd'' ​(il met les verrous qui vont bien pour éviter des conflits d'accès).+Composés du préfixe **vi** (comme d'éditeur de texte) suivi de la commande à configurer**vipw****vigr** ou **visudo** sont des "​mots-valise"​ permettant d'éditer proprement des parties critiques d'un système Linux. 
 +  * ''​vipw''​ pour éditer les utilisateurs (fichier ​/etc/passwd
 +  * ''​vigr''​ pour éditer ​les groupes (fichier /​etc/​group) 
 +  * ''​visudo'' ​pour éditer la configuration de la commande ​''​sudo''​ (fichier /​etc/​sudoers)
  
 +Leur utilisation est vivement recommandée dans la mesure où, souvent, leur action ne se limite pas à l'​édition du fichier de conf mais permet également :
 +  * de mettre à jour d'​autres fichiers liés, comme dans le cas de **vipw** ou **vigr** (pour MAJ respectivement /etc/shadow et /​etc/​gshadow)
 +  * de vérifier la syntaxe pour ne pas bloquer le système en cas d'​erreur (**visudo** par exemple)
  
 +L'​éditeur de texte lancé est celui renseigné dans la variable d'​environnement $VISUAL, sinon celui de $EDITOR ; et seulement si aucun n'est spécifié, **vi** sera utilisé par défaut.
 +
 +Au passage, pour configurer l'​éditeur de texte par défaut, il existe plusieurs manières :
 +  * **update-alternatives --config editor** sous Debian
 +  * **select-editor** (utilise la variable $SELECTED_EDITOR,​ préemptée par $VISUAL et $EDITOR)
 +  * éditer le fichier ~/.bashrc pour y ajouter l'une des lignes suivantes :
 +<code bash>
 +export VISUAL=vi
 +export EDITOR=vi
 +</​code>​
 =====vmstat===== =====vmstat=====
  
informatique/linux/commandes_linux.1562230908.txt.gz · Last modified: 2019/07/04 11:01 by pteu