Les commandes Linux indispensables

Les commandes Linux (et plus généralement celles du shell POSIX, comme Bash) sont souvent perçues comme plus concises, cohérentes et puissantes surtout pour les tâches de manipulation de fichiers, de texte ou d’automatisation.

C’est l’une des raisons pour lesquelles beaucoup de développeurs, chercheurs ou praticiens des humanités numériques préfèrent les environnements Unix-like.

Sous Windows moderne, il n’est pas nécessaire de choisir entre PowerShell et le shell Linux.

Utiliser WSL (Windows Subsystem for Linux)

  • Installer WSL 2 (via wsl --install en PowerShell ou via le Microsoft Store).
  • Pour obtenir un vrai environnement Linux (Ubuntu, Debian, Alpine, etc.) intégré à Windows.

Il devient possible d’utiliser en commande bash

cp -r /chemin/source /chemin/dest
rsync -av source/ dest/
find, grep, sed, awk, jq, curl...

Avantage : accès natif au système de fichiers Windows (/mnt/c/...) et aux outils Linux, sans machine virtuelle.

Préfèrer les outils POSIX même en PowerShell (quand possible)

Certains outils Linux sont disponibles nativement sous Windows :

Utilise-les dans des scripts portables, surtout si tu collabores avec des personnes sur d’autres OS.

rsync via Cygwin, MSYS2, ou WSL.

grep, sed, jq via Git Bash (livré avec Git pour Windows).

Astuce : dans Windows Terminal, vous pouvez avoir PowerShell, CMD, WSL et Git Bash dans des onglets séparés avec une bascule selon le contexte.

PowerShell vs Bash : quand utiliser quoi ?

Cas d’usageOutil recommandé
Manipulation de fichiers/texte simple (cp, grep, find)Bash/WSL
Automatisation Windows (services, registre, GPO, AD)PowerShell
Script portable (multi-OS)Bash + WSL / Docker
Intégration avec .NET ou APIs WindowsPowerShell
Traitement de données structurées (JSON, CSV)Les deux (jq en Bash, ConvertFrom-Json en PowerShell)

Alternative éthique et légère : MSYS2 ou Git for Windows

Si vous ne voulez pas de WSL (trop lourd, trop Microsoft), Git Bash (basé sur MSYS2) fournit déjà :

cp, mv, ls, grep, ssh, curl, rsync (optionnel), etc.

Un shell Bash minimal, sans dépendance cloud.

Parfait pour des scripts de sauvegarde, de déploiement local ou de traitement de corpus linguistiques.

En conclusion, les commandes Linux sont souvent plus pratiques.
Néanmoins sous Windows 10/11, vous pouvez les utiliser nativement via WSL ou Git Bash, sans renoncer à l’écosystème Windows quand c’est utile.

Les 10 commandes vitales au quotidien

  1. cp -r / rsync -av → copie/sauvegarde
  2. grep -r → recherche dans les textes
  3. jq → exploiter du JSON/JSON-LD
  4. git → versionner un site
  5. borg / rclone → sauvegarder vers NAS ou distant
  6. wget / curl → archiver ou interagir avec le web
  7. ipfs add → publier sur un protocole décentralisé
  8. sha256sum → vérifier l’intégrité
  9. find → localiser des ressources
  10. python3 -m http.server → tester localement

Les 10 commandes indispensables du terminal (à apprendre par cœur)

CommandeÀ quoi ça sertExemple concret
pwdPrint Working Directory → affiche le chemin du dossier actuelpwd/home/étudiant/projets
lsListe les fichiers et dossiersls → affiche index.html, assets/, readme.md
ls -laListe en détail : droits, taille, date, y compris les fichiers cachésls -la → montre .git/, .env, etc.
cd cheminChange Directory → se déplacer dans un dossiercd documents/kabyle
cd ou cd ~Aller directement dans ton dossier personnel (« home »)cd → vous ramène à /home/votre-nom
cd ..Remonter d’un niveau dans l’arborescencecd .. → sort du dossier courant
mkdirMk Directory → créer un nouveau dossiermkdir sauvegardes
cpCopy → copier un fichiercp notes.txt archive/
cp -rCopier un dossier entier (et tout son contenu)cp -r site/ backup/
mvMove → déplacer ou renommer un fichier/dossiermv ancien.html index.html
rmRemove → supprimer un fichier (irréversible !)rm temp.txt

⚠️ Attention :

  • rm -rf supprime sans confirmation → à n’utiliser qu’avec une certitude absolue.
  • Les fichiers commençant par . (ex. .bashrc) sont cachés → visibles seulement avec ls -la.

Définitions

ConceptDéfinitionEnvironnement typiqueÀ retenir
TerminalFenêtre d’interface en ligne de commandeTous les OSC’est la « fenêtre » où tu tapes des commandes.
ShellProgramme qui interprète tes commandesBash, Zsh, PowerShell, etc.Le « cerveau » derrière le terminal.
POSIXNorme garantissant la compatibilité entre systèmes Unix-likeLinux, macOS, WSLRéférence pour la portabilité : si c’est POSIX, ça marche partout.
UnixFamille de systèmes d’exploitation (Linux, macOS en font partie)Linux, macOSBase historique et philosophique des outils libres.