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 --installen 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’usage | Outil 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 Windows | PowerShell |
| 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
cp -r/rsync -av→ copie/sauvegardegrep -r→ recherche dans les textesjq→ exploiter du JSON/JSON-LDgit→ versionner un siteborg/rclone→ sauvegarder vers NAS ou distantwget/curl→ archiver ou interagir avec le webipfs add→ publier sur un protocole décentralisésha256sum→ vérifier l’intégritéfind→ localiser des ressourcespython3 -m http.server→ tester localement
Les 10 commandes indispensables du terminal (à apprendre par cœur)
| Commande | À quoi ça sert | Exemple concret |
|---|---|---|
pwd | Print Working Directory → affiche le chemin du dossier actuel | pwd → /home/étudiant/projets |
ls | Liste les fichiers et dossiers | ls → affiche index.html, assets/, readme.md |
ls -la | Liste en détail : droits, taille, date, y compris les fichiers cachés | ls -la → montre .git/, .env, etc. |
cd chemin | Change Directory → se déplacer dans un dossier | cd 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’arborescence | cd .. → sort du dossier courant |
mkdir | Mk Directory → créer un nouveau dossier | mkdir sauvegardes |
cp | Copy → copier un fichier | cp notes.txt archive/ |
cp -r | Copier un dossier entier (et tout son contenu) | cp -r site/ backup/ |
mv | Move → déplacer ou renommer un fichier/dossier | mv ancien.html index.html |
rm | Remove → supprimer un fichier (irréversible !) | rm temp.txt |
⚠️ Attention :
rm -rfsupprime sans confirmation → à n’utiliser qu’avec une certitude absolue.- Les fichiers commençant par
.(ex..bashrc) sont cachés → visibles seulement avecls -la.
Définitions
| Concept | Définition | Environnement typique | À retenir |
| Terminal | Fenêtre d’interface en ligne de commande | Tous les OS | C’est la « fenêtre » où tu tapes des commandes. |
| Shell | Programme qui interprète tes commandes | Bash, Zsh, PowerShell, etc. | Le « cerveau » derrière le terminal. |
| POSIX | Norme garantissant la compatibilité entre systèmes Unix-like | Linux, macOS, WSL | Référence pour la portabilité : si c’est POSIX, ça marche partout. |
| Unix | Famille de systèmes d’exploitation (Linux, macOS en font partie) | Linux, macOS | Base historique et philosophique des outils libres. |