Utilisation des terminaux de commandes

Choisir le bon terminal

Il existe de nombreux terminaux de commande, avec plus ou moins de fonctionnalité. Le bon terminal pour vous dépend avant tout de vos attentes et de vos goûts. Voici quelques terminaux intéressant que vous pouvez essayer pour vous faire une idée et trouvé celui qui vous correspond :

Sudo

Pour accéder aux droits d'administration d'un système, il faut utiliser la commande sudo. Pour exécuter une commande en temps qu'administrateur, il suffit de faire précéder la commande du mot clé sudo. Exemple :

sudo service ssh restart

Cette méthode d'élévation des droits à l'avantages de n'accorder ces droits que durant l'exécution d'une commande. De plus, le fichier /etc/sudoers permet de configurer des droits précis pour chaque utilisateur. Il est ainsi possible de n'autoriser que certains utilisateurs à exécuter certaines commandes en temps que tel ou tel utilisateurs sur tel ou tel systèmes...

Si le fichier sudoers vous en accorde le droit, sudo permet d'exécuter des commandes en temps que n'importe quel utilisateur :

sudo -u bigboss accorde-augmentation.sh @user

Par défaut, sudo demande le mot de passe de l'utilisateur à la première utilisation puis mémorise l'accréditation durant 15 minutes. Vous pouvez choisir de révoquer l'accréditation immédiatement avec la commande :

sudo -k

À l'inverse, vous pouvez obtenir une accréditation sans exécuter de commande avec :

sudo -v

Enfin, si vous souhaitez changer durablement d'identiter pour effectuer de nombreuses tâches interactivement (déconseillé) vous pouvez utiliser les switchs -s ou -i. Le switch -s conservera les variables d'environnement de votre utilisateur, ainsi la commande cd $HOME vous conduira dans votre répertoire personnel et non pas dans le répertoire de l'utilisateur à qui vous emprunter les droits. Le switch -i remplacera toutes les variables d'environnements, comme si vous veniez de vous connecter avec les identifiants de l'utilisateur cible. Exemple :

user@system:~$ sudo -s
root@system:/home/user#

user@system:~$ sudo -i
root@system:~# pwd
/root

user@system:~$ sudo -u bigboss -i
bigboss@system:~$ pwd
/home/bigboss

Couper / Copier / Coller

Sur X.org ou Wayland (les serveurs graphiques traditionnellement utilisé sous Linux, BSD et autres Unix) un texte sélectionné avec la souris est automatiquement copier dans un buffer spécial. Pour coller, il suffit alors d'utiliser le « clic-central » de la souris (généralement placé sous la roulette de la souris). Certain serveur graphique émule le clic central lorsque l'on clic sur les deux boutons gauche et droite de la souris en même temps. Ces comportements sont paramétrables, référez vous à la documentation de votre distribution.

Les traditionnels raccourcies pour couper, copier et coller des morceaux de texte n'ont pas la même signification dans un terminal de commande. Exemple : [ctrl]+[c] sera interprété par la plupart des shell comme une demande d'envoyer un signal d'arrêt à une éventuelle commande en cours d'exécution. Habituellement, l'ajout d'une deuxième touche de modification ([alt] ou [⬆maj]) suffit à retrouver le « copier / coller ». Exemple avec Bash :

Une autres façon « historique » de coller un texte dans un terminal est le raccourcie : [⬆maj]+[inser]

Multiplexage

Aussi bon soit un terminal de commande, il n'est pas toujours souhaitable d'initialiser des 10ènes de liaison SSH avec un serveur pour être en mesure de visualiser des 10ènes de tâches qui s'exécutent... Pour éviter d'avoir à recourrir à de trop nombreuses liaison (trop étant souvent admis comme « plus d'une »), vous pouvez recourrir à un système de multiplexage qui permet de détacher l'exécution des processus de la liaison SSH elle-même. Il en existe deux, et un troisième qui recours à l'un ou l'autres des deux premiers :

Nous alons plus spécifiquement aborder le troisième : byobu, qui présente l'avantage d'afficher en sus des données sur le système auquel nous somme connecter

Installation de Byobu

sudo apt install byobu tmux
byobu-select-backend tmux

Utilisation de Byobu

Commandes utiles

Voici quelques commandes utiles pour visualiser l'activité d'un serveur, en plus des logs

sudo apt install dstat htop iotop iptraf-ng