7 - Introduction à la ligne de commande Linux

 

 

 7.1 - Les commandes utiles

  • ls -l           # Liste détaillée
  • ls -la          # Inclut les fichiers cachés
  • stat fichier    # Toutes les informations détaillées
  • chmod 755 fichier     # Modifier les permissions
  • chown user:group fichier  # Changer propriétaire/groupe
  • umask           # Masque de création par défaut
  • getfacl fichier # ACL (Access Control Lists) avancées

Les systèmes de fichiers Linux offrent une gestion fine et sécurisée des accès, essentielle pour un système multi-utilisateurs !

 

7.2 - Pourquoi utiliser la ligne de commande ?

Sur Windows, vous êtes habitué à tout faire avec la souris : cliquer, glisser-déposer, naviguer dans les menus. Linux offre la même chose avec ses interfaces graphiques, mais la ligne de commande (aussi appelée terminal, console ou shell) dévoile la vraie puissance du système.

Les avantages de la ligne de commande :

  • Rapidité : Une commande qui prend 2 secondes à taper peut remplacer 2 minutes de clics répétitifs.
  • Puissance : Vous pouvez faire des choses impossibles ou très compliquées avec une interface graphique.
  • Automatisation : Vous pouvez enregistrer vos commandes dans des scripts et les réexécuter à l'infini.
  • Précision : Vous contrôlez exactement ce qui se passe, sans approximation.
  • Universalité : Les mêmes commandes fonctionnent sur n'importe quel Linux, que ce soit un PC, un serveur ou un Raspberry Pi.

 

 

7.3 - Ouvrir le terminal

Sur Ubuntu/GNOME : Ctrl + Alt + T

Sur la plupart des distributions : Cherchez "Terminal" dans le menu des applications

Ce que vous voyez : marie@ordinateur:~$

Décryptage :

  • marie : votre nom d'utilisateur
  • ordinateur : nom de votre machine
  • ~ : vous êtes dans votre dossier personnel (/home/marie)
  • $ : invite de commande (devient # quand vous êtes administrateur)

 

 

 7.4 - Les commandes de base

7.4.1 - pwd - Où suis-je ?

Print Working Directory : affiche le répertoire actuel

pwd

Résultat : /home/marie

7.4.2 - ls - Que contient ce dossier ?

List : affiche le contenu d'un répertoire

ls

Résultat : Documents  Images  Musique  Téléchargements  Vidéos

Variantes utiles :

  • ls -l # Affichage détaillé (permissions, taille, date)
  • ls -la # Inclut les fichiers cachés (commencent par un point)
  • ls -lh # Tailles en format lisible (Ko, Mo, Go)
  • ls -lt # Trié par date, le plus récent en premier

 

7.4.3 cd - Se déplacer

Change Directory : changer de répertoire

cd Documents           # Aller dans Documents

cd ..                  # Remonter d'un niveau

cd                     # Retourner à votre dossier personnel

cd /etc                # Aller directement vers /etc

cd ~/Images            # ~ représente votre dossier personnel

  

7.4.4 - cat - Afficher un fichier

Concatenate : affiche le contenu d'un fichier

cat fichier.txt

7.4.5 - mkdir - Créer un dossier

Make Directory

mkdir MonNouveauDossier

mkdir -p Dossier/SousDossier/AutreSousDossier  # Crée toute l'arborescence

 

7.4.6 - cp - Copier

Copy

cp fichier.txt copie.txt                    # Copier un fichier

cp -r Dossier/ CopieDossier/                # Copier un dossier (récursif)

cp *.jpg ~/Images/                          # Copier tous les JPG

 

7.4.7 - mv - Déplacer ou renommer

Move

mv ancien.txt nouveau.txt                   # Renommer

mv fichier.txt ~/Documents/                 # Déplacer

mv *.mp3 ~/Musique/                         # Déplacer tous les MP3

7.4.8 - rm - Supprimer

Remove

ATTENTION : pas de corbeille !

rm fichier.txt                              # Supprimer un fichier

rm -r Dossier/                              # Supprimer un dossier

rm -rf Dossier/                             # Force la suppression (dangereux !)

rm *.tmp                                    # Supprimer tous les .tmp

Ne JAMAIS faire : sudo rm -rf / (détruit tout le système !)

 

 

 7.5 - Les commandes SPECTACULAIRES

7.5.1- GREP - Le chercheur ultra-rapide

grep cherche du texte dans des fichiers. C'est l'outil le plus utilisé sous Linux.

  • Trouver un mot dans un fichier :
    • grep "Linux" article.txt
    • Résultat : Affiche toutes les lignes contenant "Linux"

Chercher dans TOUS les fichiers d'un dossier (récursif)

  • grep -r "mot de passe" ~/Documents/
    • Ce que ça fait : Parcourt instantanément tous vos documents et trouve où apparaît "mot de passe"
    • Équivalent Windows : Impossible aussi rapidement avec la recherche Windows !

Chercher dans des milliers de fichiers simultanément

  • grep -r "erreur" /var/log/
    • Ce que ça fait : Scanne instantanément tous les logs système pour trouver les erreurs.
    • Sur un gros serveur : peut analyser des gigaoctets de données en quelques secondes !

Compter les occurrences

  • grep -c "Linux" article.txt
    • Résultat : Le nombre de fois où "Linux" apparaît

Afficher les numéros de ligne

  • grep -n "TODO" code.py
    • Résultat :
      • 15: # TODO: améliorer cette fonction
      • 42: # TODO: gérer les erreurs
      • 78: # TODO: optimiser
      • Par exemple pour trouver ce qu'il vous reste à faire dans son code !

Recherche insensible à la casse

  • grep -i "linux" article.txt
    • Trouve : Linux, LINUX, linux, LiNuX, etc.

Inverser la recherche (lignes qui NE contiennent PAS le mot)

  • grep -v "commentaire" code.py
    • Affiche : Tout le code SAUF les lignes avec "commentaire"

Combiner avec d'autres commandes (pipes)

  • cat /var/log/syslog | grep "error" | grep -v "ignored"
    • Ce que ça fait :
      • Lit le fichier de logs système
      • Garde seulement les lignes avec "error"
      • Enlève celles qui contiennent "ignored"
    • Résultat : Vous ne voyez que les vraies erreurs importantes !

 

7.5.2 - 2. FIND - Trouver des fichiers à la vitesse de l'éclair

Trouver tous les fichiers PDF

  • find ~ -name "*.pdf"
    • Ce que ça fait : Parcourt votre dossier personnel et liste TOUS les PDF, même dans les sous-sous-sous-dossiers

Trouver les gros fichiers (> 100 Mo)

  • find ~ -size +100M
    • Utilité pratique : Nettoyer votre disque en trouvant ce qui prend de la place

Trouver les fichiers modifiés aujourd'hui

  • find ~ -mtime 0
    • Ce que ça fait : Liste tout ce que vous avez modifié aujourd'hui (parfait pour retrouver où vous avez travaillé)

Trouver ET supprimer en une commande

  • find ~/Téléchargements/ -name "*.tmp" -delete
    • Ce que ça fait : Trouve tous les fichiers temporaires et les supprime automatiquement

Trouver et exécuter une action

  • find ~/Images/ -name "*.jpg" -exec convert {} {}.png \;
    • Ce que ça fait : Trouve tous les JPG et les convertit en PNG automatiquement !

7.5.3 -Pipes et redirections - Enchaîner les commandes

Le symbole | (pipe) envoie le résultat d'une commande vers une autre. C'est une commande puissante de Linux.

Compter le nombre de fichiers dans un dossier

  • ls | wc -l
    • Ce que ça fait :
      • ls liste les fichiers
      • | envoie cette liste vers
      • wc -l qui compte le nombre de lignes

Afficher les 10 plus gros fichiers

  • du -ah ~ | sort -rh | head -10
    • Décryptage :
      • du -ah ~ : liste tous les fichiers avec leur taille
      • sort -rh : trie par taille décroissante
      • head -10 : garde seulement les 10 premiers
    • Résultat : On sait ce qui encombre le disque dur !

Trouver les processus qui consomment le plus de mémoire

  • ps aux | sort -k 4 -r | head -10
    • Ce que ça fait :
      • ps aux : liste tous les processus
      • sort -k 4 -r : trie par utilisation mémoire (colonne 4)
      • head -10 : les 10 premiers

Compter les types de fichiers

  • find . -type f | sed 's/.*\.//' | sort | uniq -c | sort -rn
    • Ce que ça fait : Compte combien vous avez de .txt, .jpg, .pdf, etc.
    • Résultat exemple :
      • 245 jpg
      • 123 txt
      • 87 pdf
      • 45 png

 

7.5.4 - SSH et Tunnels - Contrôler d'autres machines

Se connecter à un autre ordinateur

  • ssh Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
    • Ce que ça fait : Vous ouvre un terminal sur la machine distante comme si vous étiez devant !

Copier des fichiers vers une machine distante

  • scp fichier.txt Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.:/home/marie/
    • Ce que ça fait : Copie le fichier de façon sécurisée vers l'autre machine

Copier un dossier entier

  • scp -r MonDossier/ Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.:/home/marie/

Tunnel SSH - Accéder à un service distant de façon sécurisée

  • ssh -L 8080:localhost:80 Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
    • Ce que ça fait : Crée un tunnel chiffré. Maintenant, quand vous allez sur http://localhost:8080 sur votre PC, vous accédez au port 80 du serveur distant !
    • Utilité pratique : Accéder à une interface web d'administration qui n'est normalement accessible que depuis le serveur.

Tunnel inversé - Partager votre machine avec quelqu'un

  • ssh -R 8080:localhost:80 Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
    • Ce que ça fait : Expose votre port 80 local sur le port 8080 du serveur public. Quelqu'un peut maintenant accéder à votre serveur web local via internet !

 

7.5.5 - Manipulation de texte ultra-rapide

Remplacer du texte dans plusieurs fichiers

  • sed -i 's/ancien/nouveau/g' *.txt
    • Ce que ça fait : Remplace "ancien" par "nouveau" dans TOUS les fichiers .txt
    • Équivalent Windows : Ouvrir chaque fichier, Ctrl+F, remplacer, sauvegarder, fichier suivant...

Extraire la colonne d'un fichier CSV

  • cut -d',' -f2 fichier.csv
    • Ce que ça fait : Extrait la deuxième colonne d'un CSV

Compter les lignes, mots et caractères

  • wc rapport.txt
    • Résultat :
      • 150 1234 8956 rapport.txt
      • (150 lignes, 1234 mots, 8956 caractères)

Afficher seulement les lignes uniques

  • sort fichier.txt | uniq
    • Ce que ça fait : Supprime les doublons

 

7.5.6 - Surveillance système en temps réel

Surveiller les logs en direct

  • tail -f /var/log/syslog
    • Ce que ça fait : Affiche les nouvelles lignes du log au fur et à mesure qu'elles arrivent
    • Utilité : Débugger un problème en temps réel

 

Voir l'activité réseau en temps réel

  • nethogs
    • Ce que ça fait : Montre quel programme utilise votre bande passante en ce moment même

Surveiller l'utilisation disque en temps réel

  • watch -n 1 df -h
    • Ce que ça fait : Actualise l'affichage de l'espace disque toutes les secondes
  •  

7.5.7 - Commandes combinées puissantes

Trouver les 20 plus gros fichiers de votre système

  • sudo du -ah / 2>/dev/null | sort -rh | head -20
    • Explication :
      • du -ah / : taille de tous les fichiers depuis la racine
      • 2>/dev/null : ignore les erreurs de permission
      • sort -rh : trie par taille
      • head -20 : garde les 20 premiers

Trouver tous les fichiers en double

  • find . -type f -exec md5sum {} + | sort | uniq -w32 -dD
    • Ce que ça fait : Calcule l'empreinte de chaque fichier et trouve les identiques

Libérer de la mémoire cache

  • sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
    • Ce que ça fait : Force le système à libérer le cache disque (si votre système est lent)

 

Télécharger un site web complet

  • wget -r -p -k -np https://exemple.com
    • Ce que ça fait : Télécharge le site entier avec toutes les images et pages liées !

Convertir tous les espaces en underscores dans les noms de fichiers

  • for f in *\ *; do mv "$f" "${f// /_}"; done
    • Ce que ça fait : Renomme mon fichier.txt en txt automatiquement pour tous les fichiers

 

Créer une archive et la compresser

  • tar -czf sauvegarde.tar.gz ~/Documents/
    • Ce que ça fait : Archive et compresse votre dossier Documents en un seul fichier
  • Pour extraire : tar -xzf sauvegarde.tar.gz

 

Tester la vitesse du disque

  • dd if=/dev/zero of=test.img bs=1G count=1 oflag=direct
    • Ce que ça fait : Mesure la vitesse d'écriture de votre disque dur

 

 

 7.6 – Automatiser avec des scripts

Vous pouvez sauvegarder vos commandes dans un fichier .sh et les réexécuter !

Créer un script :

  • nano mon_script.sh

Contenu du script :

  • #!/bin/bash
  • echo "Début du nettoyage..."
  • find ~/Téléchargements/ -mtime +30 -delete
  • echo "Fichiers vieux de plus de 30 jours supprimés !"
  • du -sh ~/Téléchargements/
  • echo "Nettoyage terminé !"

Rendre le script exécutable : hmod +x mon_script.sh

L'exécuter : ./mon_script.sh

  

 

7.7 - Astuces efficaces

Historique des commandes

  • Flèche haut : commande précédente
  • Ctrl + R : rechercher dans l'historique
  • history : afficher tout l'historique

Auto-complétion

  • Tab : complète automatiquement les noms de fichiers et commandes
  • Tab Tab : affiche toutes les possibilités

Raccourcis clavier

  • Ctrl + C : interrompt la commande en cours
  • Ctrl + D : ferme le terminal
  • Ctrl + L : efface l'écran (comme clear)
  • Ctrl + A : début de la ligne
  • Ctrl + E : fin de la ligne
  • Ctrl + U : efface toute la ligne

 

 7.8 – Les commandes à connaître

  • man [commande] # Manuel d'une commande
  • [commande] --help # Aide rapide
  • which [commande] # Où se trouve la commande
  • sudo [commande] # Exécuter en administrateur
  • clear # Effacer l'écran
  • exit # Fermer le terminal

 

 

7.9 – Les commandes à ne pas faire sans réfléchir

  • sudo rm -rf / (détruit tout le système)
  • Copier-coller des commandes sans les comprendre
  • Exécuter un script téléchargé sans le lire
  • chmod 777 sur des fichiers sensibles (donne tous les droits à tout le monde)

 

7.10 Conclusion sur la ligne de commande

La ligne de commande peut sembler intimidante au début, mais c'est comme apprendre à conduire une voiture manuelle après avoir utilisé une automatique toute sa vie : au début c'est déroutant, puis ça devient naturel, et ensuite vous vous demandez comment vous avez pu faire sans !

Commencer doucement :

  • Naviguez avec cd, ls, pwd
  • Essayez grep pour chercher dans vos fichiers
  • Utilisez find pour localiser vos documents
  • Expérimentez les pipes | pour combiner des commandes
  • Créez vos premiers scripts pour automatiser vos tâches répétitives

Même les experts Linux consultent man et --help régulièrement. Personne ne connaît toutes les options de toutes les commandes !

 

 

Aucun commentaire

Choix utilisateur pour les Cookies
Nous utilisons des cookies afin de vous proposer les meilleurs services possibles. Si vous déclinez l'utilisation de ces cookies, le site web pourrait ne pas fonctionner correctement.
Tout accepter
Tout décliner
En savoir plus
Consentement
Sécurité du site
Outils d'administration
Sec-access-admin
Accepter
Décliner
Sauvegarder