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 :
- Tilix (anciennement Terminix), sudo apt install tilix (sudo apt install terminix)
- Gnome Terminal, sudo apt install gnome-terminal
- Konsole, sudo apt install konsole
- Terminator, sudo apt install terminator
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 :
- [ctrl]+[⬆maj]+[x] - Couper
- [ctrl]+[⬆maj]+[c] - Copier
- [ctrl]+[⬆maj]+[v] - Coller
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 :
- screen, sudo apt install screen
- tmux, sudo apt install tmux
- boybu, sudo apt install byobu
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
- F2 - Création d'un nouveau terminal
- F3 - Aller au terminal précédent
- F4 - Aller au terminal suivant
- F6 - Détacher byobu (il suffira alors de relancer byobu pour retrouver ces sessions)
- F9 - Affichage du menu de configuration (permet notamment d'activer le lancement automatique de byobu à la connexion)
- shift + F2 - Cinder le terminal verticalement
- ctrl + F2 - Cinder le terminal horizontalement
- shift + F3/F4 - Naviger dans les cissions de terminal
- ctrl + F3/F4 - Permutter les cissions de terminal
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
- dstat, permet d'avoir un apercu des flux qui transite sur la machine.
- dstat 60, affichera une moyenne des échanges chaque minutes
- dstat 600, affichera une moyenne des échanges toutes les 10 minutes etc ...
- htop, affiche un tableau des processus
- les flèches ⬆ ⬇ permettent de se déplacer
- la touche k permet de tuer le processus en surbrillance
- iotop, affiche l'activité des disques durs
- iptraf-ng, affiche l'activité des interfaces réseaux
