Commande linux
đ§ Commandes Linux â Debian & Fedora (CLI)
à qui ça s'adresse ? Débutants et utilisateurs intermédiaires travaillant en ligne de commande (sans interface graphique).Comment lire ce guide ? Chaque commande est présentée avec sa syntaxe, une explication simple, et les différences Debian/Fedora si nécessaire.
đ 1. Navigation & fichiers de base
pwd â OĂč suis-je ?
Affiche le dossier dans lequel tu te trouves actuellement.
pwd
# Exemple de résultat : /home/tonnom
ls â Lister les fichiers
Affiche le contenu d'un dossier.
ls # liste simple
ls -l # liste détaillée (permissions, taille, date)
ls -la # idem + fichiers cachés (ceux qui commencent par un point)
ls -lh # tailles lisibles (Ko, Mo...)
ls /var/log # liste le contenu d'un autre dossier
cd â Se dĂ©placer dans les dossiers
cd /etc # aller dans /etc
cd .. # remonter d'un niveau
cd ~ # aller dans ton dossier personnel
cd - # revenir au dossier précédent
cd /home/tonnom/docs # chemin absolu
mkdir â CrĂ©er un dossier
mkdir mondossier # crée un dossier
mkdir -p /home/user/a/b/c # crée tous les dossiers intermédiaires si besoin
rm â Supprimer des fichiers ou dossiers
â ïž Attention : pas de corbeille, c'est dĂ©finitif !
rm fichier.txt # supprime un fichier
rm -r mondossier/ # supprime un dossier et tout son contenu
rm -rf mondossier/ # force la suppression sans confirmation (dangereux !)
rm -i fichier.txt # demande confirmation avant de supprimer
cp â Copier
cp fichier.txt copie.txt # copie un fichier
cp -r dossier/ destination/ # copie un dossier entier
cp fichier.txt /home/user/Bureau/ # copie vers un autre emplacement
mv â DĂ©placer ou renommer
mv fichier.txt /tmp/ # déplace un fichier
mv ancien_nom.txt nouveau_nom.txt # renomme un fichier
mv dossier1/ /home/user/dossier2/ # déplace un dossier
touch â CrĂ©er un fichier vide
touch notes.txt # crée un fichier vide (ou met à jour sa date)
cat â Afficher le contenu d'un fichier
cat fichier.txt # affiche tout le fichier
cat -n fichier.txt # affiche avec numéros de lignes
less â Lire un fichier page par page
less /var/log/syslog # parcourir avec les flĂšches, quitter avec q
head / tail â DĂ©but ou fin d'un fichier
head fichier.txt # affiche les 10 premiĂšres lignes
head -n 20 fichier.txt # affiche les 20 premiĂšres lignes
tail fichier.txt # affiche les 10 derniĂšres lignes
tail -f /var/log/syslog # suit le fichier en temps réel (logs live)
find â Chercher des fichiers
find / -name "fichier.txt" # cherche partout
find /home -name "*.log" # cherche les fichiers .log dans /home
find /etc -type f -name "*.conf" # cherche uniquement des fichiers
find /tmp -type d # cherche uniquement des dossiers
grep â Chercher du texte dans un fichier
grep "erreur" fichier.txt # cherche le mot "erreur"
grep -i "erreur" fichier.txt # insensible Ă la casse
grep -r "erreur" /var/log/ # cherche dans tous les fichiers du dossier
grep -n "erreur" fichier.txt # affiche les numéros de lignes
đŠ 2. Gestion des paquets (installer des logiciels)
C'est ici que Debian et Fedora diffĂšrent le plus.
Debian / Ubuntu â apt
apt update # met Ă jour la liste des paquets disponibles
apt upgrade # installe les mises Ă jour disponibles
apt install nom_du_paquet # installe un logiciel
apt remove nom_du_paquet # désinstalle un logiciel
apt autoremove # supprime les paquets inutiles
apt search mot_clé # cherche un paquet
apt show nom_du_paquet # infos sur un paquet
apt list --installed # liste les paquets installés
Fedora / RHEL â dnf
dnf check-update # vérifie les mises à jour
dnf upgrade # installe les mises Ă jour
dnf install nom_du_paquet # installe un logiciel
dnf remove nom_du_paquet # désinstalle un logiciel
dnf autoremove # supprime les paquets inutiles
dnf search mot_clé # cherche un paquet
dnf info nom_du_paquet # infos sur un paquet
dnf list installed # liste les paquets installés
đ€ 3. Gestion des utilisateurs
adduser / useradd â CrĂ©er un utilisateur
Debian â adduser (plus simple, interactif) :
adduser tonnom
# Il te pose les questions : mot de passe, nom complet, etc.
Fedora â useradd (moins interactif) :
useradd tonnom # crée l'utilisateur
passwd tonnom # définit le mot de passe séparément
passwd â Changer un mot de passe
passwd # change ton propre mot de passe
passwd tonnom # change le mot de passe d'un autre utilisateur (en root)
userdel â Supprimer un utilisateur
userdel tonnom # supprime l'utilisateur mais garde son dossier home
userdel -r tonnom # supprime l'utilisateur ET son dossier home
usermod â Modifier un utilisateur
usermod -l nouveau_nom ancien_nom # renomme un utilisateur
usermod -d /home/nouveau_home tonnom # change le dossier home
usermod -aG sudo tonnom # ajoute l'utilisateur au groupe sudo (Debian)
usermod -aG wheel tonnom # ajoute l'utilisateur au groupe wheel (Fedora)
usermod -L tonnom # verrouille le compte
usermod -U tonnom # déverrouille le compte
id â Voir les infos d'un utilisateur
id # affiche ton uid, gid et groupes
id tonnom # affiche les infos d'un autre utilisateur
who / w â Qui est connectĂ© ?
who # liste les utilisateurs connectés
w # liste + ce qu'ils font
su / sudo â Changer d'utilisateur ou devenir root
su - # devient root (demande le mot de passe root)
su - tonnom # devient un autre utilisateur
sudo commande # exécute une commande en tant que root
sudo -i # ouvre un shell root complet
Debian : root est souvent désactivé, on utilise
sudo.
Fedora : pareil, le groupewheeldonne accĂšs Ăsudo.
đ 4. Permissions et droits
Comprendre les permissions avec ls -l
-rwxr-xr-- 1 user groupe taille date fichier
âââââââââââââ
â â â âââ autres utilisateurs (r = lire)
â â âââââââ groupe (r-x = lire + exĂ©cuter)
â ââââââââââââ propriĂ©taire (rwx = tout)
âââââââââââââââ type : - fichier, d dossier, l lien
r = read (lire) = 4
w = write (écrire) = 2
x = execute (exécuter) = 1
chmod â Modifier les permissions
Méthode numérique :
chmod 755 script.sh # propriétaire : rwx | groupe : r-x | autres : r-x
chmod 644 fichier.txt # propriétaire : rw- | groupe : r-- | autres : r--
chmod 700 secret.sh # propriétaire : rwx | personne d'autre
chmod 777 fichier # tout le monde peut tout faire (déconseillé !)
Méthode symbolique :
chmod +x script.sh # ajoute le droit d'exécution
chmod -w fichier.txt # retire le droit d'écriture
chmod u+x script.sh # ajoute exécution pour le propriétaire (u=user)
chmod g-w fichier.txt # retire écriture pour le groupe (g=group)
chmod o-r fichier.txt # retire lecture pour les autres (o=others)
chown â Changer le propriĂ©taire
chown tonnom fichier.txt # change le propriétaire
chown tonnom:mongroupe fichier.txt # change propriétaire ET groupe
chown -R tonnom /home/tonnom/ # change récursivement (tout le dossier)
chgrp â Changer le groupe
chgrp mongroupe fichier.txt # change le groupe d'un fichier
chgrp -R mongroupe /var/www/ # change récursivement
đ„ 5. Gestion des groupes
groupadd â CrĂ©er un groupe
groupadd devs # crée le groupe "devs"
groupdel â Supprimer un groupe
groupdel devs
gpasswd â GĂ©rer les membres d'un groupe
gpasswd -a tonnom devs # ajoute tonnom au groupe devs
gpasswd -d tonnom devs # retire tonnom du groupe devs
groups â Voir les groupes d'un utilisateur
groups # tes groupes
groups tonnom # groupes d'un autre utilisateur
âïž 6. Processus et systĂšme
ps â Voir les processus en cours
ps aux # tous les processus de tous les utilisateurs
ps aux | grep nginx # filtrer pour un processus précis
top / htop â Moniteur de ressources interactif
top # moniteur basique (q pour quitter)
htop # version améliorée (à installer si absent)
kill â Tuer un processus
kill 1234 # envoie un signal d'arrĂȘt au processus PID 1234
kill -9 1234 # force la fermeture (dernier recours)
pkill nginx # tue par nom de processus
df â Espace disque
df -h # espace disque de toutes les partitions (lisible)
df -h /home # espace disque d'une partition précise
du â Taille d'un dossier
du -sh /var/log/ # taille totale d'un dossier
du -sh /* # taille de chaque dossier Ă la racine
free â MĂ©moire RAM
free -h # affiche la RAM utilisée/libre en lisible
uname â Infos systĂšme
uname -a # toutes les infos (kernel, architecture...)
uname -r # version du kernel uniquement
uptime â Depuis quand le systĂšme tourne
uptime
đ 7. RĂ©seau
ip â Configuration rĂ©seau
ip a # voir les interfaces réseau et IPs
ip r # voir les routes (passerelle...)
ip link show # état des interfaces
ping â Tester la connectivitĂ©
ping 8.8.8.8 # ping Google DNS
ping -c 4 google.com # envoie 4 paquets puis s'arrĂȘte
ss â Voir les connexions rĂ©seau
ss -tulnp # ports en écoute avec les processus associés
curl â Faire des requĂȘtes HTTP
curl https://example.com # affiche le contenu d'une URL
curl -O https://example.com/fichier # télécharge un fichier
curl -I https://example.com # affiche les en-tĂȘtes HTTP
wget â TĂ©lĂ©charger des fichiers
wget https://example.com/fichier.zip
wget -O nom_local.zip https://example.com/fichier.zip
hostname â Nom de la machine
hostname # affiche le nom de la machine
hostnamectl # infos détaillées + changer le nom
hostnamectl set-hostname nouveau-nom
đ§ 8. Services (systemd)
Valable sur Debian et Fedora, les deux utilisent
systemd.
systemctl status nginx # état d'un service
systemctl start nginx # démarrer un service
systemctl stop nginx # arrĂȘter un service
systemctl restart nginx # redémarrer un service
systemctl reload nginx # recharger la config sans couper
systemctl enable nginx # démarrer automatiquement au boot
systemctl disable nginx # ne plus démarrer au boot
systemctl enable --now nginx # activer ET démarrer immédiatement
systemctl list-units --type=service # lister tous les services
journalctl -u nginx # voir les logs d'un service
journalctl -u nginx -f # suivre les logs en direct
journalctl -xe # voir les derniers logs systĂšme
đ 9. Ăditeurs de texte en CLI
nano â Simple et accessible
nano fichier.txt
# Ctrl+O = sauvegarder | Ctrl+X = quitter | Ctrl+K = couper une ligne
vim â Puissant mais complexe
vim fichier.txt
# i = passer en mode insertion
# Echap = revenir en mode commande
# :w = sauvegarder
# :q = quitter
# :wq = sauvegarder et quitter
# :q! = quitter sans sauvegarder
đ 10. SSH â Connexion Ă distance
ssh user@ip_ou_domaine # se connecter Ă une machine distante
ssh -p 2222 user@ip # connexion sur un port personnalisé
ssh-keygen -t ed25519 # générer une paire de clés SSH
ssh-copy-id user@ip # copier sa clé publique sur le serveur
scp fichier.txt user@ip:/tmp/ # copier un fichier vers un serveur
scp user@ip:/tmp/fichier.txt . # copier un fichier depuis un serveur
đ 11. Commandes utiles diverses
history # voir l'historique des commandes
!! # relancer la derniĂšre commande
!commande # relancer la derniÚre commande commençant par "commande"
clear # effacer le terminal
echo "texte" # afficher du texte
echo $HOME # afficher une variable d'environnement
env # voir toutes les variables d'environnement
which python3 # trouver oĂč est installĂ© un programme
whereis nginx # trouver les fichiers liés à un programme
man ls # afficher le manuel d'une commande (q pour quitter)
--help # option disponible sur presque toutes les commandes
alias ll='ls -la' # créer un raccourci de commande
đ RĂ©sumĂ© des diffĂ©rences Debian vs Fedora
| Action | Debian | Fedora |
|---|---|---|
| Installer un paquet | apt install |
dnf install |
| Mettre Ă jour | apt update && apt upgrade |
dnf upgrade |
| Chercher un paquet | apt search |
dnf search |
| Supprimer un paquet | apt remove |
dnf remove |
| Créer un utilisateur | adduser (interactif) |
useradd + passwd |
| Groupe sudo | sudo |
wheel |
| Logs systĂšme | journalctl |
journalctl |
| Pare-feu | ufw |
firewalld |
đĄ Astuce : En cas de doute sur une commande, utilise
man nom_commandeounom_commande --help.
â ïž Rappel : Toujours faire attention avec les commandesrm -rf,chmod 777et tout ce qui est exĂ©cutĂ© en root.