Vous êtes donc connecté au terminal Linux et vous regardez une invite de commande. Maintenant quoi? La première fois qu'on m'a présenté un shell de commande, je me suis senti un peu à l'aise car j'avais une grande expérience du DOS de Microsoft.
Aujourd'hui cependant, à moins que vous ne soyez un as de PowerShell ou que vous veniez de macOS et que vous soyez déjà familiarisé avec son terminal, l'invite Linux vous semblera assez étrangère. L'invite est une interface vers Bash (Bourne Again SHell). Les fonctionnalités de Bash vous aident un peu, et l'utiliser n'est vraiment pas si difficile.
Qu'est-ce que Bash ?
Je ne vous donnerai pas d'historique de Bash (si vous êtes intéressé, vous pouvez l'obtenir dans l'épisode Bash de Command Line Heroes). La principale chose que vous devez savoir est que Bash est l'interpréteur de ligne de commande sur la plupart des machines Linux modernes. Vous avez d'autres options, mais sur Red Hat Enterprise Linux (RHEL), Bash est la valeur par défaut. Certaines excellentes interfaces utilisateur graphiques (GUI), interfaces utilisateur tangibles (TUI) et interfaces de console Web vous permettront de gérer votre serveur RHEL, mais rien ne se compare vraiment au niveau de contrôle et de liberté que vous obtenez de la ligne de commande.
Bash est capable de faire plus que simplement émettre des commandes et lancer d'autres programmes. Il est associé à un langage de script assez étendu appelé, eh bien, Bash. Cependant, les scripts sortent également du cadre de cet article; sachez simplement qu'il existe. Voici quelques conseils pour vous familiariser avec Bash.
[ Vous voulez en savoir plus sur les scripts ? Téléchargez l'aide-mémoire pour les scripts shell Bash. ]
Comprendre l'invite
[tux@rhel8 ~]$
Je vais commencer par l'invite elle-même. Par défaut, l'invite de commande peut sembler étrange ou brouillée, mais elle contient en fait des informations très utiles. Je vais décomposer l'invite ci-dessus, qui contient quatre valeurs très importantes :
tux
est le nom d'utilisateur actuel.@rhel8
est le nom d'hôte du système.~
indique le répertoire courant.~
est un raccourci pour votre répertoire personnel. Si vous étiez dans/etc
, il diraitetc
; si vous étiez dans/usr/src/
, il diraitsrc
.$
indique si vous êtes privilégié.$
indique un utilisateur standard, et#
indique un superutilisateur privilégié (aussi appelé root ).
Étant donné que l'invite est hautement personnalisable, j'utiliserai l'invite commune la plus simple pour le reste de cet article :un seul $
personnage. Ne tapez pas le $
invite lorsque vous entrez des commandes. Son but, à la fois dans votre terminal et dans cet article, est de vous aider à garder une trace des commandes que vous entrez et de la sortie que votre ordinateur vous renvoie.
Changer de répertoire
Si vous avez grandi avec moi, vous aviez une collection de CD. Si ce n'est pas le cas, vous savez probablement au moins ce que sont les CD (disques compacts). Sous Linux, le cd
commande n'a rien à voir avec la musique. Au lieu de cela, cd
signifie changer de répertoire à Basch. Vous changez de répertoire en saisissant cd /path/to/new/directory
. Mais il y a aussi quelques raccourcis à connaître.
.
est le répertoire courant (vous aurez rarementcd
à.
mais c'est très utile pour d'autres choses)...
est le répertoire au-dessus du répertoire de travail actuel.-
est le dernier répertoire dans lequel vous étiez.~
est votre répertoire personnel./
est la racine du système de fichiers, ou le délimiteur entre les répertoires dans un chemin complet.
La commande pwd
(qui signifie "répertoire de travail actuel") vous indique le chemin absolu vers le répertoire de travail actuel. Essayez-le et entraînez-vous à utiliser cd
pour accéder aux répertoires répertoriés ci-dessus en utilisant les exemples ci-dessous.
$ pwd
/home/tux
Mon nom d'utilisateur est tux
, donc le pwd
la sortie me dit que je suis dans mon répertoire personnel. Dans votre terminal, vous verrez votre nom d'utilisateur.
Voici un exemple de session avec quelques cd
et pwd
commandes (j'ai créé des répertoires de test et des sous-répertoires à démontrer, donc ces dossiers n'existent pas sur votre ordinateur) :
$ cd test1/
$ cd testsub1/
$ pwd
/home/tux/test1/testsub1
$ cd ..
$ cd /etc/
$ cd ~/test2/
$ pwd
/home/tux/test2
$ cd -
/etc
$ pwd
/etc
$ cd ~
$ pwd
/home/tux
$
Utiliser la saisie semi-automatique de la commande
L'auto-complétion est un outil dont j'abuse énormément. Cela vous fait gagner beaucoup de temps si vous connaissez les premières lettres d'une commande. Vous l'utilisez en saisissant quelques caractères puis en appuyant sur la Tabulation clé. Bash tape ensuite le reste de la commande pour vous. Appuyez sur Tab une fois termine la commande s'il n'y a qu'une seule commande qui correspond aux lettres que vous avez saisies. Appuyez sur Tab affiche deux fois toutes les possibilités qui correspondent. Voici un exemple :
$ rsyn<tab>
$ rsync
$ rsy<tab><tab>
rsync rsyslogd rsyslog-recover-qi.pl
[ Téléchargez la feuille de triche Bash pour devenir plus efficace en ligne de commande. ]
Certaines commandes ont même une saisie semi-automatique intégrée pour leurs options de ligne de commande.
La saisie semi-automatique vous avertira également s'il y a beaucoup de résultats.
$ l<tab><tab>
Display all 128 possibilities? (y or n)n
En savoir plus
J'espère que ces explications vous ont aidé à comprendre l'invite de commande Bash. Il y a tellement plus que vous pouvez apprendre et explorer, mais ce sont les bases, et j'espère que cet article soulagera une partie de l'anxiété associée à ce curseur clignotant.