Accès à la ligne de commande sous Red Hat Enterprise Linux

Red Hat Enterprise LinuxRed Hat Enterprise LinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous vous lancerez dans un voyage fondamental dans le monde des opérations en ligne de commande Linux, spécifiquement dans un environnement Red Hat Enterprise Linux (RHEL). Vous acquerrez une expérience pratique avec des commandes essentielles pour identifier les informations utilisateur et système, gérer les mots de passe des utilisateurs et inspecter divers types de fichiers.

Grâce à des exercices pratiques, vous apprendrez à visualiser le contenu des fichiers en utilisant cat, head et tail, à compter les statistiques des fichiers et à naviguer efficacement dans votre historique de commandes. De plus, vous maîtriserez des raccourcis d'édition en ligne de commande cruciaux, améliorant ainsi votre productivité et votre compétence dans la gestion des systèmes Linux.

Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau intermédiaire avec un taux de réussite de 56%. Il a reçu un taux d'avis positifs de 97% de la part des apprenants.

Identifier l'heure de l'utilisateur et du système

Dans cette étape, vous apprendrez à identifier l'utilisateur actuel connecté au système et à afficher la date et l'heure actuelles du système à l'aide de commandes Linux de base. Comprendre ces commandes fondamentales est crucial pour naviguer et gérer tout environnement Linux.

Tout d'abord, découvrons en tant que quel utilisateur vous êtes actuellement connecté. La commande whoami est utilisée à cette fin. Elle affiche le nom d'utilisateur effectif de l'utilisateur actuel.

Tapez la commande suivante dans votre terminal :

whoami
Screenshot of whoami command output

Vous devriez voir labex comme sortie, indiquant que vous êtes connecté en tant qu'utilisateur labex.

labex

Ensuite, nous allons explorer la commande date. Cette commande est utilisée pour afficher ou définir la date et l'heure du système. Lorsqu'elle est utilisée sans aucune option, elle affiche la date et l'heure actuelles dans un format par défaut.

Exécutez la commande date :

date

La sortie affichera le jour de la semaine, le mois, le jour du mois, l'heure (HH:MM:SS), le fuseau horaire et l'année. La sortie exacte variera en fonction du moment où vous exécutez la commande.

Mon Jul 22 10:30:45 AM UTC 2024

La commande date est très flexible et vous permet de formater la sortie de différentes manières en utilisant des spécificateurs de format. Par exemple, pour afficher uniquement l'heure actuelle au format 24 heures (HH:MM), vous pouvez utiliser +%R.

Essayez d'afficher uniquement l'heure :

date +%R

La sortie sera similaire à :

10:30

Pour afficher uniquement la date actuelle au format MM/JJ/AAAA, vous pouvez utiliser +%x.

Essayez d'afficher uniquement la date :

date +%x

La sortie sera similaire à :

07/22/2024

Enfin, vous pouvez exécuter plusieurs commandes sur une seule ligne en les séparant par un point-virgule (;). Cela peut être utile pour exécuter rapidement une séquence de commandes.

Essayons d'exécuter whoami et date sur la même ligne :

whoami; date

Vous verrez la sortie des deux commandes, l'une après l'autre :

labex
Mon Jul 22 10:30:45 AM UTC 2024
Capture d'écran de la sortie des commandes whoami et date

Gérer les mots de passe des utilisateurs et afficher les types de fichiers

Dans cette étape, vous apprendrez à modifier le mot de passe d'un utilisateur et à déterminer le type d'un fichier à l'aide de la commande file. Comprendre les types de fichiers est essentiel pour travailler avec divers formats de données et exécutables sous Linux.

Tout d'abord, entraînons-nous à modifier le mot de passe d'un utilisateur. La commande passwd est utilisée pour modifier les mots de passe des utilisateurs. Pour l'utilisateur labex, vous serez invité à saisir le mot de passe actuel, puis le nouveau mot de passe deux fois. Rappelez-vous, le mot de passe actuel pour labex est labex.

Tapez la commande suivante dans votre terminal :

passwd

Vous serez invité à saisir le mot de passe actuel, puis le nouveau mot de passe deux fois. Pour ce laboratoire, vous pouvez définir le nouveau mot de passe sur newpass.

Changing password for user labex.
Current password: old_password  <-- Type labex and press Enter
New password: new_password      <-- Type newpass and press Enter
BAD PASSWORD: The password is shorter than 8 characters

Il montre que le mot de passe est inférieur à 8 caractères, dans le monde réel, vous devriez définir un mot de passe d'au moins 8 caractères et plus complexe. Mais pour ce laboratoire, nous ne changerons pas le mot de passe, vous pouvez donc simplement appuyer sur Entrée pour ignorer le changement de mot de passe.

IMPORTANT : NE MODIFIEZ PAS LE MOT DE PASSE PAR DÉFAUT POUR CE LABORATOIRE.

Remarque : Lorsque vous tapez des mots de passe, rien n'apparaîtra à l'écran pour des raisons de sécurité. C'est un comportement normal.

Ensuite, nous allons explorer la commande file. Cette commande détermine le type d'un fichier. Elle est très utile pour comprendre quel type de données un fichier contient, en particulier lorsque l'extension du fichier est manquante ou trompeuse.

Examinons le type du fichier /etc/passwd. Ce fichier contient des informations sur tous les comptes d'utilisateurs du système.

file /etc/passwd

La sortie indiquera que /etc/passwd est un fichier texte ASCII.

/etc/passwd: ASCII text

Maintenant, vérifions le type d'un fichier exécutable, tel que /bin/bash, qui est le programme shell que vous utilisez actuellement.

file /bin/bash

La sortie montrera que /bin/bash est un fichier exécutable, ainsi que des détails sur son architecture et d'autres propriétés.

/bin/bash: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=<omitted>, for GNU/Linux <omitted>, stripped

Enfin, déterminons le type d'un répertoire. Nous utiliserons le répertoire /home comme exemple.

file /home

La sortie indiquera simplement que /home est un répertoire.

/home: directory

Ces exemples montrent comment la commande file peut vous aider à identifier rapidement la nature des différents fichiers et répertoires sur votre système Linux.

Inspecter le contenu des fichiers avec cat, head et tail

Dans cette étape, vous apprendrez à inspecter le contenu des fichiers texte à l'aide de trois commandes Linux essentielles : cat, head et tail. Ces commandes sont fondamentales pour afficher le contenu des fichiers, en particulier les fichiers de configuration et les fichiers journaux.

Tout d'abord, utilisons la commande cat. La commande cat (abréviation de concatenate - concaténer) est principalement utilisée pour afficher le contenu des fichiers. Elle peut également être utilisée pour combiner plusieurs fichiers en un seul.

Affichons l'intégralité du contenu du fichier /etc/passwd. Ce fichier contient des informations sur les comptes d'utilisateurs.

cat /etc/passwd

Vous verrez l'intégralité du contenu du fichier /etc/passwd imprimé dans votre terminal. La sortie sera importante, affichant toutes les entrées utilisateur.

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
...output omitted...

Maintenant, créons deux fichiers texte simples dans votre répertoire ~/project pour démontrer cat avec plusieurs fichiers.

Créez file1.txt :

echo "Hello World!!" > ~/project/file1.txt

Créez file2.txt :

echo "Introduction to Linux commands." > ~/project/file2.txt

Maintenant, utilisez cat pour afficher le contenu des deux fichiers :

cat ~/project/file1.txt ~/project/file2.txt

La sortie affichera le contenu de file1.txt suivi de file2.txt.

Hello World!!
Introduction to Linux commands.

Ensuite, nous utiliserons la commande head. La commande head affiche les premières lignes d'un fichier. Par défaut, elle affiche les 10 premières lignes.

Affichons les 10 premières lignes de /etc/passwd :

head /etc/passwd

Vous verrez les 10 premières lignes du fichier /etc/passwd.

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

Vous pouvez spécifier le nombre de lignes à afficher à l'aide de l'option -n. Par exemple, pour afficher les 3 premières lignes :

head -n 3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

Enfin, utilisons la commande tail. La commande tail affiche les dernières lignes d'un fichier. Par défaut, elle affiche également les 10 dernières lignes.

Affichons les 10 dernières lignes de /etc/passwd :

tail /etc/passwd

Vous verrez les 10 dernières lignes du fichier /etc/passwd.

systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:998:996:systemd Resolver:/:/sbin/nologin
systemd-network:x:997:995:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System Message Bus:/:/sbin/nologin
polkitd:x:996:994:User for polkitd:/:/sbin/nologin
unbound:x:995:993:Unbound DNS resolver:/:/sbin/nologin
tss:x:59:59:TPM software stack:/:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:980:978::/run/gnome-initial-setup/:/sbin/nologin
dnsmasq:x:979:977:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/sbin/nologin

Comme pour head, vous pouvez spécifier le nombre de lignes à afficher à l'aide de l'option -n. Par exemple, pour afficher les 3 dernières lignes :

tail -n 3 /etc/passwd
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:980:978::/run/gnome-initial-setup/:/sbin/nologin
dnsmasq:x:979:977:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/sbin/nologin

Ces commandes sont inestimables pour examiner rapidement le contenu des fichiers sans les ouvrir dans un éditeur de texte, ce qui est particulièrement utile pour les fichiers volumineux ou lorsque vous n'avez besoin de vérifier que des parties spécifiques.

Compter les statistiques des fichiers et utiliser l'historique des commandes

Dans cette étape, vous apprendrez à utiliser la commande wc pour compter les lignes, les mots et les caractères dans les fichiers, et comment utiliser efficacement la fonctionnalité d'historique des commandes dans votre terminal. La gestion de l'historique des commandes est cruciale pour l'efficacité et pour se souvenir des commandes exécutées précédemment.

Tout d'abord, explorons la commande wc (word count - comptage de mots). Cette commande est utilisée pour compter le nombre de lignes, de mots et de caractères dans un fichier.

Comptons les lignes, les mots et les caractères dans le fichier /etc/passwd :

wc /etc/passwd

La sortie affichera trois nombres suivis du nom du fichier : lignes, mots et caractères. Les nombres exacts peuvent varier légèrement en fonction de la configuration de votre système.

41   98 2338 /etc/passwd

Vous pouvez utiliser des options pour afficher uniquement des comptages spécifiques :

  • -l pour les lignes
  • -w pour les mots
  • -c pour les caractères

Comptons uniquement les lignes dans /etc/passwd et /etc/group (qui contient des informations sur les groupes d'utilisateurs). Nous pouvons le faire sur une seule ligne en utilisant un point-virgule.

wc -l /etc/passwd
wc -l /etc/group

Vous verrez le nombre de lignes pour chaque fichier :

41 /etc/passwd
63 /etc/group

Maintenant, comptons uniquement les caractères dans /etc/group et /etc/hosts (qui mappe les noms d'hôtes aux adresses IP).

wc -c /etc/group /etc/hosts

La sortie affichera le nombre de caractères pour chaque fichier et un nombre total.

883 /etc/group
114 /etc/hosts
997 total

Ensuite, nous allons apprendre à propos de l'historique des commandes. Votre shell conserve un enregistrement de toutes les commandes que vous avez exécutées. Ceci est incroyablement utile pour réexécuter des commandes ou se souvenir de ce que vous avez fait précédemment.

Pour afficher votre historique des commandes, utilisez la commande history :

history

Vous verrez une liste numérotée de toutes les commandes que vous avez saisies dans votre session actuelle et les sessions précédentes. La sortie variera considérablement en fonction de votre activité.

...output omitted...
   23  clear
   24  whoami
   25  date
   26  file /etc/passwd
   27  cat /etc/passwd
   28  head /etc/passwd
   29  tail /etc/passwd
   30  wc /etc/passwd
   31  history

Vous pouvez réexécuter une commande de votre historique en utilisant le point d'exclamation (!) suivi du numéro de la commande ou d'une chaîne de caractères.

Par exemple, pour réexécuter la commande au numéro 26 (qui était file /etc/passwd dans l'exemple ci-dessus, mais sera différent pour vous), trouvez son numéro dans votre sortie history et utilisez-le :

!26 ## Remplacez 26 par le numéro réel de 'file /etc/passwd' de votre historique

Le shell affichera d'abord la commande qu'il est sur le point d'exécuter, puis sa sortie :

file /etc/passwd
/etc/passwd: ASCII text

Vous pouvez également réexécuter la commande la plus récente qui commence par une chaîne spécifique. Par exemple, pour réexécuter la dernière commande qui commençait par wc :

!wc

Cela exécutera la dernière commande wc que vous avez exécutée.

wc -c /etc/group /etc/hosts
883 /etc/group
114 /etc/hosts
997 total

Ces fonctionnalités d'historique peuvent accélérer considérablement votre flux de travail en vous permettant de rappeler et de réexécuter rapidement des commandes complexes sans avoir à les ressaisir.

Pratiquer les raccourcis d'édition de la ligne de commande

Dans cette étape, vous allez apprendre et pratiquer des raccourcis d'édition de ligne de commande utiles. Ces raccourcis peuvent améliorer considérablement votre efficacité lors de la saisie et de la modification des commandes dans le terminal, vous permettant de naviguer et d'éditer du texte sans avoir constamment besoin de la souris.

Tout d'abord, comprenons comment écrire une longue commande sur plusieurs lignes. Cela peut améliorer la lisibilité des commandes complexes. Vous pouvez utiliser une barre oblique inversée (\) à la fin d'une ligne pour indiquer que la commande continue sur la ligne suivante.

Essayons d'afficher les 3 premières lignes de deux fichiers de dictionnaire en utilisant une commande multiligne. Ces fichiers se trouvent généralement sur les systèmes Linux et contiennent des listes de mots.

head -n 3 \
  /home/labex/project/words \
  /home/labex/project/linux.words

Lorsque vous appuyez sur Entrée après la première ligne, votre terminal affichera une invite > (ou similaire) indiquant qu'il attend le reste de la commande. Tapez les parties restantes et appuyez à nouveau sur Entrée.

==> /home/labex/project/words <==
1080
10-point
10th

==> /home/labex/project/linux.words <==
1080
10-point
10th

Maintenant, pratiquons quelques raccourcis d'édition de ligne de commande. Ces raccourcis fonctionnent dans la plupart des terminaux Linux modernes (comme Bash ou Zsh).

Tapez une longue commande, mais n'appuyez pas encore sur Entrée :

echo "This is a very long command that we will edit using shortcuts."
  • Ctrl+A : Aller au début de la ligne de commande.
    • Tapez la commande ci-dessus, puis appuyez sur Ctrl+A. Votre curseur se déplacera au début de la ligne.
  • Ctrl+E : Aller à la fin de la ligne de commande.
    • Après avoir appuyé sur Ctrl+A, appuyez sur Ctrl+E. Votre curseur se déplacera à la fin de la ligne.
  • Ctrl+U : Effacer du curseur au début de la ligne de commande.
    • Tapez à nouveau la commande. Placez votre curseur quelque part au milieu de la ligne (par exemple, après "very"). Appuyez sur Ctrl+U. Le texte du curseur au début sera supprimé.
  • Ctrl+K : Effacer du curseur à la fin de la ligne de commande.
    • Tapez à nouveau la commande. Placez votre curseur quelque part au milieu de la ligne (par exemple, après "very"). Appuyez sur Ctrl+K. Le texte du curseur à la fin sera supprimé.
  • Ctrl+FlècheGauche (ou Alt+B) : Aller au début du mot précédent sur la ligne de commande.
    • Tapez à nouveau la commande. Placez votre curseur à la fin de la ligne. Appuyez sur Ctrl+FlècheGauche à plusieurs reprises pour vous déplacer mot par mot vers la gauche.
  • Ctrl+FlècheDroite (ou Alt+F) : Aller à la fin du mot suivant sur la ligne de commande.
    • Placez votre curseur au début de la ligne. Appuyez sur Ctrl+FlècheDroite à plusieurs reprises pour vous déplacer mot par mot vers la droite.
  • Ctrl+R : Rechercher dans la liste d'historique des commandes un motif.
    • Appuyez sur Ctrl+R. Une invite (reverse-i-search) apparaîtra. Commencez à taper une partie d'une commande que vous avez exécutée précédemment, par exemple, date. Le terminal affichera la commande la plus récente de votre historique qui correspond. Continuez à appuyer sur Ctrl+R pour parcourir les correspondances plus anciennes. Appuyez sur Entrée pour exécuter la commande trouvée, ou sur les flèches Gauche/Droite pour la modifier.

Ces raccourcis accéléreront considérablement votre interaction avec la ligne de commande une fois que vous vous y serez habitué. Pratiquez-les régulièrement pour développer la mémoire musculaire.

Résumé

Dans ce lab, vous avez appris les commandes Linux fondamentales pour identifier les informations utilisateur et système. Vous avez pratiqué l'utilisation de whoami pour déterminer l'utilisateur actuellement connecté et de date pour afficher la date et l'heure actuelles du système, y compris diverses options de formatage comme +%R pour l'heure et +%x pour la date. De plus, vous avez découvert comment exécuter plusieurs commandes sur une seule ligne en utilisant un point-virgule, ce qui améliore l'efficacité dans l'environnement de la ligne de commande.