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

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

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 :
-lpour les lignes (lines)-wpour les mots (words)-cpour 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.
- Tapez la commande ci-dessus, puis appuyez sur
- Ctrl+E : Aller à la fin de la ligne de commande.
- Après avoir appuyé sur
Ctrl+A, appuyez surCtrl+E. Votre curseur retournera à la fin de la ligne.
- Après avoir appuyé sur
- 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é.
- Retapez la commande. Placez votre curseur quelque part au milieu de la ligne (par exemple, après "very"). Appuyez sur
- 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é.
- Retapez la commande. Placez votre curseur quelque part au milieu de la ligne (par exemple, après "very"). Appuyez sur
- 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ècheGauchepour vous déplacer mot par mot vers la gauche.
- Retapez la commande. Placez votre curseur à la fin de la ligne. Appuyez plusieurs fois sur
- 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ècheDroitepour vous déplacer mot par mot vers la droite.
- Placez votre curseur au début de la ligne. Appuyez plusieurs fois sur
- 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 exempledate. Le terminal affichera la commande la plus récente de votre historique qui correspond. Continuez à appuyer surCtrl+Rpour 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.
- Appuyez sur
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.



