Accéder à la ligne de commande sous Red Hat Enterprise Linux

LinuxBeginner
Pratiquer maintenant

Introduction

Dans ce labo, vous entamerez un parcours fondamental dans le monde des opérations en ligne de commande sous Linux, plus particulièrement dans un environnement Red Hat Enterprise Linux (RHEL). Vous acquerrez une expérience pratique avec des commandes essentielles pour identifier les informations sur les utilisateurs et le système, gérer les mots de passe et inspecter divers types de fichiers.

Grâce à des exercices pratiques, vous apprendrez à afficher le contenu de fichiers à l'aide de 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 de ligne de commande cruciaux, ce qui améliorera votre productivité et votre maîtrise de la gestion des systèmes Linux.

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

Dans cette étape, vous apprendrez à identifier l'utilisateur actuellement connecté au système et à afficher la date et l'heure actuelles du système à l'aide de commandes Linux de base. La compréhension de ces commandes fondamentales est essentielle pour naviguer et gérer n'importe quel environnement Linux.

Tout d'abord, découvrons sous 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

Capture d'écran de la sortie de la commande whoami

Vous devriez voir labex comme sortie, ce qui indique 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 diverses manières à l'aide de 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. La compréhension des types de fichiers est essentielle pour travailler avec divers formats de données et des exécutables sous Linux.

Tout d'abord, observons comment commence un changement de mot de passe sans modifier le mot de passe par défaut du labo. La commande passwd est utilisée pour modifier les mots de passe des utilisateurs. Pour l'utilisateur labex, elle demande le mot de passe actuel, puis un nouveau mot de passe. Le mot de passe actuel est labex.

Tapez la commande suivante dans votre terminal :

passwd

À l'invite du mot de passe actuel, tapez labex et appuyez sur Entrée. Lorsque l'invite du nouveau mot de passe apparaît, appuyez sur Ctrl+C pour annuler la commande et revenir au shell. Ne saisissez pas de nouveau mot de passe.

Changing password for user labex.
Current password:
New password: ^C

Remarque : Lorsque vous tapez des mots de passe sous Linux, rien n'apparaît à l'écran pour des raisons de sécurité. C'est un comportement normal qui ne signifie pas que la machine virtuelle ne répond pas. Le système reçoit toujours vos saisies même si vous ne voyez pas les caractères tapés.

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 contient un fichier, 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

Vérifions maintenant 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 démontrent comment la commande file peut vous aider à identifier rapidement la nature des différents fichiers et répertoires de votre système Linux.

Inspecter le contenu des fichiers avec cat, head et tail

Dans cette étape, vous apprendrez à inspecter le contenu de 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 journaux (logs).

Tout d'abord, utilisons la commande cat. La commande cat (abréviation de concatenate) 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 les informations sur les comptes d'utilisateurs.

cat /etc/passwd

Vous verrez l'intégralité du contenu du fichier /etc/passwd s'afficher dans votre terminal. La sortie sera volumineuse et affichera 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 l'utilisation de 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

Utilisez ensuite 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 celui 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

De même que 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 avez seulement besoin de vérifier 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, ainsi qu'à utiliser efficacement la fonction d'historique des commandes dans votre terminal. La gestion de l'historique des commandes est essentielle pour l'efficacité et pour se souvenir des commandes exécutées précédemment.

Tout d'abord, explorons la commande wc (compteur de mots, word count). 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 : les lignes, les mots et les caractères. Les nombres exacts peuvent varier légèrement selon la configuration de votre système.

41   98 2338 /etc/passwd

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

  • -l pour les lignes (lines)
  • -w pour les mots (words)
  • -c pour les caractères (characters)

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 associe 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 ainsi qu'un total.

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

Ensuite, nous aborderons l'historique des commandes. Votre shell conserve un enregistrement de toutes les commandes que vous avez exécutées. C'est incroyablement utile pour réexécuter des commandes ou vous rappeler ce que vous avez fait auparavant.

Pour afficher l'historique de vos commandes, utilisez la commande history :

history

Vous verrez une liste numérotée de toutes les commandes que vous avez saisies au cours de votre session actuelle et des 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 numéro 26 (qui était file /etc/passwd dans l'exemple ci-dessus, mais qui sera différente pour vous), recherchez son numéro dans la sortie de votre history et utilisez-le :

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

Le shell affichera d'abord la commande qu'il s'apprête à 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 relancer la dernière commande qui commençait par wc :

!wc

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

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

Ces fonctions 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 retaper.

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

Dans cette étape, vous apprendrez et pratiquerez 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 de commandes dans le terminal, vous permettant de naviguer et d'éditer du texte sans avoir à attraper constamment la souris.

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

Essayons d'afficher les 3 premières lignes de deux fichiers de dictionnaires à l'aide d'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 la suite 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 commande longue, 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 retournera à la fin de la ligne.
  • Ctrl+U : Effacer depuis le curseur jusqu'au début de la ligne de commande.
    • Retapez la commande. Placez votre curseur quelque part au milieu de la ligne (par exemple, après "very"). Appuyez sur Ctrl+U. Le texte situé entre le curseur et le début sera supprimé.
  • Ctrl+K : Effacer depuis le curseur jusqu'à la fin de la ligne de commande.
    • Retapez la commande. Placez votre curseur quelque part au milieu de la ligne (par exemple, après "very"). Appuyez sur Ctrl+K. Le texte situé entre le curseur et la fin sera supprimé.
  • Ctrl+FlècheGauche (ou Alt+B) : Aller au début du mot précédent sur la ligne de commande.
    • Retapez la commande. Placez votre curseur à la fin de la ligne. Appuyez plusieurs fois sur Ctrl+FlècheGauche 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 plusieurs fois sur Ctrl+FlècheDroite pour vous déplacer mot par mot vers la droite.
  • Ctrl+R : Rechercher un motif dans la liste de l'historique des commandes.
    • 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 l'éditer.

Ces raccourcis accéléreront considérablement vos interactions avec la ligne de commande une fois que vous y serez habitué. Pratiquez-les régulièrement pour acquérir des automatismes (mémoire musculaire).

Résumé

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