Passer au contenu principal
Divers

Commandes Windows CMD et Linux : équivalences, différences et pièges

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, --help et man sous 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.