Aller au contenu principal

Découvrir Linux

Objectif de la séance

Dans cette séance, nous allons découvrir les bases de Linux, un système d'exploitation puissant et polyvalent.

Nous allons apprendre comment naviguer dans le terminal, exécuter des commandes et manipuler des fichiers et des répertoires.

À la fin de cette séance, vous serez en mesure de vous déplacer dans la structure de fichiers de Linux et d'exécuter des commandes de base.

A partir de maintenant, nous considérons que vous êtes connectés au serveur Linux via le protocole SSH, et que vous avez défini un mot de passe sécurisé.

Notions théoriques

Qu'est-ce que Linux ?

Linux est un système d'exploitation open-source basé sur le noyau Linux. Il est utilisé dans de nombreux domaines, notamment les serveurs, les ordinateurs personnels et les appareils mobiles.

Contrairement à Windows, Linux est principalement utilisé en ligne de commande, ce qui signifie que vous interagissez avec le système via un terminal.

Le noyau

Le "noyau" est le cœur du système d'exploitation Linux. Il gère les interactions entre le matériel de l'ordinateur et les logiciels qui s'exécutent dessus.

astuce

noyau en anglais se dit kernel.

Le terminal

Le noyau est entouré d'une coquille, le "shell" appelé aussi "terminal".

Le terminal est une interface en ligne de commande qui vous permet d'interagir avec le système d'exploitation. Il vous permet d'exécuter des commandes pour effectuer différentes tâches.

Pour ouvrir le terminal, vous pouvez utiliser :

  • Sous Windows, la suite de touches Windows puis cmd puis Entrée ou rechercher "Invite de comandes" dans le menu 'Démarrer'.
  • Sous Linux, la combinaison de touches Ctrl + Alt + T ou rechercher "Terminal" dans le menu des applications.
astuce

coquille en anglais se dit shell.

L'arborescence des répertoires

Debian, comme d'autres systèmes d'exploitation basés sur Unix, organise ses fichiers et répertoires de manière hiérarchique.

Cette structure est souvent appelée "arborescence des répertoires".

L'arborescence des répertoires de Linux commence par la racine, notée "/", et se ramifie en de nombreux sous-répertoires.

  1. Le répertoire racine ("/")

    Le répertoire racine est le point de départ de l'arborescence des répertoires. Il contient tous les autres répertoires du système.

  2. Répertoires importants sous la racine

    • /bin : Contient les exécutables binaires essentiels pour le fonctionnement du système, accessibles à tous les utilisateurs.
    • /boot : Contient les fichiers nécessaires au démarrage du système.
    • /etc : Contient les fichiers de configuration du système.
    • /home : Contient les répertoires personnels des utilisateurs.
    • /lib : Contient les bibliothèques partagées et les modules du noyau.
    • /opt : Utilisé pour l'installation de logiciels tiers.
    • /tmp : Utilisé pour le stockage temporaire de fichiers.
    • /usr : Contient les applications et fichiers utilisés par les utilisateurs.
    • /var : Contient des fichiers dont le contenu est susceptible de changer fréquemment (logs, spool de mails, etc).
  3. Répertoires spécifiques aux utilisateurs (/home/[nom_utilisateur])

    Chaque utilisateur a un répertoire personnel situé dans /home. Il contient des sous-répertoires comme :

    • Documents : Pour le stockage de documents.
    • Downloads : Pour le stockage des téléchargements.
    • Pictures : Pour le stockage des images.
    • Desktop : Pour le stockage des fichiers et des raccourcis présents sur le bureau.

Lorsque vous travaillez avec Linux, vous êtes constamment en train de naviguer dans la structure de fichiers.

info

Un répertoire contient des fichiers.

  • Le répertoire personnel de l'utilisateur est représenté par le caractère ~.
  • Le répertoire personnel de l'utilisateur sio est /home/sio/.

Pour se déplacer dans son répertoire personnel, on peut utiliser :

  • la commande cd ~.
  • ou la commande cd.

Répertoire et dossier sont des synonymes.

Voici quelques commandes de base pour vous déplacer :

  • la commande pwd : Affiche le répertoire de travail actuel.
  • la commande cd suivie du nom du répertoire : Change le répertoire de travail.
  • la commande ls : Liste les fichiers et les répertoires dans le répertoire actuel.

Manipuler les fichiers et les répertoires

Linux vous permet de créer, copier, déplacer et supprimer des fichiers et des répertoires.

Voici quelques commandes utiles :

  • mkdir : Crée un nouveau répertoire.
  • touch : Crée un nouveau fichier.
  • cp : Copie un fichier ou un répertoire.
  • mv : Déplace ou renomme un fichier ou un répertoire.
  • rm : Supprime un fichier ou un répertoire.
astuce

Les commandes Linux acceptent généralement des arguments.

C'est le cas par exemple de la commande ls qui est très utilisée avec l'argument -l et l'argument -a.

ls -l -a affiche les détails de tous les fichiers et dossiers dans un répertoire :

  • -l : affiche les détails des fichiers et dossiers (type de fichier, permissions, propriétaire, groupe, taille, etc)
  • -a : affiche tous les fichiers et dossiers qui sont cachés, c'est à dire qui commencent par un point (.)

Quand plusieurs arguments sont utilisés, on peut saisir qu'un seul tiret - et l'ordre des arguments n'est pas important.

ls -l -a est équivalent à ls -la est équivalent à ls -al

La commande echo

La commande echo est l'une des commandes les plus courantes en Linux.

Elle permet d'afficher des chaînes de caractères ou de rediriger du texte vers un fichier. S

on utilisation est très simple, mais elle est essentielle pour de nombreux scripts et opérations en ligne de commande.

Utilisation de base

La syntaxe de base de la commande echo est :

echo [options] "texte à afficher"
  • Par exemple, pour afficher "Bonjour le monde !", tapez :
    echo "Bonjour le monde !"

Cela affichera simplement :

Bonjour le monde !

Options utiles

  1. -n : Supprime le saut de ligne final. Par défaut, echo ajoute un retour à la ligne après le texte.

    echo -n "Bonjour le monde !"
    • Sortie : Bonjour le monde ! (sans saut de ligne final)
  2. -e : Active l'interprétation des séquences d'échappement spéciales, permettant d'utiliser des caractères spéciaux comme \n pour une nouvelle ligne, \t pour une tabulation, etc.

    echo -e "Bonjour\nle monde !"
    • Sortie :
      Bonjour
      le monde !

Redirection vers un fichier

La commande echo est souvent utilisée pour écrire dans des fichiers via des opérateurs de redirection.

  • > : Crée ou écrase un fichier avec le contenu spécifié.

    echo "Ligne 1" > fichier.txt
    • Résultat : Écrit "Ligne 1" dans fichier.txt (en remplaçant tout contenu existant).
  • >> : Ajoute du contenu à un fichier sans l'effacer.

    echo "Ligne 2" >> fichier.txt
    • Résultat : Ajoute "Ligne 2" en bas de fichier.txt.

Exemples pratiques

  1. Créer un fichier de configuration simple :

    echo "export PATH=\$PATH:/mon/nouveau/chemin" > ~/.bash_profile

    Cette commande ajoute un chemin au fichier .bash_profile dans le répertoire personnel de l’utilisateur.

  2. Insérer plusieurs lignes de texte dans un fichier :

    echo -e "Première ligne\nDeuxième ligne" > fichier.txt

    Cela crée un fichier avec deux lignes de texte.

Pourquoi utiliser echo ?

  • Affichage rapide de messages : echo est souvent utilisé dans les scripts pour afficher des messages, informer l’utilisateur de l’état d’exécution d’une commande ou du résultat d’une opération.
  • Création et modification de fichiers : En redirigeant sa sortie, echo permet de facilement écrire dans des fichiers, que ce soit pour créer des fichiers texte, des fichiers de configuration, ou pour appendre des données à des journaux (logs).
  • Manipulation de données dans les scripts : echo peut envoyer des données à d'autres commandes ou programmes, en facilitant l’automatisation de nombreuses tâches.

Exemple complet : script utilisant echo

#!/bin/bash
echo "Début du script."
echo "Nom d'utilisateur : $USER"
echo "Fichiers dans le répertoire actuel :"
ls
echo "Fin du script."

Ce script simple utilise echo pour afficher des messages tout au long de l’exécution du script.

Exemple pratique

Supposons que vous souhaitez :

  • créer un répertoire appelé "mon_projet" à l'intérieur de votre répertoire personnel.
  • créer un un fichier appelé "index.html" à l'intérieur du répertoire "mon_projet".

Voici comment vous pouvez le faire en utilisant les commandes que nous venons d'apprendre :

  1. Déplacez-vous dans votre répertoire personnel en utilisant la commande :
    cd
  2. Vérifiez que vous êtes dans le répertoire de travail souhaité en utilisant la commande :
    pwd
  3. Créez un nouveau répertoire en utilisant la commande :
    mkdir mon_projet
  4. Déplacez-vous dans le nouveau répertoire en utilisant la commande :
    cd mon_projet
  5. Créez un nouveau fichier "index.html" en utilisant la commande :
    touch index.html
  6. Vérifiez que le fichier a bien été créé en utilisant la commande :
    ls

Maintenant, vous avez créé avec succès un répertoire "mon_projet" contenant un fichier "index.html".

Test de mémorisation/compréhension


Quelle commande permet d'afficher le répertoire de travail actuel ?


Quelle commande permet de créer un nouveau répertoire ?


Quelle commande permet de créer un nouveau fichier ?


Quelle commande permet de se déplacer dans un répertoire ?


Quelle commande permet de supprimer un fichier ou un répertoire ?


Les fichiers et dossiers cachés sont ceux dont le nom commence par


La commande 'ls -la' et la commande 'ls -al' sont


Le répertoire personnel de l'utilisateur est représenté par


Le répertoire personnel de l'utilisateur sio est


Quel est le répertoire racine dans un système Debian ?


Où sont généralement stockés les fichiers de configuration du système ?


Quel répertoire contient les répertoires personnels des utilisateurs ?


Quel répertoire est utilisé pour le stockage temporaire de fichiers ?


Quelle est la sortie de la commande suivante ? `echo -n "Bonjour" && echo "le monde"`


Quelle commande permet d'ajouter une nouvelle ligne au fichier `journal.txt` sans écraser son contenu actuel ?


Quelle option de la commande `echo` permet d’interpréter les séquences d’échappement, telles que les nouvelles lignes ?


Que se passe-t-il si vous exécutez la commande suivante : `echo "export PATH=\$PATH:/usr/local/bin" > ~/.bash_profile` ?


La commande `echo -e "Première ligne\nDeuxième ligne"` affiche :


Que permet d'obtenir la commande `echo -n "Hello" > fichier.txt` ?


Que produit la commande suivante ? `echo "Bonjour" > fichier.txt && echo "le monde" >> fichier.txt`


Pour ajouter un retour de chariot et une tabulation dans un texte en utilisant `echo`, quelles séquences faut-il utiliser ?


Que permet la commande suivante : `echo "$USER"` ?


Quelle commande permet de réinitialiser l'affichage du contenu d'un fichier tout en écrivant une chaîne spécifique ?



TP pour réfléchir et résoudre des problèmes

Maintenant que vous avez appris les bases de la navigation, de la manipulation des fichiers et des répertoires dans Linux, nous allons mettre en pratique vos nouvelles compétences.

Objectif du TP

L'objectif de ce TP est de créer une structure de fichiers pour notre futur serveur de partage de fichiers. Vous allez créer un répertoire principal appelé "partage" et y ajouter des sous-répertoires pour différentes catégories de fichiers.

Instructions

Suivez les étapes ci-dessous pour réaliser le TP :

  1. Déplacez-vous dans votre répertoire personnel.
  2. Créez un nouveau répertoire appelé "partage".
  3. Déplacez-vous dans le répertoire "partage".
  4. Créez les sous-répertoires suivants :
    • "documents"
    • "images"
    • "musique"
    • "videos"
  5. Vérifiez que les répertoires ont bien été créés.
astuce

N'oubliez pas, la pratique est la clé pour maîtriser une nouvelle compétence. Donc, si vous n'avez pas réussi du premier coup, ne vous découragez pas et essayez à nouveau.

Une solution