Information

Deadline Geen deadline
Submission limit No limitation

Tags

Sign in

[1.1] Les environnements Unix-based [Obligatoire]

Pour ce cours, vous allez avoir besoin d'un environnement Unix-based comme WSL (sur Windows), macOS ou Linux. La plupart des cours utiliseront des fonctionnalités spécifiques à ces environnements car ils ont une meilleure documentation et une manière de fonctionner plus intuitive pour les débutants que les environnements Windows-based.

Le terminal

Un des outils les plus importants dans un environnement Unix-based est le terminal. C'est un programme qui permet d'exécuter des programmes sans interface graphique. Si vous êtes sur Windows, il existe aussi le terminal PowerShell que vous aurez besoin d'utiliser au tout début pour installer WSL. Cependant, une fois WSL installé, vous pourrez utiliser un terminal Unix-based.

Voici un petit résumé de quelques mots clés que vous allez avoir besoin de connaître :

  • Un fichier (ou "file" en anglais) est un ensemble de données stockées sur votre ordinateur. Il peut contenir du texte, une image, une vidéo, un programme, etc. Vous pouvez le voir comme si c'était un document papier mais en version numérique. Un fichier a un nom et une extension, comme "document.txt" où ".txt" est l'extension qui indique que c'est un fichier texte.
  • Un répertoire (ou "directory" en anglais) est un conteneur qui peut contenir des fichiers et d'autres répertoires. Il permet d'organiser les fichiers sur votre ordinateur. Vous pouvez le voir comme une farde qui permet de regrouper au même endroit vos documents papier ayant un lien entre eux mais en version numérique. Un dossier a également un nom mais il n'a pas d'extension.
  • Un chemin d'accès (ou "path" en anglais) est du texte qui indique l'emplacement d'un fichier ou d'un répertoire sur votre ordinateur. Vous pouvez le voir comme l'emplacement d'un document papier dans une farde, comme Farde "Administratif" > Intercalaire "Factures" > Document "Facture 1". Dans un environnement Unix-based, un exemple de chemin d'accès serait /home/utilisateur/documents/mon_fichier.txt avec des barres obliques (/) pour séparer les répertoires.

Voici aussi quelques commandes de base que vous allez utiliser dans le terminal :

  • ls : Liste les fichiers et répertoires dans le répertoire courant.
  • cd : Change le répertoire courant.
  • mkdir : Crée un nouveau répertoire.
  • touch : Crée un nouveau fichier vide.
  • rm : Supprime un fichier.
  • rmdir : Supprime un répertoire vide.
  • mv : Déplace ou renomme un fichier ou un répertoire.
  • cp : Copie un fichier ou un répertoire.
  • sudo : Permet d'exécuter une commande avec les privilèges de root.
  • apt / brew: Gestionnaire de paquets pour installer, mettre à jour et supprimer des logiciels.
  • man : Affiche le manuel d'une commande.
Informations supplémentaires

Pour en savoir plus sur une commande quand vous êtes dans le terminal, vous pouvez essayer d'ajouter l'argument -h ou --help à la commande.

Exemple:

ls -h  # Affiche l'aide de la commande ls

Installation

Voici les quelques étapes à suivre pour installer et configurer un environnement Unix-based en fonction de votre système d'exploitation :

ATTENTION!
La commande sudo va vous demander votre mot de passe mais il ne sera pas affiché à l'écran quand vous allez l'écrire !

Windows

C'est sur Windows qu'il y a le plus de choses à faire car ce n'est pas un système d'exploitation Unix-based et donc il faut ajouter une couche de compatibilité nommé WSL.

  1. Installez WSL en suivant les instructions de la documentation officielle
  2. Une fois WSL installé, ouvrez un terminal WSL avec la commande wsl dans PowerShell et mettez à jour les paquets :
sudo apt update  # Met à jour la liste des paquets disponibles avec les privilèges de root
sudo apt upgrade  # Met à jour tous les paquets installés vers leur version la plus récente avec les privilèges de root
  1. Installez le package build-essential qui sont les outils nécessaires pour développer :
sudo apt install build-essential  # Installe les outils de développement (Make, GCC, ...)

Linux (Debian-based)

Linux est déjà un système d'exploitation Unix-based, il faut donc juste installer les outils nécessaires pour développer.

  1. Ouvrez un terminal et mettez à jour les paquets :
sudo apt update  # Met à jour la liste des paquets disponibles avec les privilèges de root
sudo apt upgrade  # Met à jour tous les paquets installés vers leur version la plus récente avec les privilèges de root
  1. Installez le package build-essential qui sont les outils nécessaires pour développer :
sudo apt install build-essential  # Installe les outils de développement (Make, GCC, ...) avec les privilèges de root

macOS

macOS est également un système d'exploitation Unix-based, mais il faut installer un package manager et les outils nécessaires pour développer.

  1. Installez Homebrew sur le site officiel
  2. Ouvrez un terminal et mettez à jour les paquets :
sudo brew update  # Met à jour la liste des paquets disponibles avec les privilèges de root
sudo brew upgrade  # Met à jour tous les paquets installés vers leur version la plus récente avec les privilèges de root
  1. Installez les packages qui sont les outils nécessaires pour développer :
sudo xcode-select --install  # Installe les outils de développement (Make, ...) avec les privilèges de root
sudo brew install gcc  # Installe un compilateur C (GCC) avec les privilèges de root

Question 1: Changement de répertoire courant

Si je suis dans le répertoire /home/ et que je veux aller dans le répertoire /home/unamur/downloads, quelle commande dois-je utiliser ?

Question 2: Affichage du contenu du répertoire courant

Quelle commande dois-je utiliser pour afficher le contenu du répertoire courant ?