Chapitre 2: Commandes de base

Avant-propos

Nous vous recommandons de ne pas utiliser d’IA pour faire les exercices car vous êtes en phase d’apprentissage.

Introduction

Même s’il existe une multitude de commandes sous Linux, quelques-unes se révèlent indispensables pour profiter pleinement de ce système. Il y a de fortes chances que vous les utiliserez tous les jours.

Prérequis

Info: Si vous n’avez pas d’environnement linux à votre disposition, vous pouvez vous inscrire sur https://killercoda.com et vous rendre ici https://killercoda.com/playgrounds/scenario/ubuntu pour avoir accès à une machine virtuelle sous Ubuntu 24.04 (sans interface graphique bien sûr !!) pendant 1 heure renouvelable gratuitement.

Vous aurez donc cette vue:


Bonus pour la team Killerkoda 👨🏾‍💻👩🏾‍💻:

Vous aurez à présent cette vue:



À la découverte du terminal Linux

Qui dit terminal Linux, dit principalement invite de commande (prompt) et interpréteur de commandes (shell). Mais aussi les commandes.

Exemple de terminal Linux:

  1. L’invite de commande (prompt)
    • C’est la ligne qui indique où vous êtes et qui vous êtes dans le système. Elle peut varier selon la distribution et la configuration, mais elle ressemble souvent à ça :
      Exemple : utilisateur@machine:répertoire$
      • utilisateur : Votre nom d’utilisateur.
      • machine : Le nom de l’hôte (ordinateur).
      • répertoire : Le dossier actuel (ex. ~ pour le dossier personnel).
      • $ : Signe pour un utilisateur standard (# pour root).
  2. L’interpréteur de commandes (shell)
    • Le programme qui exécute les commandes tapées. Le plus courant est Bash (Bourne Again Shell), mais il en existe d’autres comme Zsh, Fish ou Tcsh.
    • Il traduit vos instructions en actions pour le système.
  3. Les commandes
    • Les instructions que vous entrez, comme ls, cd, cat ou encore cowsay, etc. Elles peuvent être :
      • Internes : Intégrées au shell (ex. cd pour changer de répertoire).
      • Externes : Programmes séparés (ex. ls pour lister les fichiers).

L’arborescence du système Linux

L’arborescence du système Linux, c’est comme une grande armoire bien organisée avec plein de tiroirs et de dossiers. C’est la façon dont les fichiers et les répertoires sont structurés dans un système Linux. Tout commence à partir d’un point unique qu’on appelle la racine, notée simplement par un slash ” / “. À partir de là, tout s’organise en branches, comme un arbre (d’où le nom “arborescence”).

Voici les principaux répertoires et leur rôle:

Ci-dessous une petite illustration:


A tester 👨🏾‍💻👩🏾‍💻:


Info en plus:
Le répertoire “/etc” contient principalement les configurations en rapport avec tout votre système Linux mais il existe aussi un répertoire de configuration appelé “.config” se trouvant généralement dans le répertoire personnel de chaque utilisateur ( /home/username ). Il s’agit d’un répertoire caché contenant des configurations spécifiques pour des applications en fonction de chaque utilisateur.

Comparaison entre l’arborescence Linux et Windows (BONUS)

Comparons l’arborescence de Linux avec celle de Windows, comme si on comparait deux armoires avec des logiques de rangement différentes.

Linux : L’arborescence unifiée (tout part de /)

Sous Linux, tout commence à la racine (/) et s’organise en une seule grande structure. Chaque répertoire a une fonction bien définie :

C’est un système unifié : peu importe où tu installes Linux ou quel disque tu ajoutes, tout est vu comme une branche de cet arbre unique. Par exemple, un disque externe pourrait être monté sous /mnt ou /media.

Windows : Une structure basée sur des lettres de lecteurs

Sous Windows, il n’y a pas une seule racine, mais plusieurs “armoires” séparées, identifiées par des lettres (C:, D:, etc.). Chaque lettre représente un disque ou une partition, et l’organisation est moins standardisée. Voici les équivalents principaux :

Les grandes différences

  1. Racine unique vs lettres multiples :
    • Linux : Tout est connecté à /.
    • Windows : Chaque disque est une île séparée (C:, D:, etc.).
  2. Rôles clairs vs mélange :
    • Linux sépare bien les choses (configs dans /etc, programmes dans /bin).
    • Windows met souvent tout dans C:\Windows ou C:\Program Files, ce qui peut sembler moins structuré.
  3. Chemins :
    • Linux : /home/user/doc.txt.
    • Windows : C:\Users\User\doc.txt, avec des barres inversées (\).

Exemple concret

Imaginons que tu veuilles ranger un fichier perso :

Et si tu branches une clé USB :

En résumé

Linux est comme une grande bibliothèque avec un seul point d’entrée et des rayons bien étiquetés, tandis que Windows est comme plusieurs petites bibliothèques indépendantes, chacune avec son propre système de rangement.

Les commandes de base

Info : Si vous avez l’habitude d’utiliser votre interface graphique pour travailler votre objectif sera de reproduire tout ce que vous savez faire en interface graphique dans le terminal linux (créer/déplacer/copier/supprimer des fichiers/dossiers, créer des raccourcis, se déplacer dans des répertoires/dossiers …)

Commandes de navigation et gestion des fichiers

Commandes d’affichage et manipulation de contenu

Commandes de recherche et filtrage

Commandes d’information système

Commandes de gestion des permissions

Commandes réseau

Commandes utilitaires

Redirections et pipes

Eh bien ! Ça fait une panoplie de commandes. Il faut noter que c’est à force de pratiquer que vous retiendrez ces différentes commandes. De plus, l’option –help et la commande man seront vos meilleurs amis pour savoir comment utiliser une commande.


A tester 👨🏾‍💻👩🏾‍💻:

Entraînement ⚔️

Exercice 1

Exercice 2

Les exercices de cette partie seront sous forme de challenge. Il y aura cinq challenges. Chaque challenge est accessible via un script qu’il faudra exécuter pour débuter.

Ci-dessous un exemple d’exécution:

# On télécharge le script du challenge 1
curl -LO https://raw.githubusercontent.com/N0vachr0n0/NoFD/refs/heads/main/BC_EXO_1.sh

# On le rend exécutable
chmod +x BC_EXO_1.sh

# On l'exécute pour démarrer le challenge
./BC_EXO_1.sh


Exercice 3 (Deep dive)

Exercice 4 (Bonus)

Pour apprendre à maitriser / se familiariser avec l’éditeur de texte vim, nous vous recommandons de passer par vimtutor. Ouvrez votre terminal et tapez vimtutor. Vous aurez un retour similaire à:



Feedback

Faites-nous part de votre avis sur ce chapitre.

👉🏾 Cliquez ici