Activité Gérer les fichiers avec le shell (1re année)

Consigne

  1. Avant de commencer l’activité :
    • Lire la mise en situation, prendre connaissance des objectifs, du résultat attendu, et des ressources à disposition.
    • Lire une première fois en entier la section Mise en route.
  2. Effectuez le travail décrit dans la section Mise en route et effectuez les tâches demandées dans la section Tâches.

Mise en situation

Vous venez d’être affecté à une équipe chargée de l’administration d’un petit parc de serveurs Linux.

Vous n’avez pas encore eu l’occasion de vous familiariser avec les shells en ligne de commande comme le Bash et le ssh. Vous décidez donc de prendre les devants et de vous y atteler.

Objectifs

À la fin de ce travail, vous devez :

  1. Être capable d’établir une connexion ssh avec vos serveurs.
  2. Connaître par cœur les principales commandes de gestion de fichiers.
  3. Connaître les notions de chemin absolu et chemin relatif.
  4. Connaître, dans les grandes lignes, la structure du système de fichier d’un système POSIX.
  5. Connaître la commande sudo et les précautions à prendre lors de son utilisation.
  6. Être capable de vous rendre dans votre répertoire personnel et dans n’importe quel autre répertoire.
  7. Être capable d’utiliser l’éditeur vim

Résultat attendu

  • Une refcards d’une page A4 au maximum (un seul côté).

Ressources

Documents :

Matériel :

  • Un serveur Linux svr-m122-##.lab.epai-ict.ch où ## est le numéro de votre réseau.
  • Vos informations d’identification reçues par courriel.

Mise en route

Émulateur de terminal sous Windows

Sous Windows, on peut ouvrir une fenêtre de terminal de deux manières :

  • En tant qu’utilisateur·rice (par défaut)
  • En tant qu’administrateur·rice avec les privilèges qui vont avec.

En principe, on ouvre toujours une fenêtre en tant qu’utilisateur·rice, et, à moins d’avoir une très bonne raison de le faire, jamais en tant qu’administrateur·rice. Le principe de moindre privilège (least privilege) nous dit qu’il faut toujours travailler avec le plus faible niveau de privilège possible.

L’une des rares bonnes raisons d’ouvrir une fenêtre de terminal en tant qu’administrateur est l’installation d’un paquet logiciel avec le gestionnaire de paquets Chocolatey.

Jusqu’en 2018, il n’y a pas à proprement parler d’émulateur de terminal pour les shells en ligne de commande de Windows (powershell et cmd). Pour ouvrir une fenêtre de terminal, on exécute PowerShell.exe ou Cmd.exe dans l’interface graphique de Windows.

Si ces programmes sont lancés depuis l’interface graphique, ils s’exécutent avec une interface graphique (fenêtre de terminal), si ces mêmes programmes sont exécutés depuis un shell (ligne de commande de powershell ou de cmd), ils s’exécutent en ligne de commande.

Depuis 2018, Windows dispose de pseudo-terminaux comparables à ceux de Linux ou Unix et d’un véritable émulateur de terminal : Windows Terminal. Sous Windows 11, Windows Terminal est l’émulateur de terminal par défaut.

Si vous travaillez sous Windows 10 et que vous n’avez pas Windows Terminal, vous pouvez essayer de l’installer avec le gestionnaire de paquet Chocolatey, ou utiliser la fenêtre de PowerShell.exe.

Établir une connexion SSH

SSH ou secure shell est un protocole qui permet, entre autres choses, de se connecter au shell d’un ordinateur distant de manière sécurisée. OpenSSH est l’implémentation libre la plus commune de ce protocole. Elle est disponible sous Linux, macOS et Windows.

OpenSSH se compose d’un client (ssh) disponible par défaut sur tous les systèmes et d’une partie serveur (sshd ou ssh daemon) qui doit être installée. Sous Windows, le client ssh est « built-in » depuis 2018.

Pour établir une connexion ssh avec votre serveur, on utilise la commande ssh suivie du nom de l’utilisateur·rice et du nom (FQDN) ou de l’adresse IP du serveur en séparant les deux par une arobase (@).

Ouvrez une fenêtre de terminal (sous Windows, sans privilège évidemment) et tapez la commande suivante en remplaçant ## par le numéro de votre réseau :

1
ssh admin@svr-m122-##.lab.epai-ict.ch
Fig. 1 – commande ssh

Si c’est la première fois que vous vous connectez à un serveur, ssh vous demande de vérifier l’empreinte de la clé publique du serveur avec un message comme celui-ci :

1
2
3
4
The authenticity of host 'svr-m122-##.lab.epai-ict.ch (172.20.##.)' can't be established.
ED25519 key fingerprint is SHA256:wF2qILJg7VbqEE4/zWmyMTSwy3ja7be1jTIg3WzmpeE.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Fig. 2 – Vérification du l'empreinte

Qu’est-ce que cela signifie ? Comme SSL, ssh utilisent des paires de clés asymétriques (clé publique, clé privée) pour authentifier le serveur et procéder à l’échange de la clé secrète de session. Mais contrairement au SSL, la vérification de la clé publique n’est pas assurée par un certificat délivré par un tiers de confiance, mais c’est à l’utilisateur·rice de s’assurer qu’il communique avec le bon serveur. Si l’on a de bonnes raisons de croire qu’il s’agit du bon serveur, on peut répondre « yes » pour continuer et enregistrer l’empreinte dans le fichier appelé « known_hosts » qui se trouve dans le répertoire caché .ssh de notre répertoire personnel.

Enfin, si le serveur ssh accepte l’authentification par mot de passe (ce qui est le cas de notre serveur), vous êtes invité·e à la saisir.

Vous voilà connecté au shell de votre serveur distant avec le compte d’utilisateur·rice admin. Même si son nom pourrait laisser penser le contraire, ce compte n’est pas un compte privilégié. Mais il a le droit d’utiliser la commande sudo pour procéder à une élévation de privilège si nécessaire (en particulier, encore une fois, pour installer des composants logiciels).

Deux sortes de commandes et obtenir de l’aide (main, help)

La plupart des commandes que l’on utilise avec le shell dans un système POSIX, sont des programmes qui se trouvent dans le répertoire /bin ou /sbin. Mais une petite partie d’entre elles sont implémentées directement dans l’interpréteur de commande. Les premières sont des commandes externes, et les secondes, des commandes internes.

Il n’y a généralement pas vraiment de différence entre les deux, sauf lorsqu’on veut obtenir de l’aide.

Pour les commandes externes, on demande généralement de l’aide avec la commande man. Par exemple, man ssh pour obtenir de l’aide sur la commande ssh. Lorsqu’une « page man » est affichée, on peut avancer d’une page avec la touche d’espace et reculer d’une page avec la touche b. Les touches fléchées permettent d’avancer ou reculer d’une ligne. La touche q ou Q permet de quitter la page.

Pour les commandes internes, on demande généralement de l’aide avec la commande help. Par exemple, help cd pour obtenir de l’aide sur la commande interne cd.

Changer de répertoire de travail et en afficher le contenu (pwd, cd, ls)

Dans les systèmes POSIX (Linux, Unix, BSD), le système de fichier n’a qu’une seule racine. Cette racine est notée /. Cela contraste avec Windows, où il y a traditionnellement une racine par unité de stockage (p. ex. C:\, F:\). Notez l’utilisation de la barre oblique (slash /) dans les systèmes POSIX et de la barre oblique inversée (backslash \) sous Windows.

Attention : Le slash dans les systèmes POSIX et le backslash sous Windows sont également utilisés pour séparer les éléments d’un chemin, c’est-à-dire la suite des noms de répertoire qui mène à un répertoire particulier de la hiérarchie, en partant de la racine (chemin absolu) ou d’une position donnée (chemin relatif). Dans un chemin absolu, de droite à gauche, vous voyez le nom du parent, de grand-parent, de l’arrière-grand-parent, etc. Mais contrairement au suivant, le premier slash ou backslash est le nom d’un répertoire : la racine.

Dans les systèmes POSIX, les répertoires personnels (home directory) des utilisateur·rice·s, se trouve dans le répertoire /home, et a le même nom que le compte. Par exemple, le répertoire personnel du compte admin est : /home/admin. Par défaut, seuls l’utilisateur·rice et le compte root ont accès à ce répertoire.

Si ce n’est pas déjà fait, ouvrez une fenêtre de terminal et connectez-vous à votre serveur en ssh.

Dans un shell, vous vous trouvez toujours dans un répertoire. Ce répertoire est appelé répertoire courant ou répertoire de travail (working directory). En principe, lorsque vous ouvrez une session avec ssh, vous vous trouvez dans votre répertoire personnel. Pour vous en assurer, utilisez la commande pwd (print working directory). Tapez la commande et pressez la touche entrée (⏎) pour l’exécuter.

1
pwd
Fig. 3 – Print working directory

La commande devrait vous renvoyer /home/admin.

Tapez maintenant la commande suivante pour vous rendre à la racine du système de fichier :

1
cd /
Fig. 4 – Aller à la racine

Lorsque vous y êtes (utilisez la commande pwd pour vous en assurer), lancez la commande ls (list) pour en afficher le contenu. Lancez ensuite la commande avec l’option -l : ls -l. Puis avec les options -al : ls -al. et observez la différence.

Vous pouvez ensuite utiliser la commande clear pour vider l’écran.

Pour revenir dans votre répertoire personnel, lancez la commande cd /home/admin. Vous pouvez également utiliser le raccourci cd ~ (le tilde ~ représente le chemin du répertoire personnel). Enfin, dans certains cas, on peut encore lancer la commande sans arguments cd.

Dans votre répertoire personnel, lancez les commandes ls -l et ls -al et notez la différence.

Chemin relatif et absolu

Quand on spécifie le nom d’un répertoire pour une commande, il a deux manières de le faire. On peut spécifier soit :

  • Un chemin absolu en partant de la racine
  • Un chemin relatif en partant du répertoire de travail

Dans l’arbre (structure hiérarchique) représenté dans la figure 5, le chemin en rouge est un chemin absolu (il part de la racine /) que l’on peut noter « /A/C/G ». Les deux chemins en vert sont des chemins relatifs. Dans les deux cas, le chemin peut être noté « ../../E/I », où « .. » est un nom de répertoire spécial qui fait référence au répertoire parent. Mais le point répertoire d’arrivée dépend du point de départ. Dans le premier cas, le premier « .. » référence D, le parent de H; le second « .. » référence B, le parent de D. Dans le deuxième cas, les « .. » référencent, respectivement, Y et X, le parent et le grand-parent de Z.

Chemin absolut et chemin relatif
Fig. 5 – Chemin absolu et chemin relatif

Voyons ce que cela donne dans le shell. Pour aller dans votre répertoire personnel en spécifiant son chemin absolu, vous utilisez la commande suivante :

1
cd /home/admin
Fig. 6 – Aller dans son répertoire personnel avec un chemin absolu

L’avantage du chemin absolu est qu’on peut se rendre dans ce répertoire avec cette commande, quel que soit le répertoire de travail. La commande est indépendante du contexte.

Pour utiliser un chemin relatif, il est important de bien comprendre ce que représentent les noms de répertoire spéciaux :

  • . : Représente le répertoire de travail
  • .. : Représente le répertoire parent

Si vous lancez la commande cd .., le nouveau répertoire de travail est le répertoire parent de l’ancien. Rendez-vous dans votre répertoire personnel comme précédemment, puis lancez la commande cd ... Utilisez la commande pwd pour afficher le répertoire de travail. Vous devriez vous trouver dans le répertoire /home.

Pour vous rendre dans votre répertoire personnel depuis là, vous pouvez lancer la commande cd admin ou cd ./admin. Essayez.

Depuis là, nous pouvons nous rendre dans le répertoire /var/log avec la commande cd ../../var/log. Bien sûr, ce n’est pas très malin d’utiliser un chemin relatif qui passe par la racine, mais cela illustre le principe.

Dans les systèmes POSIX, pour lancer l’exécution d’un fichier exécutable, il est nécessaire de spécifier le chemin de ce fichier. Si on veut lancer l’exécution d’un fichier qui se trouve dans le répertoire de travail, il suffit d’ajouter ./ devant le nom du fichier. Ainsi, on indique que le chemin du fichier est celui du répertoire de travail.

Structure de répertoires des systèmes POSIX

De manière générale, en tant qu’utilisateur·rice, vous ne devez créer, modifier ou supprimer des répertoires et des fichiers que dans votre répertoire personnel (home directory).

En tant qu’administrateur·rice du système, vous pouvez également être amené·e à créer, modifier ou supprimer des fichiers et des répertoires dans les répertoires ci-dessous.

Nom Contenu
/root les données personnelles du compte root.
/etc les fichiers de configurations des applications
/opt les applications installées manuellement
/var les fichiers de données des applications

Les fichiers et les répertoires qui se trouvent dans les répertoires ci-après ne devraient, en principe, pas être gérés manuellement, sauf dans des cas exceptionnels.

Nom Contenu
/bin, /sbin les programmes essentiels du système.
/usr les applications et programmes non essentiels

Le nom répertoire /usr est très souvent interprété comme « user system resources ». Le logiciel qui s’y trouve est en principe installé de manière automatique à l’aide d’un gestionnaire de paquet.

Quoi qu’il en soit,en dehors du répertoire personnel, il est important d’agir avec la plus grande prudence.

Enfin, même si cette comparaison à des limites, on peut tenter de faire un parallèle entre les répertoire de Windows et ceux des systèmes POSIX :

POSIX Windows
/etc Base de registre
/opt, /usr \Program Files
/bin, /sbin \Windows et \Windows\System32
/var \ProgramData et journaux d’événements
/home \Users

Créer et supprimer des répertoires et des fichiers (mkdir, rmdir, rm, touch)

Assurez-vous d’être dans votre répertoire personnel avec la commande pwd et si ce n’est pas le cas, allez-y. Puis lancez la commande ci-après pour créer un répertoire en utilisant un chemin relatif.

1
mkdir dir1
Fig. 7 – Créer un répertoire

Utiliser la commande ls pour vérifier que le répertoire a bien été créé. Vous pouvez aussi vous déplacer dans le répertoire et revenir.

Pour supprimer ce répertoire, revenez dans votre répertoire de travail et lancez la commande suivante :

1
rmdir dir1
Fig. 8 – Supprimer un répertoire

Il est également possible de créer plusieurs répertoires imbriqués en une seule opération avec l’option -p :

1
mkdir -p dir1/dir2/dir3/dir4
Fig. 9 – Créer des répertoires imbriqués

Utilisez les commandes cd et ls pour vous assurer que les quatre répertoires ont bien été créés.

Revenez dans votre répertoire personnel et essayez de supprimer le répertoire test1 comme nous l’avons fait précédemment.

La commande échoue avec le message :

1
rmdir: failed to remove 'test1': Directory not empty
Fig. 10 – Échec de la suppression d'un répertoire non vide

La commande rmdir ne peut supprimer qu’un répertoire vide. Si le répertoire n’est pas vide, on peut utiliser un autre commande, plus puissante, mais également plus dangereuse :

1
rm -rf dir1
Fig. 11 – Suppression récursive

Attention : Il est important d’user de la plus grande prudence lorsque l’on utilise la commande rm avec les options -rf (recurse et force), car elle peut supprimer un très grand nombre de fichiers très rapidement et de manière irrémédiable (il n’est en principe pas possible de récupérer des fichiers supprimés). Avec des privilèges root, cette commande peut facilement rendre le système inutilisable.

Pour créer un fichier vide, on utilise souvent la commande touch :

1
touch file1
Fig. 12 – Créer un fichier vide

Utilisez la commande ls -l pour voir le fichier et constater que sa taille est de 0.

Enfin pour supprimer un fichier, on utilise la même commande rm que pour supprimer un répertoire non vide, mais sans les options -rf :

1
rm file1
Fig. 13 – Supprimer un fichier

Copier des fichiers et des répertoires (cp)

Pour copier un fichier, on utilise la commande cp. Commencez par créer un fichier et un répertoire :

1
2
mkdir dir1
touch file1
Fig. 14 – Créer un répertoire et un fichier

Puis utilisez la commande cp pour copier le fichier file1 dans le répertoire dir1 sans changer le nom :

1
cp file1 dir1/.
Fig. 15 – Copier un fichier sans changer le nom

On peut également utiliser la commande cp pour copier le fichier sous un nouveau nom :

1
cp file1 dir1/file2
Fig. 16 – Copier un fichier sous un nouveau nom

Le répertoire dir1 devrait maintenant contenir deux fichiers. Utilisez la commande ls dir1 pour vous en assurer. La commande cp permet également de copier plusieurs fichiers en une seule opération :

1
2
mkdir dir2
cp dir1/file* dir2
Fig. 17 – Copier des fichiers correspondant à un motif

L’astérisque * est un métacaractère (wildcard) qui permet de créer des motifs de nom de fichier. Le nom file* représente n’importe quel nom de fichier (ou de répertoire) qui commence par file, pour nous file1 et file2.

L’option -R (attention à la majuscule), on peut également copier un répertoire et tout son contenu, y compris des sous-répertoires :

1
cp -R dir1 dir2
Fig. 18 – Copier un répertoire et son contenu de manière récursive

Déplacer et renommer des fichiers et des répertoires (mv)

Commencez par supprimer les fichiers et les répertoires que vous avez créés dans la section précédente avec la commande suivante :

1
rm -rf /home/admin/*
Fig. 19 – Supprimer le contenu du répertoire personnel (à l'exception des fichiers cachés)

L’astérisque représente ici tous les fichiers et répertoires contenus dans votre répertoire personnel, à l’exception des fichiers cachés (fichiers dont le nom commence par un point).

Pour déplacer un fichier, on utilise la commande mv (move). Commencez par créer à nouveau un répertoire et un fichier :

1
2
mkdir dir1
touch file1
Fig. 20 – Créer un répertoire et un fichier

Puis utilisez la commande mv pour déplacer le fichier dans le répertoire.

1
mv file1 dir1
Fig. 21 – Déplacer un fichier

La commande mv permet également de déplacer un répertoire. Rendez-vous dans votre répertoire de travail et créez un nouveau répertoire dir2 :

1
mkdir dir2
Fig. 22 – Créer un nouveau répertoire

Puis déplacez le répertoire dir1 dans ce nouveau répertoire avec la commande :

1
mv dir1 dir2
Fig. 23 – Déplacer un répertorie

La commande mv peut également être utilisée pour renommer un fichier ou un répertoire. Par exemple, pour changer le nom de dir2 en dir3, on exécute la commande :

1
mv dir2 dir3
Fig. 24 – Renommer un répertoire

Afficher le contenu de fichier (file, cat, head, tail, less)

Puisque nous sommes dans une interface en ligne de commande, également appelé interface en « mode texte », on peut sans difficulté visualiser le contenu de fichier de texte.

Pour cet exercice, nous allons utiliser différentes commandes pour afficher le contenu du journal d’événement du système : le fichier /var/log/syslog

Pour commencer, nous allons utiliser la commande file pour déterminer le type de fichier et nous assurer qu’il s’agit bien d’un fichier de texte.

1
file /var/log/syslog
Fig. 25 – Déterminer le type du fichier

Oops ! Le système nous répond que nous n’avons pas la permission de lire ce fichier. En effet, la consultation du journal d’événement est une tâche d’administration. Voilà, un cas où nous avons besoin d’une élévation de privilège avec la commande sudo (super user do).

1
sudo file /var/log/syslog
Fig. 26 – Déterminer le type du fichier avec sudo

La commande nous répond qu’il s’agit d’un fichier « ASCII texte ». Nous pouvons donc essayer d’afficher son contenu avec la commande cat. Comme nous n’avons pas la permission de lire le fichier en tant qu’utilisateur·rice, nous devons, là encore, utiliser la commande sudo.

1
sudo cat /var/log/syslog
Fig. 27 – Affiche la totalité du contenu du fichier syslog

La totalité du fichier s’affiche à l’écran. Toutefois, lorsque l’on affiche un journal d’événement, on a souvent besoin d’afficher uniquement la fin, ou les n dernières lignes. Dans d’autres cas, on peut vouloir afficher uniquement le début d’un fichier de texte. Par exemple, pour afficher l’entête d’un fichier qui contient du code source.

Pour cela, on dispose de deux commandes tail et head; la première, pour afficher la fin du fichier, et la seconde, pour afficher le début. Exécutez les commandes suivantes une à une et observez l’effet.

1
2
3
4
sudo tail /var/log/syslog
sudo head /var/log/syslog
sudo tail -n 2 /var/log/syslog
sudo head -n 4 /var/log/syslog
Fig. 28 – Afficher le début ou la fin d'un fichier

Sans argument, la commande tail affiche les 20 dernières lignes et la commande head les 10 premières. On peut spécifier le nombre de lignes à afficher avec l’option -n.

Une autre commande permet de lire le contenu d’un fichier texte. Il s’agit de la commande less. Cette commande permet d’afficher le contenu d’un fichier page par page. Elle offre en outre la possibilité de rechercher un mot dans le texte.

1
sudo less /var/log/syslog
Fig. 29 – Afficher le début ou la fin d'un fichier

Cette commande est modale, c’est-à-dire que lorsqu’elle est exécutée, les caractères que vous tapez ne sont plus interprétés par le shell, mais par la commande elle-même. Vous pouvez avancer ou reculer d’une ligne avec les touches fléchées ou avec les touches e et y. Pour avancer d’une page, vous pouvez presser la barre d’espace ou la touche f. Pour reculer d’une page, pressez la touche b. Pour rechercher un mot, tapez / puis le mot à rechercher et la touche entrée (⏎). Pressez n pour rechercher la prochaine occurrence vers l’avant, ou N pour rechercher vers l’arrière. Enfin, pressez q ou Q pour quittez less.

Obtenir des informations sur les partitions

Comme nous l’avons déjà dit, le système de fichier des systèmes POSIX (Linux, Unix, BSD) n’a qu’une seule racine. Cela ne signifie pas qu’il n’y a qu’une seule partition, mais que les différentes partitions sont « montée » à différents endroits dans la hirarchie.

On peut connaitre l’état des différentes partitions et leur point de montage avec la commande df. Par défaut, la commande affiche la taille, l’espace utilisé et l’espace libre en blocs. Avec l’option -h, ceux-ci sont affichés dans un format plus lisible.

1
df -h
Fig. 30 – Afficher le début ou la fin d'un fichier

Les partitions qui portent la mention tmpfs sont des systèmes de fichiers temporaires, c’est-à-dire que tout ce qui est créé dans ces systèmes de ficher disparait à l’arrêt du système. Le plus souvent les tmpsfs sont créés dans la mémoire et on ne les utilise pas directement.

La partition /dev/sda2 est montée sur le répertoire /boot. C’est la partition de l’UEFI ou du boot loader (GRUB).

Enfin la partition qui contient nos fichiers est /dev/mapper/ubuntu--vg-ubuntu--lv qui est montée à la racine. Cette partition n’est pas une partition physique, mais une partition logique créée avec LVM. On peut voir que l’espace libre correspond à environ 12G.

Connaitre la taille d’un répertoire

Pour connaître la taille d’un répertoire, on utilise la commande du. Si on exécute cette commande sans argument dans un répertoire, elle parcourt toute la hiérarchie qui se trouve en dessous du répertoire de travail, pour en calculer la taille, et affiche la taille de tous les répertoires qu’elle trouve. On dit que la commande parcourt le répertoire récursivement.

Pour afficher la taille d’un répertoire particulier, on utilise l’option -d 0 suivie du nom du répertoire. Avec l’option -d, la commande parcourt toujours toute la hiérarchie de répertoire pour calculer la taille, mais elle n’affiche les répertoires qu’elle parcourt que jusqu’à la profondeur spécifiée. Par exemple, avec une profondeur maximale de 1, la commande n’affiche que les enfants, avec une profondeur maximale de 2, les enfants et les petits-enfants, etc. Avec une profondeur de 0, la commande n’affiche que le répertoire passé en argument.

1
du -d 0 /home/admin
Fig. 31 – Afficher la taille d'un répertoire

Là encore, par défaut la taille est indiquée en blocs. Pour l’afficher en unité plus lisible pour nous autre, on ajoute l’option -h.

1
du -h -d 0 /home/admin
Fig. 32 – Afficher la taille d'un répertoire (human readable)

Éditer des fichiers de texte

Pour finir, l’édition de fichier de texte est une activité essentielle qui doit pouvoir être réalisée dans une interface en ligne de commande. Les éditeurs de textes les plus courants sont :

  • nano
  • vi ou vim

L’utilisation de nano est assez intuitive et ne nécessite pas d’apprentissage particulier. La seule chose à connaître est que dans le menu, le signe ^ représente la touche Ctl (control). Par exemple, ^X représente la combinaison de touches Ctr-X.

La seconde option est un peu plus difficile à maîtriser, mais elle est aussi beaucoup plus puissante. Si vous le souhaitez, nous vous invitons à prendre un peu de temps pour découvrir vim en utilisatant le tutoriel intégré. Pour lancer le tutoriel, exécutez simplement la commande vimtutor.

Conclusion

Avec cette activité, vous avez acquis quelques bases pour utiliser un système avec une interface en ligne de commande. Il est important de beaucoup pratiquer et de faire preuve de curiosité pour progresser dans ce domaine. La maîtrise des interfaces en ligne de commande est une compétence clé dans tous les domaines de l’informatique.