
Linux : les bases pour une prise en main rapide et efficace
Apprenez Linux rapidement ! Ce cours pour débutants vous rend opérationnel sur la ligne de commande, la gestion de fichiers et l'administration de base. Idéal pour une prise en main efficace.
Table des matières
- Découverte de Linux et première immersion
- Les fondations : la ligne de commande et le système de fichiers
- La ligne de commande (Shell) : votre principal outil
- Naviguer dans le système de fichiers
- Gérer les fichiers et répertoires
- Création : `mkdir` (répertoires), `touch` (fichiers vides ou mise à jour du timestamp)
- Copie, déplacement, suppression : `cp`, `mv`, `rm`, `rmdir` (et l'option `-r` avec prudence)
- Affichage du contenu : `cat`, `less`, `more`, `head`, `tail`
- Exemple concret 1 : Créer une arborescence de projet simple (ex: `mon_projet/src`, `mon_projet/docs`)
- Comprendre et gérer les permissions de fichiers
- Les droits : lire (r), écrire (w), exécuter (x) pour l'utilisateur (owner), le groupe, et les autres
- Visualiser les permissions et le propriétaire avec `ls -l`
- Modifier les permissions avec `chmod` (modes octal et symbolique de base)
- Changer le propriétaire et le groupe avec `chown` et `chgrp` (introduction)
- Exemple concret 2 : Rendre un script personnel exécutable
- Processus et outils essentiels pour l'administration de base
- Gestion des utilisateurs et des groupes (notions de base)
- Processus : installer et gérer des logiciels
- Les gestionnaires de paquets : rôle et avantages (ex: `apt` pour Debian/Ubuntu, `dnf`/`yum` pour Fedora/RHEL)
- Séquence d'actions : mettre à jour la liste des paquets, rechercher, installer, mettre à jour et supprimer un paquet
- Exemple concret 3 : Installer un utilitaire pratique (ex: `htop` ou `tree`) et un serveur web simple (ex: Nginx)
- Les outils essentiels du quotidien
- Le terminal (Bash) : récapitulatif, historique des commandes, auto-complétion (Tab)
- Un éditeur de texte en ligne de commande : `nano` (prise en main rapide) et introduction à `vim` (ouvrir, modifier, sauvegarder, quitter)
- Visualiser l'utilisation des ressources : `top` ou `htop`, `df`, `du`, `free`
- Rechercher des fichiers et du texte : `find` (bases), `grep` (bases)
- Gérer les défis, erreurs courantes et bonnes pratiques
- Anticiper et résoudre les problèmes fréquents des débutants
- Erreur "Commande non trouvée" : vérifier le `PATH` (concept), les erreurs de frappe et l'installation du paquet
- Erreur "Permission non accordée" : vérifier les droits du fichier/répertoire et l'utilisation correcte de `sudo`
- Problèmes de dépendances lors de l'installation de logiciels (rôle du gestionnaire de paquets)
- Où chercher de l'aide ? Logs système de base (ex: `/var/log/apt/history.log`), forums, documentation officielle
- Bonnes pratiques fondamentales pour un usage serein et efficace
- Utiliser `sudo` avec discernement : ne pas travailler en `root` en permanence
- Comprendre l'importance des mises à jour régulières du système (`sudo apt update && sudo apt upgrade`)
- Nommer ses fichiers et répertoires de manière claire et cohérente (éviter les espaces et caractères spéciaux)
- Organiser ses fichiers personnels et ses projets
- Introduction à la redirection et aux tubes (`>`, `>>`, `|`) pour combiner des commandes
- Anticiper et résoudre les problèmes fréquents des débutants
- Mise en pratique guidée pour consolider les acquis
- Exercice 1 : Configuration d'un environnement web local simple
- Exercice 2 : Manipulation de fichiers et écriture d'un premier script shell simple
- Objectif : Créer un script qui sauvegarde quelques fichiers de configuration importants
- Etapes guidées : Créer un répertoire `mes_sauvegardes`, écrire un script `sauvegarde.sh` utilisant `cp` pour copier 2-3 fichiers (ex: `/etc/hosts`, un fichier de votre `/home`), rendre le script exécutable et le tester
- Prochaines étapes et ressources pour aller plus loin
- Introduction à la gestion des services avec `systemctl` (démarrer, arrêter, vérifier le statut)
- Les bases du réseau sous Linux (visualiser son IP avec `ip addr`, tester la connectivité avec `ping`)
- Pistes pour approfondir : scripting shell avancé, conteneurisation (Docker), administration serveur plus poussée, exploration d'autres distributions