Commandes de base du terminal
Ce document rassemble toutes les commandes Linux utilisées dans les activités du cours, avec leur équivalent Windows. Tu peux t’y référer à tout moment.
Se repérer
Section intitulée « Se repérer »pwd — Afficher le dossier courant
Section intitulée « pwd — Afficher le dossier courant »Affiche le chemin complet du dossier dans lequel tu te trouves.
pwdGet-Location# ou son alias :pwdcdSans argument, cd affiche le dossier courant dans CMD.
ls — Lister le contenu d’un dossier
Section intitulée « ls — Lister le contenu d’un dossier »ls # contenu simplels -l # vue détaillée (permissions, taille, date)ls -a # inclut les fichiers cachés (commençant par .)ls -la # détaillé + fichiers cachésls -ld <dossier> # détails du dossier lui-même (pas de son contenu)ls -R # récursif (sous-dossiers inclus)ls dossier/ # contenu d'un dossier spécifiqueGet-ChildItem # ou son alias : ls, dirGet-ChildItem -Force # inclut les fichiers cachés (équivalent -a)Get-ChildItem -Recurse # récursif (équivalent -R)dir # contenu détaillédir /a # inclut les fichiers cachésdir /s # récursifNaviguer
Section intitulée « Naviguer »cd — Changer de dossier
Section intitulée « cd — Changer de dossier »cd dossier # entrer dans un dossiercd .. # remonter au dossier parentcd ~ # retourner au dossier personnelcd / # aller à la racinecd ../autre # remonter puis entrer dans "autre"cd dossier # entrer dans un dossiercd .. # remonter au dossier parentcd ~ # dossier personnel (PowerShell seulement)cd \ # aller à la racine du disquecd ..\autre # remonter puis entrer dans "autre"Chemins relatifs et absolus
Section intitulée « Chemins relatifs et absolus »| Type | Linux | Windows |
|---|---|---|
| Relatif | cd css ou cd ../js | cd css ou cd ..\js |
| Absolu | cd /home/linus/projet | cd C:\Users\linus\projet |
| Séparateur | / (barre oblique) | \ (barre oblique inversée) |
mkdir — Créer un dossier
Section intitulée « mkdir — Créer un dossier »mkdir mon-dossier # créer un dossiermkdir css js images # créer plusieurs dossiersmkdir -p parent/enfant/petit # créer toute la chaînemkdir mon-dossiermkdir css, js, images # plusieurs dossiersNew-Item -ItemType Directory -Path parent\enfant\petit -Forcemkdir mon-dossiermkdir css js imagesmkdir parent\enfant\petitCMD crée automatiquement les dossiers intermédiaires.
touch — Créer un fichier vide
Section intitulée « touch — Créer un fichier vide »touch fichier.txttouch css/style.css js/app.jsNew-Item fichier.txtNew-Item css\style.css, js\app.jstype nul > fichier.txttype nul > css\style.cssecho et redirections — Créer un fichier avec du contenu
Section intitulée « echo et redirections — Créer un fichier avec du contenu »echo "Bonjour" > fichier.txt # écrire (écrase le contenu)echo "Encore" >> fichier.txt # ajouter à la fin"Bonjour" > fichier.txt # écrire (écrase)"Encore" >> fichier.txt # ajouter à la finecho Bonjour > fichier.txtecho Encore >> fichier.txtConsulter
Section intitulée « Consulter »cat — Afficher tout le contenu
Section intitulée « cat — Afficher tout le contenu »cat fichier.txtcat a.txt b.txt # afficher plusieurs fichiers à la suitecat a.txt b.txt > tout.txt # combiner dans un nouveau fichierGet-Content fichier.txt # ou son alias : catGet-Content a.txt, b.txtGet-Content a.txt, b.txt | Set-Content tout.txttype fichier.txttype a.txt b.txtcopy a.txt + b.txt tout.txtless — Parcourir page par page
Section intitulée « less — Parcourir page par page »less fichier.txtNavigation : espace (page suivante), b (page précédente), q (quitter).
Get-Content fichier.txt | Out-Host -Paging# ou, si less est installé via Git Bash :less fichier.txtmore fichier.txtmore est la version Windows de less, mais avec moins de fonctionnalités.
head — Voir le début
Section intitulée « head — Voir le début »head fichier.txt # 10 premières ligneshead -n 5 fichier.txt # 5 premières lignesGet-Content fichier.txt -TotalCount 10 # 10 premières lignesGet-Content fichier.txt -TotalCount 5 # 5 premières lignesCMD n’a pas d’équivalent direct simple.
tail — Voir la fin
Section intitulée « tail — Voir la fin »tail fichier.txt # 10 dernières lignestail -n 3 fichier.txt # 3 dernières lignesGet-Content fichier.txt -Tail 10 # 10 dernières lignesGet-Content fichier.txt -Tail 3 # 3 dernières lignesCMD n’a pas d’équivalent direct simple.
Copier et déplacer
Section intitulée « Copier et déplacer »cp — Copier
Section intitulée « cp — Copier »cp fichier.txt copie.txt # copier un fichiercp fichier.txt dossier/ # copier dans un dossiercp -r dossier/ copie-dossier/ # copier un dossier entiercp -p fichier.txt copie.txt # préserver les permissions et datesCopy-Item fichier.txt copie.txt # ou alias : cpCopy-Item fichier.txt dossier\Copy-Item -Recurse dossier\ copie-dossier\copy fichier.txt copie.txtcopy fichier.txt dossier\xcopy /e dossier\ copie-dossier\mv — Déplacer ou renommer
Section intitulée « mv — Déplacer ou renommer »mv ancien.txt nouveau.txt # renommermv fichier.txt dossier/ # déplacerMove-Item ancien.txt nouveau.txt # ou alias : mvMove-Item fichier.txt dossier\ren ancien.txt nouveau.txt # renommermove fichier.txt dossier\ # déplacerSous CMD, renommer et déplacer sont deux commandes distinctes.
Supprimer
Section intitulée « Supprimer »rm — Supprimer un fichier
Section intitulée « rm — Supprimer un fichier »rm fichier.txt # supprimer un fichierrm -r dossier/ # supprimer un dossier et son contenuRemove-Item fichier.txt # ou alias : rm, delRemove-Item -Recurse dossier\del fichier.txtrmdir /s dossierrmdir — Supprimer un dossier vide
Section intitulée « rmdir — Supprimer un dossier vide »rmdir dossier-videÉchoue si le dossier contient des fichiers.
rmdir dossier-videMême comportement : échoue si le dossier n’est pas vide.
Identité et appartenance
Section intitulée « Identité et appartenance »whoami — Afficher ton nom d’utilisateur
Section intitulée « whoami — Afficher ton nom d’utilisateur »whoamiRésultat : alice
whoamiRésultat : MON-PC\alice (nom de machine + utilisateur)
id — UID, GID et groupes
Section intitulée « id — UID, GID et groupes »id # ton identité complèteid <nom_utilisateur> # identité d'un autre utilisateurid -gn # nom de ton groupe principalid -Gn # noms de tous tes groupesRésultat : uid=1001(alice) gid=1001(alice) groups=1001(alice),27(sudo),100(webdev)
whoami /user # ton UID (SID Windows)whoami /groups # tes groupes d'appartenanceGet-LocalUser <nom> # infos sur un utilisateur localgroups — Lister les groupes d’un utilisateur
Section intitulée « groups — Lister les groupes d’un utilisateur »groups # tes groupesgroups <nom_utilisateur> # groupes d'un autre utilisateurGet-LocalGroupMember <nom_groupe> # membres d'un groupewhoami /groups # tes groupesgetent — Interroger la base de données de l’OS
Section intitulée « getent — Interroger la base de données de l’OS »getent group <nom_groupe> # membres d'un groupegetent passwd <nom_utilisateur> # infos utilisateur brutesExemple : getent group webdev → webdev:x:1005:alice,bob
Pas d’équivalent direct. Utilise Get-LocalGroupMember en PowerShell.
Créer et gérer utilisateurs et groupes
Section intitulée « Créer et gérer utilisateurs et groupes »adduser / useradd — Créer un utilisateur
Section intitulée « adduser / useradd — Créer un utilisateur »sudo adduser <nom_utilisateur> # interactif, crée tout (Debian/Ubuntu)sudo useradd <nom_utilisateur> # bas niveau, pour scriptsadduser demande un mot de passe et crée le répertoire personnel. useradd ne fait ni l’un ni l’autre par défaut.
New-LocalUser -Name <nom> -NoPassword # créerNew-LocalUser -Name <nom> -Password (Read-Host -AsSecureString)net user <nom_utilisateur> <mot_de_passe> /adddeluser — Supprimer un utilisateur
Section intitulée « deluser — Supprimer un utilisateur »sudo deluser <nom_utilisateur> # supprime le comptesudo deluser --remove-home <nom_utilisateur> # supprime compte + homeRemove-LocalUser -Name <nom_utilisateur>net user <nom_utilisateur> /deletepasswd — Changer un mot de passe
Section intitulée « passwd — Changer un mot de passe »passwd # changer ton propre mot de passesudo passwd <nom_utilisateur> # changer le mot de passe d'un autreSet-LocalUser -Name <nom> -Password (Read-Host -AsSecureString)net user <nom_utilisateur> <nouveau_mot_de_passe>addgroup / groupadd — Créer un groupe
Section intitulée « addgroup / groupadd — Créer un groupe »sudo addgroup <nom_groupe> # Debian/Ubuntusudo groupadd <nom_groupe> # standard toutes distributionsNew-LocalGroup -Name <nom_groupe>net localgroup <nom_groupe> /addusermod -aG — Ajouter un utilisateur à un groupe
Section intitulée « usermod -aG — Ajouter un utilisateur à un groupe »sudo usermod -aG <nom_groupe> <nom_utilisateur># Exemple : sudo usermod -aG webdev aliceAdd-LocalGroupMember -Group <nom_groupe> -Member <nom_utilisateur>net localgroup <nom_groupe> <nom_utilisateur> /addnewgrp — Activer un groupe dans la session courante
Section intitulée « newgrp — Activer un groupe dans la session courante »newgrp <nom_groupe> # active le groupe comme groupe principal temporaireSans cette commande, l’ajout à un groupe via usermod -aG ne prend effet qu’à la prochaine connexion.
Windows applique automatiquement les changements de groupe à la session suivante. Il faut se déconnecter et se reconnecter.
Élévation et changement d’utilisateur
Section intitulée « Élévation et changement d’utilisateur »sudo — Exécuter en tant que root
Section intitulée « sudo — Exécuter en tant que root »sudo <commande> # exécute une commande en tant que rootsudo -u <user> <commande> # exécute en tant qu'un autre utilisateursudo -i # ouvre un shell root completsudo -i -u <user> # ouvre un shell complet en tant que <user>sudo demande ton propre mot de passe.
Windows 11 a ajouté une commande sudo native (à activer dans les paramètres). Avant, on utilisait :
Start-Process <commande> -Verb RunAs # lance en adminOu clic droit sur le terminal → « Exécuter en tant qu’administrateur ».
su — Changer d’utilisateur avec son mot de passe
Section intitulée « su — Changer d’utilisateur avec son mot de passe »su - <nom_utilisateur> # ouvre une session complète en tant que <user>su <nom_utilisateur> # change d'utilisateur mais garde l'environnementexit # revient à l'utilisateur précédentsu - demande le mot de passe de l’utilisateur cible.
runas /user:<nom_utilisateur> cmd # lance un shell en tant que <user>Permissions
Section intitulée « Permissions »chmod — Modifier les permissions
Section intitulée « chmod — Modifier les permissions »chmod <octal> <chemin># Exemples :chmod 755 script.sh # rwxr-xr-x — script exécutablechmod 644 index.html # rw-r--r-- — fichier webchmod 600 id_rsa # rw------- — clé SSH privéechmod 700 dossier-prive/ # rwx------ — dossier privéchmod 2775 dossier-partage/ # rwxrwxr-x + setgid — dossier collaboratifchmod u+x script.sh # ajouter x au propriétairechmod g+rw fichier.txt # ajouter r+w au groupechmod o-rwx secret.key # retirer tout aux autreschmod a+r public.html # ajouter r à tous (u+g+o)chmod g+s dossier/ # activer setgid (héritage du groupe)chmod -R 755 <dossier> # applique à tout le contenuAttention : chmod -R 755 donne x aux fichiers (rarement voulu pour du contenu web).
chown — Changer le propriétaire
Section intitulée « chown — Changer le propriétaire »sudo chown <user> <chemin> # propriétaire seulementsudo chown <user>:<group> <chemin> # propriétaire + groupesudo chown :<group> <chemin> # groupe seulementsudo chown -R <user>:<group> <dossier> # récursifExemple : sudo chown -R alice:webdev /var/www/monsite
chgrp — Changer le groupe
Section intitulée « chgrp — Changer le groupe »sudo chgrp <group> <chemin> # un fichiersudo chgrp -R <group> <dossier> # récursifC’est un raccourci pour chown :<group>.
umask — Voir ou modifier le masque par défaut
Section intitulée « umask — Voir ou modifier le masque par défaut »umask # affiche le masque courant (ex: 0002)umask 0022 # définir un nouveau masque pour la sessionLe masque détermine les permissions des nouveaux fichiers : 666 − umask pour les fichiers, 777 − umask pour les répertoires. Sur Ubuntu, umask 0002 → nouveaux fichiers en 664.
Installer des logiciels
Section intitulée « Installer des logiciels »apt — Gestionnaire de paquets (Debian/Ubuntu)
Section intitulée « apt — Gestionnaire de paquets (Debian/Ubuntu) »sudo apt update # rafraîchir la liste des paquetssudo apt install <paquet> # installersudo apt remove <paquet> # désinstallersudo apt upgrade # mettre à jour tous les paquetsapt search <mot_cle> # chercher un paquetapt list --upgradable # lister les paquets à mettre à jourExemple : sudo apt install nginx
winget install <paquet> # installerwinget uninstall <paquet> # désinstallerwinget upgrade --all # mettre à jour toutwinget search <mot_cle> # chercherwinget list # lister les paquets installésExemple : winget install Node.js
brew install <paquet>brew uninstall <paquet>brew upgradebrew search <mot_cle>Utilitaires
Section intitulée « Utilitaires »history — Historique des commandes
Section intitulée « history — Historique des commandes »history # afficher l'historiquehistory > mes-commandes.txt # sauvegarder dans un fichierGet-History # afficher l'historiqueGet-History | Out-File mes-commandes.txt # sauvegarderdoskey /historyclear — Effacer le terminal
Section intitulée « clear — Effacer le terminal »clearclsAide-mémoire rapide
Section intitulée « Aide-mémoire rapide »Fichiers et dossiers
Section intitulée « Fichiers et dossiers »| Action | Linux | PowerShell | CMD |
|---|---|---|---|
| Où suis-je ? | pwd | pwd | cd |
| Lister | ls | ls | dir |
| Détails d’un dossier | ls -ld <d> | — | — |
| Entrer dans un dossier | cd dossier | cd dossier | cd dossier |
| Remonter | cd .. | cd .. | cd .. |
| Créer un dossier | mkdir nom | mkdir nom | mkdir nom |
| Créer un fichier vide | touch nom | New-Item nom | type nul > nom |
| Écrire dans un fichier | echo "x" > f | "x" > f | echo x > f |
| Ajouter à un fichier | echo "x" >> f | "x" >> f | echo x >> f |
| Voir le contenu | cat f | cat f | type f |
| Parcourir | less f | Out-Host -Paging | more f |
| Début du fichier | head -n 5 f | -TotalCount 5 | — |
| Fin du fichier | tail -n 5 f | -Tail 5 | — |
| Copier | cp a b | cp a b | copy a b |
| Déplacer/renommer | mv a b | mv a b | move a b / ren a b |
| Supprimer fichier | rm f | rm f | del f |
| Supprimer dossier | rm -r d | rm -Recurse d | rmdir /s d |
| Historique | history | Get-History | doskey /history |
| Effacer terminal | clear | cls | cls |
Utilisateurs, groupes et permissions
Section intitulée « Utilisateurs, groupes et permissions »| Action | Linux | PowerShell |
|---|---|---|
| Qui suis-je ? | whoami | whoami |
| Mon identité complète | id | whoami /groups |
| Groupes d’un utilisateur | groups <user> | Get-LocalGroupMember <g> |
| Membres d’un groupe | getent group <g> | Get-LocalGroupMember <g> |
| Créer un utilisateur | sudo adduser <user> | New-LocalUser |
| Supprimer un utilisateur | sudo deluser <user> | Remove-LocalUser |
| Changer mot de passe | passwd | Set-LocalUser -Password |
| Créer un groupe | sudo addgroup <g> | New-LocalGroup |
| Ajouter au groupe | sudo usermod -aG <g> <user> | Add-LocalGroupMember |
| Activer un groupe | newgrp <g> | (reconnexion) |
| Exécuter en root | sudo <cmd> | Start-Process -Verb RunAs |
| Devenir un autre user | sudo -i -u <user> | runas /user:<user> |
| Changer permissions | chmod 755 <f> | icacls <f> /grant ... |
| Changer propriétaire | sudo chown <u>:<g> <f> | icacls <f> /setowner <u> |
| Changer groupe | sudo chgrp <g> <f> | (via ACL) |
| Voir/modifier umask | umask | — |
Installation de logiciels
Section intitulée « Installation de logiciels »| Action | Linux (apt) | Windows (winget) | macOS (brew) |
|---|---|---|---|
| Rafraîchir | sudo apt update | — (auto) | brew update |
| Installer | sudo apt install <p> | winget install <p> | brew install <p> |
| Désinstaller | sudo apt remove <p> | winget uninstall <p> | brew uninstall <p> |
| Mettre à jour tout | sudo apt upgrade | winget upgrade --all | brew upgrade |
| Chercher | apt search <m> | winget search <m> | brew search <m> |