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

Red Hat Enterprise LinuxBeginner
Pratiquer maintenant

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.

Identifier l'Utilisateur et l'Heure Système

Dans cette étape, vous apprendrez comment identifier l'utilisateur actuellement connecté au système et comment 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 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 actuel 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 diverses 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
Screenshot of whoami and date commands output

Gérer les Mots de Passe Utilisateur et Afficher les Types de Fichiers

Dans cette étape, vous apprendrez comment modifier le mot de passe d'un utilisateur et comment 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, nous allons nous entraîner à changer le mot de passe d'un utilisateur. La commande passwd est utilisée pour changer 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 que le mot de passe actuel pour labex est labex.

Tapez la commande suivante dans votre terminal :

passwd

Il vous sera demandé de 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 (Important : Ne modifiez pas le mot de passe par défaut pour ce laboratoire.).

Changing password for user labex.
Current password: old_password  <-- Tapez labex et appuyez sur Entrée
New password: new_password      <-- Tapez newpass et appuyez sur Entrée
BAD PASSWORD: The password is shorter than 8 characters

Note : Lorsque vous tapez des mots de passe sous Linux, rien ne s'affiche à l'écran pour des raisons de sécurité. C'est un comportement normal et cela ne signifie pas que la VM ne répond pas. Le système reçoit toujours votre saisie même si vous ne voyez pas les caractères tapés.

Il est indiqué que le mot de passe est plus court que 8 caractères. Dans la vie réelle, 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.

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, surtout 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 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, avec 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 démontrent comment la commande file peut vous aider à identifier rapidement la nature de 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 de 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.