Passer de Windows à Linux donne parfois l’impression que quelqu’un a conservé exactement les mêmes tâches administratives, puis changé arbitrairement le nom de toutes les commandes.
Créer un dossier ? Facile :
mkdir
Et, surprise, cette fois la commande porte le même nom des deux côtés.
Afficher les interfaces réseau ? Windows répond :
ipconfig
Linux préfère :
ip addr
Supprimer un fichier ?
del
devient :
rm
Le principe reste donc souvent identique, mais les outils, options, chemins et philosophies diffèrent.
Cette comparaison présente des équivalents fonctionnels. Une commande Windows et une commande Linux ne sont pas nécessairement des copies exactes l’une de l’autre.
Première correction : Windows CMD n’est pas DOS
On parle encore fréquemment de :
commandes DOS
pour désigner :
dir
copy
del
net
ipconfig
...
sur Windows.
Historiquement, certaines de ces commandes viennent effectivement de MS-DOS ou en reprennent la syntaxe. Mais sur Windows 10, Windows 11 et Windows Server modernes, l’interpréteur concerné est principalement :
cmd.exe
Windows Command Prompt
Windows moderne repose sur la famille Windows NT et non sur MS-DOS.
Dans cet article, nous comparerons donc :
Windows CMD
vs
Linux shell
principalement avec Bash côté Linux.
Et PowerShell ?
Windows possède également :
PowerShell
qui est beaucoup plus adapté que CMD à de nombreux travaux modernes :
- administration système ;
- automatisation ;
- manipulation d’objets structurés ;
- services ;
- registre ;
- Active Directory ;
- réseau ;
- scripts complexes.
CMD reste néanmoins extrêmement utile pour :
- les commandes historiques Windows ;
- le dépannage ;
- les scripts batch existants ;
- les environnements de récupération ;
- les petites opérations rapides.
Tableau rapide des équivalences
| Opération | Windows CMD | Linux |
|---|---|---|
| Lister un dossier | dir |
ls |
| Changer de dossier | cd |
cd |
| Créer un dossier | mkdir |
mkdir |
| Copier un fichier | copy |
cp |
| Copier un arbre | robocopy / xcopy |
cp -r / rsync |
| Déplacer / renommer | move / ren |
mv |
| Supprimer un fichier | del |
rm |
| Supprimer un dossier vide | rmdir |
rmdir |
| Afficher un fichier texte | type |
cat |
| Rechercher du texte | findstr |
grep |
| Rechercher des fichiers | where /r ou dir /s |
find |
| Afficher les interfaces IP | ipconfig |
ip addr |
| Afficher les routes | route print |
ip route |
| Afficher les voisins ARP/NDP | arp -a |
ip neigh |
| Afficher les connexions | netstat |
ss |
| Tester la connectivité | ping |
ping |
| Tracer une route | tracert |
traceroute |
| Interroger DNS | nslookup |
dig / nslookup |
| Télécharger | curl.exe |
curl / wget |
| Processus | tasklist |
ps |
| Terminer un processus | taskkill |
kill / pkill |
| Services | sc.exe |
systemctl |
| Gestion des disques | diskpart |
fdisk / parted |
| Changer un mot de passe | net user |
passwd |
| Effacer l’écran | cls |
clear |
Navigation dans les répertoires
Afficher le répertoire courant
Sous Windows CMD :
cd
Sous Linux :
pwd
pwd signifie :
Print Working Directory
Lister le contenu
Windows :
dir
Linux :
ls
Pour obtenir davantage d’informations :
dir
ls -l
Pour inclure les fichiers cachés sous Linux :
ls -la
Changer de répertoire
Bonne nouvelle :
cd
fonctionne des deux côtés.
Windows :
cd C:\Users\Alice\Documents
Linux :
cd /home/alice/Documents
Les chemins Windows et Linux sont très différents
Windows utilise traditionnellement :
C:\Users\Alice\Documents
Linux :
/home/alice/Documents
Différences fondamentales :
| Windows | Linux |
|---|---|
C:\, D:\, etc. |
Une arborescence unique partant de / |
\ comme séparateur traditionnel |
/ |
| Volumes représentés notamment par des lettres | Volumes montés dans l’arborescence |
| Système de fichiers généralement insensible à la casse par défaut | Systèmes de fichiers courants généralement sensibles à la casse |
Attention à la casse sous Linux
Sous un système Linux traditionnel :
rapport.txt
Rapport.txt
RAPPORT.txt
peuvent représenter trois fichiers différents.
Sur une installation Windows standard utilisant NTFS avec son comportement habituel, ces noms ne sont généralement pas distingués de la même façon pour l’accès classique.
Passer de Windows à Linux sans retenir cette différence constitue un excellent moyen de passer vingt minutes à chercher un fichier situé littéralement devant soi.
Créer un dossier
La syntaxe est presque identique.
Windows :
mkdir projet
Linux :
mkdir projet
Sous Windows, on peut également utiliser :
md projet
Créer plusieurs niveaux de dossiers
Linux :
mkdir -p projet/logs/archive
Le :
-p
crée les répertoires parents nécessaires et ne considère pas comme une erreur le fait qu’un répertoire existe déjà dans ce contexte.
Le comportement de mkdir sous Windows permet également la création de chemins comprenant des répertoires intermédiaires dans les versions modernes.
Copier un fichier
Windows :
copy rapport.txt C:\Sauvegardes\
Linux :
cp rapport.txt /sauvegardes/
Copier un dossier
Linux :
cp -r projet /sauvegardes/
Windows propose historiquement :
xcopy projet C:\Sauvegardes\projet /E /I
Mais pour les copies importantes sous Windows moderne, on rencontre très souvent :
robocopy projet C:\Sauvegardes\projet /E
Pourquoi Robocopy ?
robocopy possède de nombreuses fonctions adaptées aux copies importantes :
- reprise après interruption ;
- journalisation ;
- filtres ;
- gestion des attributs ;
- copies multithread ;
- réplication d’arborescences ;
- gestion plus robuste des erreurs.
Exemple :
robocopy C:\Source D:\Backup /E /Z /MT:8
où :
/E
→ sous-répertoires, y compris vides
/Z
→ mode redémarrable
/MT:8
→ huit threads
Robocopy et rsync : cousins fonctionnels, pas jumeaux
Sous Linux, une opération comparable de synchronisation avancée peut souvent utiliser :
rsync
Par exemple :
rsync -a --info=progress2 source/ destination/
rsync et robocopy ne possèdent pas exactement la même sémantique, mais jouent souvent des rôles comparables dans les scripts de copie et de synchronisation.
Attention aux commandes de miroir
Des options comme :
robocopy /MIR
ou :
rsync --delete
peuvent supprimer dans la destination ce qui n’existe plus dans la source.
Autrement dit, :
miroir
ne signifie pas :
« copie tout et garde précieusement tous les anciens fichiers pour l’éternité ».
Testez toujours ce genre de commande avant de la présenter à plusieurs téraoctets de données importantes.
Déplacer ou renommer
Windows :
move rapport.txt C:\Archives\
Linux :
mv rapport.txt /archives/
Pour renommer :
ren ancien.txt nouveau.txt
sous Windows, tandis que Linux utilise encore :
mv ancien.txt nouveau.txt
La commande Linux mv sert donc à la fois à :
- déplacer ;
- renommer.
Supprimer un fichier
Windows :
del fichier.txt
Linux :
rm fichier.txt
Supprimer un dossier vide
Cette fois, les deux mondes se réconcilient :
rmdir dossier
Supprimer une arborescence
Windows :
rmdir /S dossier
Linux :
rm -r dossier
Avec confirmation réduite ou supprimée, ces commandes deviennent rapidement destructrices.
Une ligne de commande ne possède pas de bouton « J’avais mal lu le chemin ».
Créer un fichier vide : attention à la fausse équivalence
On voit souvent cette comparaison :
Windows :
echo. > fichier.txt
Linux :
touch fichier.txt
Elle est imparfaite.
Sous Linux :
touch fichier.txt
fait principalement deux choses :
- crée le fichier s’il n’existe pas ;
- met à jour ses horodatages s’il existe déjà, sans supprimer son contenu.
En CMD :
type nul > fichier.txt
crée un fichier vide mais tronque également un fichier existant.
Une variante permettant de créer le fichier sans supprimer son contenu existant est :
type nul >> fichier.txt
Mais il n’existe pas de correspondance CMD aussi naturelle et générale que touch.
Afficher le contenu d’un fichier
Windows :
type fichier.txt
Linux :
cat fichier.txt
Pour les fichiers longs, Linux propose aussi :
less fichier.txt
et :
more fichier.txt
Windows possède également :
more
Éditer un fichier
Sous Windows :
notepad fichier.txt
Sous Linux, selon les logiciels installés :
nano fichier.txt
ou :
vim fichier.txt
Il faut toutefois préciser que :
Notepad
Nano
Vim
sont des programmes différents et non des commandes système strictement équivalentes.
Et lancer Vim sans savoir comment le quitter constitue toujours un rite d’initiation Unix parfaitement opérationnel.
Rechercher un fichier
Windows peut utiliser :
where /r C:\ fichier.txt
ou, selon le besoin :
dir C:\fichier.txt /s /b
Linux utilise très couramment :
find / -name 'fichier.txt'
Pour éviter les nombreux messages de permissions :
find / -name 'fichier.txt' 2>/dev/null
Recherche insensible à la casse sous Linux
find /home -iname 'rapport*.pdf'
-iname effectue une correspondance de nom insensible à la casse.
Rechercher du texte dans des fichiers
Windows :
findstr "erreur" journal.txt
Linux :
grep "erreur" journal.txt
Recherche récursive
Windows :
findstr /S /I "erreur" *.log
Linux :
grep -Rin "erreur" /var/log/
Ici :
-R
→ récursif
-i
→ ignore la casse
-n
→ affiche le numéro de ligne
findstr n’est pas grep
Les deux recherchent du texte, mais leurs fonctionnalités et syntaxes d’expressions régulières ne sont pas identiques.
Un motif complexe écrit pour :
grep
ne doit pas être copié aveuglément dans :
findstr
en espérant que les deux programmes aient négocié secrètement un accord de compatibilité.
Redirections
Les deux environnements partagent plusieurs concepts.
Écraser un fichier
commande > sortie.txt
Ajouter à un fichier
commande >> sortie.txt
Pipeline
commande1 | commande2
Par exemple sous Windows :
ipconfig /all | findstr "DNS"
Sous Linux :
ip addr | grep inet
La philosophie du pipeline est particulièrement importante sous Unix
De nombreuses commandes Linux sont conçues pour :
produire du texte
↓
le transmettre à une autre commande
↓
filtrer
↓
transformer
↓
agréger
Par exemple :
ps aux | grep nginx
même si, pour rechercher directement des processus, :
pgrep
peut être plus approprié.
Configuration réseau
Afficher les interfaces
Windows :
ipconfig /all
Linux :
ip addr show
Version courte :
ip a
Afficher les routes
Windows :
route print
Linux :
ip route
Afficher les voisins réseau
Windows :
arp -a
Linux moderne :
ip neigh
ip neigh couvre notamment les informations de voisinage utilisées avec IPv4 et IPv6.
Tester une cible avec ping
La commande porte le même nom :
ping 192.168.1.1
Mais son comportement par défaut diffère.
Windows
Envoie normalement un nombre limité de requêtes par défaut.
ping 192.168.1.1
Linux
Continue généralement jusqu’à interruption.
ping 192.168.1.1
Pour trois requêtes :
ping -c 3 192.168.1.1
Sous Windows, l’équivalent du nombre est :
ping -n 3 192.168.1.1
Même commande, options différentes
C’est un piège important.
ping
existe des deux côtés, mais :
-n
n’a pas nécessairement la même signification que :
-n
sur l’autre implémentation.
Un nom de commande identique ne garantit donc pas une syntaxe identique.
Tracer le chemin des paquets
Windows :
tracert example.com
Linux :
traceroute example.com
Le programme Linux traceroute peut ne pas être installé par défaut sur toutes les distributions.
Selon l’environnement, on rencontre également :
tracepath
mtr
Afficher les connexions et sockets
Windows :
netstat -ano
Linux moderne :
ss -tulpn
où les options demandent notamment les sockets :
- TCP ;
- UDP ;
- en écoute ;
- avec informations numériques ;
- et processus lorsque les permissions le permettent.
netstat existe aussi sous Linux, mais ss est généralement préférable
netstat appartient à l’ancienne suite :
net-tools
que l’on rencontre encore énormément.
Les outils modernes Linux utilisent plutôt :
ip
ss
dans la famille :
iproute2
Interroger le DNS
Windows :
nslookup example.com
Linux peut également utiliser :
nslookup example.com
si l’outil est installé.
Mais pour des diagnostics DNS plus complets :
dig example.com
est extrêmement courant.
Exemple avec un type précis
dig example.com MX
Pour les serveurs de noms :
dig example.com NS
Résolution système sous Linux
Si l’objectif est de voir comment le système résout réellement un nom via ses mécanismes configurés, une commande comme :
getent hosts example.com
peut être utile.
Elle ne pose pas exactement la même question que dig.
Télécharger un fichier
Windows moderne possède :
curl.exe
Exemple :
curl.exe -O https://example.com/fichier.zip
Sous Linux :
curl -O https://example.com/fichier.zip
ou :
wget https://example.com/fichier.zip
Attention à Windows PowerShell 5.1
Dans Windows PowerShell 5.1, :
curl
peut être un alias de :
Invoke-WebRequest
et ne pas désigner directement le programme cURL.
Pour lever toute ambiguïté :
curl.exe
appelle explicitement l’exécutable.
Afficher les processus
Windows :
tasklist
Linux :
ps aux
ou :
ps -ef
Pour une vue interactive Linux :
top
et, si installé :
htop
Terminer un processus
Windows :
taskkill /PID 1234
Pour forcer :
taskkill /F /PID 1234
Linux :
kill 1234
La commande kill envoie un signal.
Par défaut :
SIGTERM
qui demande proprement au processus de terminer.
Ne commencez pas systématiquement par kill -9
Cette commande :
kill -9 1234
envoie :
SIGKILL
que le processus ne peut pas intercepter.
Elle est utile lorsque nécessaire, mais empêche le programme de réaliser un arrêt normal.
Le marteau fonctionne remarquablement bien sur beaucoup d’objets. Cela ne signifie pas qu’il faille l’utiliser pour fermer une montre.
Gestion des services
Windows utilise notamment le Service Control Manager via :
sc.exe
Démarrer un service
Windows :
sc.exe start Spooler
Linux avec systemd :
sudo systemctl start ssh
Arrêter
Windows :
sc.exe stop Spooler
Linux :
sudo systemctl stop ssh
Afficher l’état
Windows :
sc.exe query Spooler
Linux :
systemctl status ssh
Attention : systemctl suppose systemd
systemctl concerne les systèmes utilisant :
systemd
C’est le cas de nombreuses distributions modernes, notamment Debian, Ubuntu, Fedora et d’autres.
Mais Linux n’impose pas un seul système d’init universel.
Sur un autre système, les commandes de services peuvent donc être différentes.
Démarrage automatique des services
Linux :
sudo systemctl enable ssh
Pour l’activer et le démarrer immédiatement :
sudo systemctl enable --now ssh
Démarrer :
start
et activer au démarrage :
enable
sont deux opérations différentes.
Gestion des utilisateurs
Windows CMD :
net user
permet de gérer notamment les comptes locaux.
Créer un utilisateur Windows
net user nouvelutilisateur * /add
L’astérisque permet de demander le mot de passe plutôt que de l’inscrire directement dans la commande.
C’est préférable à :
net user nouvelutilisateur MotDePasseSecret /add
qui expose inutilement le secret dans le contexte d’exécution et éventuellement dans diverses traces.
Créer un utilisateur Linux
L’outil générique traditionnel est :
useradd
Par exemple :
sudo useradd -m alice
Puis :
sudo passwd alice
Sur Debian et Ubuntu : adduser
On utilise très souvent :
sudo adduser alice
adduser est un frontal plus convivial présent notamment dans l’écosystème Debian.
Il peut :
- créer le compte ;
- préparer le répertoire personnel ;
- poser plusieurs questions interactives ;
- simplifier la configuration habituelle.
Il ne faut donc pas présenter :
adduser
comme une commande identique sur absolument toutes les distributions Linux.
Modifier un mot de passe
Windows :
net user alice *
Linux :
sudo passwd alice
Un utilisateur Linux peut normalement modifier son propre mot de passe avec :
passwd
Afficher l’utilisateur courant
Windows :
whoami
Linux :
whoami
Encore une commande qui a choisi la paix entre les plateformes.
Groupes
Windows :
whoami /groups
Linux :
groups
ou :
id
Par exemple :
id alice
Administrateur Windows et root Linux ne sont pas strictement équivalents
Les deux systèmes ont des modèles de sécurité différents.
Windows utilise notamment :
- SIDs ;
- access tokens ;
- ACL ;
- UAC ;
- privilèges spécifiques.
Linux utilise notamment :
- UID ;
- GID ;
- permissions Unix ;
- ACL POSIX selon le système ;
- capabilities ;
sudo;- le compte
root.
Comparer :
Administrateur
=
root
est donc utile pédagogiquement, mais techniquement simplificateur.
Permissions
Windows possède notamment :
icacls
pour afficher et modifier les ACL NTFS.
Linux utilise notamment :
chmod
chown
chgrp
Changer des permissions Linux
chmod 640 rapport.txt
Changer le propriétaire
sudo chown alice:comptabilite rapport.txt
Afficher une ACL Windows
icacls C:\Documents\rapport.txt
Ces commandes ne sont cependant pas des équivalents exacts : NTFS ACL et permissions Unix n’utilisent pas le même modèle.
Partages réseau SMB
Windows :
net use Z: \\serveur\partage
permet de mapper un partage SMB sur une lettre de lecteur.
Sous Linux
Un partage SMB peut être monté avec :
sudo mount -t cifs //serveur/partage /mnt/partage \
-o username=alice
Le support utilise généralement :
cifs-utils
et le support CIFS/SMB du noyau Linux.
Évitez le mot de passe directement dans la ligne de commande
Cette forme :
-o username=alice,password=Secret123
est déconseillée.
Selon le contexte, utilisez plutôt :
- une invite interactive ;
- un fichier de credentials correctement protégé ;
- Kerberos ;
- une méthode d’authentification adaptée.
Monter n’est pas mapper une lettre
Windows peut représenter le partage comme :
Z:
Linux l’intègre dans son arborescence :
/mnt/partage
Le concept d’accès au partage est similaire, mais l’intégration au système de fichiers est différente.
Gestion des disques
Windows propose :
diskpart
Linux propose plusieurs outils selon le besoin :
lsblk
fdisk
parted
blkid
mkfs
mount
Afficher les disques
Windows :
diskpart
list disk
list volume
Linux :
lsblk
Pour davantage d’informations :
lsblk -f
Partitionner
Windows :
diskpart
Linux :
sudo fdisk /dev/sdb
ou :
sudo parted /dev/sdb
Formater un volume ou créer un système de fichiers
Windows :
format D: /FS:NTFS
Linux :
sudo mkfs.ext4 /dev/sdb1
Les commandes remplissent une fonction comparable : préparer un système de fichiers.
Mais elles sont également capables d’accomplir avec une efficacité remarquable :
la destruction de données existantes
si la mauvaise cible est choisie.
Avant toute commande de partitionnement ou de formatage, vérifiez deux fois le disque. Puis vérifiez une troisième fois parce que les données ne connaissent pas Ctrl+Z.
Afficher les systèmes de fichiers montés
Linux :
findmnt
ou :
mount
Windows utilise une conception différente avec ses volumes, lettres de lecteur et points de montage NTFS.
Informations système
Windows :
systeminfo
Linux :
uname -a
Pour obtenir des informations sur une distribution Linux :
cat /etc/os-release
Ces commandes ne fournissent pas exactement le même niveau d’information.
Nom de la machine
Les deux systèmes disposent de :
hostname
Variables d’environnement
Windows CMD :
set
Linux :
env
ou :
printenv
Lire une variable
Windows :
echo %PATH%
Linux :
echo "$PATH"
Définir une variable temporaire
Windows :
set MODE=production
Bash :
MODE=production
Pour qu’elle soit transmise aux processus enfants sous Bash :
export MODE=production
Le PATH
Les deux systèmes utilisent une variable :
PATH
pour rechercher des exécutables.
Mais le séparateur diffère.
Windows :
C:\Windows;C:\Windows\System32;C:\Tools
Linux :
/usr/local/bin:/usr/bin:/bin
Donc :
Windows → ;
Linux → :
Exécuter un programme du dossier courant
Sous Windows :
programme.exe
peut normalement trouver un exécutable dans le répertoire courant selon le mécanisme de recherche Windows.
Sous Linux, le dossier courant n’est généralement pas présent dans :
PATH
On écrit donc :
./programme
Le :
./
signifie :
dans le répertoire courant
Extensions exécutables
Windows utilise notamment :
.exe
.bat
.cmd
.com
Linux n’a pas besoin d’une extension particulière pour qu’un fichier soit exécutable.
Il faut notamment :
- un format exécutable reconnu ou un script avec interpréteur approprié ;
- les permissions nécessaires.
Par exemple :
chmod +x script.sh
./script.sh
Aide sur une commande
Windows :
commande /?
Par exemple :
robocopy /?
Linux :
commande --help
ou :
man commande
Par exemple :
man find
man grep
man mount.cifs
Les pages man : réflexe fondamental sous Linux
Une commande mystérieuse peut souvent être comprise avec :
man commande
Navigation courante dans man :
/mot
→ rechercher
n
→ résultat suivant
q
→ quitter
Oui, contrairement à Vim, nous révélons immédiatement la touche pour sortir.
Wildcards : ressemblantes mais pas identiques
Les caractères :
*
?
existent dans les deux environnements.
Mais leur traitement n’est pas nécessairement effectué au même endroit.
Sous Bash, le shell développe généralement les motifs avant de lancer le programme.
Par exemple :
rm *.log
Bash peut transformer cela en :
rm app.log system.log erreur.log
avant d’appeler rm.
Le comportement de CMD et des programmes Windows peut être différent.
Guillemets et espaces
Windows :
cd "C:\Program Files"
Linux :
cd "/home/alice/Mes Documents"
Dans les deux systèmes, citer correctement les chemins contenant des espaces est une habitude saine.
Windows utilise %VAR%, Bash utilise $VAR
CMD :
echo %USERNAME%
Bash :
echo "$USER"
Les deux affichent une information comparable, mais la syntaxe et même les variables disponibles diffèrent.
Scripts : Batch contre Bash
Un script CMD utilise généralement :
.bat
ou
.cmd
Exemple :
@echo off
echo Bonjour
dir
pause
Un script Bash peut être :
#!/bin/bash
echo "Bonjour"
ls
Les codes de retour existent des deux côtés
CMD utilise notamment :
%ERRORLEVEL%
Bash :
$?
Par exemple sous Windows :
ping -n 1 serveur
echo %ERRORLEVEL%
Sous Bash :
ping -c 1 serveur
echo "$?"
Dans les scripts bien écrits, il est souvent préférable de tester directement le succès de la commande plutôt que de conserver longtemps son statut.
Résumé par catégorie
Fichiers et répertoires
| Action | Windows CMD | Linux |
|---|---|---|
| Lister | dir |
ls |
| Créer un dossier | mkdir |
mkdir |
| Copier | copy |
cp |
| Copier récursivement | robocopy / xcopy |
cp -r / rsync |
| Déplacer | move |
mv |
| Renommer | ren |
mv |
| Supprimer | del |
rm |
| Supprimer dossier | rmdir |
rmdir / rm -r |
| Afficher fichier | type |
cat |
Réseau
| Action | Windows CMD | Linux |
|---|---|---|
| Interfaces | ipconfig /all |
ip addr |
| Routes | route print |
ip route |
| Voisins | arp -a |
ip neigh |
| Test ICMP | ping |
ping |
| Tracer route | tracert |
traceroute |
| Sockets | netstat -ano |
ss -tulpn |
| DNS | nslookup |
dig |
Processus et services
| Action | Windows CMD | Linux |
|---|---|---|
| Processus | tasklist |
ps |
| Terminer processus | taskkill |
kill / pkill |
| Démarrer service | sc.exe start |
systemctl start |
| Arrêter service | sc.exe stop |
systemctl stop |
| État service | sc.exe query |
systemctl status |
Utilisateurs et sécurité
| Action | Windows CMD | Linux |
|---|---|---|
| Utilisateur actuel | whoami |
whoami |
| Créer utilisateur | net user ... /add |
useradd / adduser |
| Mot de passe | net user utilisateur * |
passwd utilisateur |
| Groupes | whoami /groups |
id / groups |
| Permissions | icacls |
chmod, chown, ACL |
Stockage
| Action | Windows CMD | Linux |
|---|---|---|
| Afficher disques | diskpart + list disk |
lsblk |
| Partitionner | diskpart |
fdisk / parted |
| Créer système de fichiers | format |
mkfs.* |
| Montages | Volumes / points de montage Windows | mount / findmnt |
Les fausses équivalences à éviter
| Comparaison simpliste | Nuance |
|---|---|
DOS = CMD Windows |
CMD moderne fonctionne sur Windows NT, pas sur MS-DOS |
echo. > f = touch f |
La redirection peut tronquer le fichier ; touch préserve son contenu |
findstr = grep |
Fonction similaire, mais moteurs et syntaxes différents |
xcopy = cp -r |
Comparable pour certains usages ; Robocopy ou rsync offrent beaucoup plus |
netstat = ss |
ss est l’outil Linux moderne privilégié pour les sockets |
Administrateur = root |
Les modèles de sécurité sont différents |
icacls = chmod |
NTFS ACL et permissions Unix ne sont pas le même modèle |
net use = mount.cifs |
Objectif comparable, intégration et modèles différents |
adduser universel |
Son implémentation dépend de la distribution ; useradd est plus générique |
Les réflexes à adopter quand on change de système
- Ne cherchez pas forcément une traduction mot pour mot. Cherchez l’outil qui réalise l’opération souhaitée.
- Consultez l’aide.
commande /?sous CMD,--helpetmansous Linux. - Attention aux chemins.
C:\et/reflètent deux modèles différents. - Attention à la casse. Elle devient très importante sous Linux.
- Ne supposez pas que les options identiques ont la même signification.
- Utilisez des guillemets autour des chemins contenant des espaces.
- Évitez de mettre des mots de passe directement dans les commandes.
- Soyez particulièrement prudent avec suppression, formatage, partitionnement et synchronisation par miroir.
Commandes essentielles à mémoriser côté Windows
dir
cd
mkdir
copy
move
del
type
findstr
where
robocopy
ipconfig
ping
tracert
netstat
nslookup
tasklist
taskkill
sc.exe
net user
net use
whoami
icacls
diskpart
format
curl.exe
systeminfo
Commandes essentielles à mémoriser côté Linux
ls
pwd
cd
mkdir
cp
mv
rm
cat
less
find
grep
rsync
ip
ping
traceroute
ss
dig
ps
kill
pkill
systemctl
useradd
adduser
passwd
id
chmod
chown
lsblk
fdisk
parted
mkfs
mount
findmnt
curl
wget
uname
Exemple : même diagnostic réseau sur les deux systèmes
Windows
ipconfig /all
route print
ping 192.168.1.1
ping example.com
nslookup example.com
tracert example.com
netstat -ano
Linux
ip addr
ip route
ip neigh
ping -c 4 192.168.1.1
ping -c 4 example.com
dig example.com
traceroute example.com
ss -tulpn
Exemple : même petite opération de fichiers
Windows
mkdir C:\Backup
copy rapport.txt C:\Backup\
dir C:\Backup
Linux
mkdir -p /tmp/backup
cp rapport.txt /tmp/backup/
ls -l /tmp/backup/
Exemple : copie récursive plus sérieuse
Windows
robocopy C:\Documents D:\Backup\Documents /E /Z /MT:8
Linux
rsync -a --info=progress2 /home/alice/Documents/ /backup/Documents/
Attention aux barres obliques finales avec rsync : elles peuvent modifier la sémantique de ce qui est copié.
Conclusion : mêmes problèmes, vocabulaire différent
Windows et Linux doivent résoudre les mêmes tâches fondamentales :
naviguer
copier
supprimer
chercher
diagnostiquer
administrer
automatiser
Ils n’utilisent simplement pas toujours les mêmes outils ni les mêmes modèles.
Les équivalences les plus importantes à retenir sont :
dir ↔ ls
copy ↔ cp
move ↔ mv
del ↔ rm
type ↔ cat
findstr ↔ grep
where/dir ↔ find
ipconfig ↔ ip addr
route ↔ ip route
arp ↔ ip neigh
netstat ↔ ss
tracert ↔ traceroute
nslookup ↔ dig
tasklist ↔ ps
taskkill ↔ kill
sc.exe ↔ systemctl
diskpart ↔ fdisk / parted
format ↔ mkfs
net use ↔ mount.cifs
net user ↔ useradd / adduser
Mais la vraie compétence n’est pas de mémoriser un tableau de traduction.
C’est de comprendre :
ce que l'on veut faire
↓
quel outil réalise cette opération
↓
avec quels droits
↓
sur quelle cible
↓
et avec quelles conséquences
Une fois cette logique acquise, changer de système devient beaucoup moins mystérieux.
Vous ne vous demandez plus :
« Quelle est la commande Linux pour faire exactement comme DOS ? »
Vous vous demandez :
« Quel est l’outil approprié sur cette plateforme ? »
Et c’est généralement à ce moment-là que l’on commence réellement à administrer plusieurs systèmes plutôt qu’à traduire péniblement des commandes.
Les occasions de râler restent évidemment présentes. Elles deviennent simplement multiplateformes.
