Aller au contenu

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.


Affiche le chemin complet du dossier dans lequel tu te trouves.

Fenêtre de terminal
pwd
Fenêtre de terminal
ls # contenu simple
ls -l # vue détaillée (permissions, taille, date)
ls -a # inclut les fichiers cachés (commençant par .)
ls -la # détaillé + fichiers cachés
ls -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écifique

Fenêtre de terminal
cd dossier # entrer dans un dossier
cd .. # remonter au dossier parent
cd ~ # retourner au dossier personnel
cd / # aller à la racine
cd ../autre # remonter puis entrer dans "autre"
TypeLinuxWindows
Relatifcd css ou cd ../jscd css ou cd ..\js
Absolucd /home/linus/projetcd C:\Users\linus\projet
Séparateur/ (barre oblique)\ (barre oblique inversée)

Fenêtre de terminal
mkdir mon-dossier # créer un dossier
mkdir css js images # créer plusieurs dossiers
mkdir -p parent/enfant/petit # créer toute la chaîne
Fenêtre de terminal
touch fichier.txt
touch css/style.css js/app.js

echo et redirections — Créer un fichier avec du contenu

Section intitulée « echo et redirections — Créer un fichier avec du contenu »
Fenêtre de terminal
echo "Bonjour" > fichier.txt # écrire (écrase le contenu)
echo "Encore" >> fichier.txt # ajouter à la fin

Fenêtre de terminal
cat fichier.txt
cat a.txt b.txt # afficher plusieurs fichiers à la suite
cat a.txt b.txt > tout.txt # combiner dans un nouveau fichier
Fenêtre de terminal
less fichier.txt

Navigation : espace (page suivante), b (page précédente), q (quitter).

Fenêtre de terminal
head fichier.txt # 10 premières lignes
head -n 5 fichier.txt # 5 premières lignes
Fenêtre de terminal
tail fichier.txt # 10 dernières lignes
tail -n 3 fichier.txt # 3 dernières lignes

Fenêtre de terminal
cp fichier.txt copie.txt # copier un fichier
cp fichier.txt dossier/ # copier dans un dossier
cp -r dossier/ copie-dossier/ # copier un dossier entier
cp -p fichier.txt copie.txt # préserver les permissions et dates
Fenêtre de terminal
mv ancien.txt nouveau.txt # renommer
mv fichier.txt dossier/ # déplacer

Fenêtre de terminal
rm fichier.txt # supprimer un fichier
rm -r dossier/ # supprimer un dossier et son contenu
Fenêtre de terminal
rmdir dossier-vide

Échoue si le dossier contient des fichiers.


Fenêtre de terminal
whoami

Résultat : alice

Fenêtre de terminal
id # ton identité complète
id <nom_utilisateur> # identité d'un autre utilisateur
id -gn # nom de ton groupe principal
id -Gn # noms de tous tes groupes

Résultat : uid=1001(alice) gid=1001(alice) groups=1001(alice),27(sudo),100(webdev)

Fenêtre de terminal
groups # tes groupes
groups <nom_utilisateur> # groupes d'un autre utilisateur

getent — Interroger la base de données de l’OS

Section intitulée « getent — Interroger la base de données de l’OS »
Fenêtre de terminal
getent group <nom_groupe> # membres d'un groupe
getent passwd <nom_utilisateur> # infos utilisateur brutes

Exemple : getent group webdevwebdev:x:1005:alice,bob


Fenêtre de terminal
sudo adduser <nom_utilisateur> # interactif, crée tout (Debian/Ubuntu)
sudo useradd <nom_utilisateur> # bas niveau, pour scripts

adduser demande un mot de passe et crée le répertoire personnel. useradd ne fait ni l’un ni l’autre par défaut.

Fenêtre de terminal
sudo deluser <nom_utilisateur> # supprime le compte
sudo deluser --remove-home <nom_utilisateur> # supprime compte + home
Fenêtre de terminal
passwd # changer ton propre mot de passe
sudo passwd <nom_utilisateur> # changer le mot de passe d'un autre
Fenêtre de terminal
sudo addgroup <nom_groupe> # Debian/Ubuntu
sudo groupadd <nom_groupe> # standard toutes distributions

usermod -aG — Ajouter un utilisateur à un groupe

Section intitulée « usermod -aG — Ajouter un utilisateur à un groupe »
Fenêtre de terminal
sudo usermod -aG <nom_groupe> <nom_utilisateur>
# Exemple : sudo usermod -aG webdev alice

newgrp — Activer un groupe dans la session courante

Section intitulée « newgrp — Activer un groupe dans la session courante »
Fenêtre de terminal
newgrp <nom_groupe> # active le groupe comme groupe principal temporaire

Sans cette commande, l’ajout à un groupe via usermod -aG ne prend effet qu’à la prochaine connexion.


Fenêtre de terminal
sudo <commande> # exécute une commande en tant que root
sudo -u <user> <commande> # exécute en tant qu'un autre utilisateur
sudo -i # ouvre un shell root complet
sudo -i -u <user> # ouvre un shell complet en tant que <user>

sudo demande ton propre mot de passe.

su — Changer d’utilisateur avec son mot de passe

Section intitulée « su — Changer d’utilisateur avec son mot de passe »
Fenêtre de terminal
su - <nom_utilisateur> # ouvre une session complète en tant que <user>
su <nom_utilisateur> # change d'utilisateur mais garde l'environnement
exit # revient à l'utilisateur précédent

su - demande le mot de passe de l’utilisateur cible.


Fenêtre de terminal
chmod <octal> <chemin>
# Exemples :
chmod 755 script.sh # rwxr-xr-x — script exécutable
chmod 644 index.html # rw-r--r-- — fichier web
chmod 600 id_rsa # rw------- — clé SSH privée
chmod 700 dossier-prive/ # rwx------ — dossier privé
chmod 2775 dossier-partage/ # rwxrwxr-x + setgid — dossier collaboratif
Fenêtre de terminal
sudo chown <user> <chemin> # propriétaire seulement
sudo chown <user>:<group> <chemin> # propriétaire + groupe
sudo chown :<group> <chemin> # groupe seulement
sudo chown -R <user>:<group> <dossier> # récursif

Exemple : sudo chown -R alice:webdev /var/www/monsite

Fenêtre de terminal
sudo chgrp <group> <chemin> # un fichier
sudo chgrp -R <group> <dossier> # récursif

C’est un raccourci pour chown :<group>.

Fenêtre de terminal
umask # affiche le masque courant (ex: 0002)
umask 0022 # définir un nouveau masque pour la session

Le 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.


Fenêtre de terminal
sudo apt update # rafraîchir la liste des paquets
sudo apt install <paquet> # installer
sudo apt remove <paquet> # désinstaller
sudo apt upgrade # mettre à jour tous les paquets
apt search <mot_cle> # chercher un paquet
apt list --upgradable # lister les paquets à mettre à jour

Exemple : sudo apt install nginx


Fenêtre de terminal
history # afficher l'historique
history > mes-commandes.txt # sauvegarder dans un fichier
Fenêtre de terminal
clear

ActionLinuxPowerShellCMD
Où suis-je ?pwdpwdcd
Listerlslsdir
Détails d’un dossierls -ld <d>
Entrer dans un dossiercd dossiercd dossiercd dossier
Remontercd ..cd ..cd ..
Créer un dossiermkdir nommkdir nommkdir nom
Créer un fichier videtouch nomNew-Item nomtype nul > nom
Écrire dans un fichierecho "x" > f"x" > fecho x > f
Ajouter à un fichierecho "x" >> f"x" >> fecho x >> f
Voir le contenucat fcat ftype f
Parcourirless fOut-Host -Pagingmore f
Début du fichierhead -n 5 f-TotalCount 5
Fin du fichiertail -n 5 f-Tail 5
Copiercp a bcp a bcopy a b
Déplacer/renommermv a bmv a bmove a b / ren a b
Supprimer fichierrm frm fdel f
Supprimer dossierrm -r drm -Recurse drmdir /s d
HistoriquehistoryGet-Historydoskey /history
Effacer terminalclearclscls
ActionLinuxPowerShell
Qui suis-je ?whoamiwhoami
Mon identité complèteidwhoami /groups
Groupes d’un utilisateurgroups <user>Get-LocalGroupMember <g>
Membres d’un groupegetent group <g>Get-LocalGroupMember <g>
Créer un utilisateursudo adduser <user>New-LocalUser
Supprimer un utilisateursudo deluser <user>Remove-LocalUser
Changer mot de passepasswdSet-LocalUser -Password
Créer un groupesudo addgroup <g>New-LocalGroup
Ajouter au groupesudo usermod -aG <g> <user>Add-LocalGroupMember
Activer un groupenewgrp <g>(reconnexion)
Exécuter en rootsudo <cmd>Start-Process -Verb RunAs
Devenir un autre usersudo -i -u <user>runas /user:<user>
Changer permissionschmod 755 <f>icacls <f> /grant ...
Changer propriétairesudo chown <u>:<g> <f>icacls <f> /setowner <u>
Changer groupesudo chgrp <g> <f>(via ACL)
Voir/modifier umaskumask
ActionLinux (apt)Windows (winget)macOS (brew)
Rafraîchirsudo apt update— (auto)brew update
Installersudo apt install <p>winget install <p>brew install <p>
Désinstallersudo apt remove <p>winget uninstall <p>brew uninstall <p>
Mettre à jour toutsudo apt upgradewinget upgrade --allbrew upgrade
Chercherapt search <m>winget search <m>brew search <m>