Feuille de triche Linux

Visiter Commandes Linux

Pour obtenir des matériaux de référence complets sur les commandes Linux, des exemples de syntaxe et une documentation détaillée, veuillez visiter linux-commands.labex.io. Ce site indépendant fournit des fiches de triche Linux complètes couvrant les commandes essentielles, les concepts et les meilleures pratiques pour les administrateurs et les développeurs Linux.

Informations et État du Système

Informations Système : uname

Afficher les informations système, y compris le noyau et l’architecture.

# Afficher le nom du noyau
uname
# Afficher toutes les informations système
uname -a
# Afficher la version du noyau
uname -r
# Afficher l'architecture
uname -m
# Afficher le système d'exploitation
uname -o

Informations Matérielles : lscpu, lsblk

Visualiser les spécifications matérielles détaillées et les périphériques de bloc.

# Informations CPU
lscpu
# Périphériques de bloc (disques, partitions)
lsblk
# Informations mémoire
free -h
# Utilisation du disque par système de fichiers
df -h

Temps de Fonctionnement du Système : uptime

Afficher le temps de fonctionnement du système et les moyennes de charge.

# Temps de fonctionnement et charges du système
uptime
# Informations de temps de fonctionnement plus détaillées
uptime -p
# Afficher le temps de fonctionnement depuis une date spécifique
uptime -s

Utilisateurs Actuels : who, w

Afficher les utilisateurs actuellement connectés et leurs activités.

# Afficher les utilisateurs connectés
who
# Informations détaillées sur l'utilisateur avec activités
w
# Afficher le nom d'utilisateur actuel
whoami
# Afficher l'historique de connexion
last

Variables d’Environnement : env

Afficher et gérer les variables d’environnement.

# Afficher toutes les variables d'environnement
env
# Afficher une variable spécifique
echo $HOME
# Définir une variable d'environnement
export PATH=$PATH:/nouveau/chemin
# Afficher la variable PATH
echo $PATH

Date et Heure : date, timedatectl

Afficher et définir la date et l’heure du système.

# Date et heure actuelles
date
# Définir l'heure du système (en tant que root)
date MMddhhmmyyyy
# Informations sur le fuseau horaire
timedatectl
# Définir le fuseau horaire
timedatectl set-timezone America/New_York

Opérations sur les Fichiers et Répertoires

Lister les Fichiers : ls

Afficher les fichiers et répertoires avec diverses options de formatage.

# Lister les fichiers dans le répertoire courant
ls
# Liste détaillée avec permissions
ls -l
# Afficher les fichiers cachés
ls -la
# Tailles de fichiers lisibles par l'homme
ls -lh
# Trier par heure de modification
ls -lt

Changer de répertoire et afficher l’emplacement actuel.

# Aller au répertoire personnel
cd
# Aller à un répertoire spécifique
cd /chemin/vers/repertoire
# Monter d'un niveau
cd ..
# Afficher le répertoire courant
pwd
# Aller au répertoire précédent
cd -
Quiz

Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage

Quelle commande affiche le répertoire de travail actuel ?
cd
pwd
ls
whoami

Créer et Supprimer : mkdir, rmdir, rm

Créer et supprimer des fichiers et des répertoires.

# Créer un répertoire
mkdir nouveau_rep
# Créer des répertoires imbriqués
mkdir -p chemin/vers/rep/imbrique
# Supprimer un répertoire vide
rmdir nom_rep
# Supprimer un fichier
rm nom_fichier
# Supprimer un répertoire récursivement
rm -rf nom_rep

Voir le Contenu des Fichiers : cat, less, head, tail

Afficher le contenu des fichiers en utilisant diverses méthodes et pagination.

# Afficher le fichier entier
cat nom_fichier
# Voir le fichier avec pagination
less nom_fichier
# Afficher les 10 premières lignes
head nom_fichier
# Afficher les 10 dernières lignes
tail nom_fichier
# Suivre les changements de fichier en temps réel
tail -f journal.log

Copier et Déplacer : cp, mv

Copier et déplacer des fichiers et des répertoires.

# Copier un fichier
cp source.txt destination.txt
# Copier un répertoire récursivement
cp -r repertoire_source/ repertoire_destination/
# Déplacer/renommer un fichier
mv ancien_nom.txt nouveau_nom.txt
# Déplacer vers un répertoire différent
mv fichier.txt /chemin/vers/destination/
# Copier en préservant les attributs
cp -p fichier.txt sauvegarde.txt

Trouver des Fichiers : find, locate

Rechercher des fichiers et des répertoires par nom, type ou propriétés.

# Trouver par nom
find /chemin -name "nom_fichier"
# Trouver les fichiers modifiés dans les 7 derniers jours
find /chemin -mtime -7
# Trouver par type de fichier
find /chemin -type f -name "*.txt"
# Localiser les fichiers rapidement (nécessite updatedb)
locate nom_fichier
# Trouver et exécuter une commande
find /chemin -name "*.log" -exec rm {} \;

Permissions des Fichiers : chmod, chown

Modifier les permissions et la propriété des fichiers.

# Changer les permissions (numérique)
chmod 755 nom_fichier
# Ajouter la permission d'exécution
chmod +x script.sh
# Changer la propriété
chown utilisateur:groupe nom_fichier
# Changer la propriété récursivement
chown -R utilisateur:groupe repertoire/
# Voir les permissions du fichier
ls -l nom_fichier
Quiz

Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage

Que définit chmod 755 nom_fichier comme permissions ?
Lecture, écriture, exécution pour le propriétaire ; lecture pour le groupe et les autres
Lecture, écriture pour le propriétaire ; lecture, exécution pour le groupe et les autres
Lecture, écriture, exécution pour le propriétaire ; lecture, exécution pour le groupe et les autres
Lecture, écriture pour le propriétaire ; lecture pour le groupe et les autres

Gestion des Processus

Liste des Processus : ps

Afficher les processus en cours d’exécution et leurs détails.

# Afficher les processus utilisateur
ps
# Afficher tous les processus avec détails
ps aux
# Afficher l'arborescence des processus
ps -ef --forest
# Afficher les processus par utilisateur
ps -u nom_utilisateur

Tuer les Processus : kill, killall

Terminer les processus par PID ou par nom.

# Moniteur de processus en temps réel
top
# Tuer le processus par PID
kill 1234
# Tuer le processus de force
kill -9 1234
# Tuer par nom de processus
killall nom_processus
# Lister tous les signaux
kill -l
# Envoyer un signal spécifique
kill -HUP 1234
Quiz

Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage

Quel signal kill -9 envoie-t-il à un processus ?
SIGTERM (terminer gracieusement)
SIGHUP (raccrocher)
SIGINT (interruption)
SIGKILL (tuer de force, ne peut être ignoré)

Tâches d’Arrière-plan : jobs, bg, fg

Gérer les processus d’arrière-plan et de premier plan.

# Lister les tâches actives
jobs
# Envoyer la tâche à l'arrière-plan
bg %1
# Ramener la tâche au premier plan
fg %1
# Exécuter la commande en arrière-plan
commande &
# Détacher du terminal
nohup commande &

Moniteur Système : htop, systemctl

Surveiller les ressources système et gérer les services.

# Visionneuse de processus améliorée (si installée)
htop
# Vérifier l'état du service
systemctl status nom_service
# Démarrer le service
systemctl start nom_service
# Activer le service au démarrage
systemctl enable nom_service
# Voir les journaux système
journalctl -f

Opérations Réseau

Configuration Réseau : ip, ifconfig

Afficher et configurer les interfaces réseau.

# Afficher les interfaces réseau
ip addr show
# Afficher la table de routage
ip route show
# Configurer l'interface (temporaire)
ip addr add 192.168.1.10/24 dev eth0
# Mettre l'interface en marche/arrêt
ip link set eth0 up
# Configuration d'interface héritée
ifconfig

Test Réseau : ping, traceroute

Tester la connectivité réseau et tracer les chemins des paquets.

# Tester la connectivité
ping google.com
# Ping avec limite de compte
ping -c 4 192.168.1.1
# Tracer la route vers la destination
traceroute google.com
# MTR - outil de diagnostic réseau
mtr google.com
Quiz

Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage

Que fait la commande ping -c 4 ?
Ping avec un délai d'attente de 4 secondes
Envoie 4 paquets ping et s'arrête
Ping 4 hôtes différents
Attend 4 secondes entre les pings

Analyse des Ports et Connexions : netstat, ss

Afficher les connexions réseau et les ports en écoute.

# Afficher toutes les connexions
netstat -tuln
# Afficher les ports en écoute
netstat -tuln | grep LISTEN
# Remplacement moderne de netstat
ss -tuln
# Afficher les processus utilisant les ports
netstat -tulnp
# Vérifier un port spécifique
netstat -tuln | grep :80

Transfert de Fichiers : scp, rsync

Transférer des fichiers en toute sécurité entre systèmes.

# Copier un fichier vers un hôte distant
scp fichier.txt utilisateur@hote:/chemin/
# Copier depuis un hôte distant
scp utilisateur@hote:/chemin/fichier.txt ./
# Synchroniser les répertoires
rsync -avz repertoire_local/ utilisateur@hote:/repertoire_distant/
# Rsync avec progression
rsync -avz --progress src/ dest/

Traitement de Texte et Recherche

Recherche de Texte : grep

Rechercher des motifs dans les fichiers et la sortie des commandes.

# Rechercher un motif dans un fichier
grep "motif" nom_fichier
# Recherche insensible à la casse
grep -i "motif" nom_fichier
# Recherche récursive dans les répertoires
grep -r "motif" /chemin/
# Afficher les numéros de ligne
grep -n "motif" nom_fichier
# Compter les lignes correspondantes
grep -c "motif" nom_fichier
Quiz

Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage

Quelle option grep effectue une recherche insensible à la casse ?
-i
-c
-n
-r

Manipulation de Texte : sed, awk

Modifier et traiter le texte à l’aide d’éditeurs de flux et d’analyseurs de motifs.

# Remplacer le texte dans le fichier
sed 's/ancien/nouveau/g' nom_fichier
# Supprimer les lignes contenant un motif
sed '/motif/d' nom_fichier
# Afficher des champs spécifiques
awk '{print $1, $3}' nom_fichier
# Sommer les valeurs dans une colonne
awk '{sum += $1} END {print sum}' nom_fichier

Trier et Compter : sort, uniq, wc

Trier les données, supprimer les doublons et compter les lignes, les mots ou les caractères.

# Trier le contenu du fichier
sort nom_fichier
# Trier numériquement
sort -n nombres.txt
# Supprimer les lignes dupliquées
uniq nom_fichier
# Trier et supprimer les doublons
sort nom_fichier | uniq
# Compter les lignes, les mots, les caractères
wc nom_fichier
# Compter uniquement les lignes
wc -l nom_fichier

Couper et Coller : cut, paste

Extraire des colonnes spécifiques et combiner des fichiers.

# Extraire la première colonne
cut -d',' -f1 fichier.csv
# Extraire une plage de caractères
cut -c1-10 nom_fichier
# Combiner les fichiers côte à côte
paste fichier1.txt fichier2.txt
# Utiliser un délimiteur personnalisé
cut -d':' -f1,3 /etc/passwd

Archive et Compression

Créer des Archives : tar

Créer et extraire des archives compressées.

# Créer une archive tar
tar -cf archive.tar fichiers/
# Créer une archive compressée
tar -czf archive.tar.gz fichiers/
# Extraire l'archive
tar -xf archive.tar
# Extraire l'archive compressée
tar -xzf archive.tar.gz
# Lister le contenu de l'archive
tar -tf archive.tar

Compression : gzip, zip

Compresser et décompresser des fichiers à l’aide de divers algorithmes.

# Compresser un fichier avec gzip
gzip nom_fichier
# Décompresser un fichier gzip
gunzip nom_fichier.gz
# Créer une archive zip
zip archive.zip fichier1 fichier2
# Extraire une archive zip
unzip archive.zip
# Lister le contenu zip
unzip -l archive.zip

Archives Avancées : Options tar

Opérations tar avancées pour la sauvegarde et la restauration.

# Créer une archive avec compression
tar -czvf sauvegarde.tar.gz /home/utilisateur/
# Extraire vers un répertoire spécifique
tar -xzf archive.tar.gz -C /destination/
# Ajouter des fichiers à une archive existante
tar -rf archive.tar nouveau_fichier.txt
# Mettre à jour l'archive avec des fichiers plus récents
tar -uf archive.tar fichiers/

Espace Disque : du

Analyser l’utilisation du disque et la taille des répertoires.

# Afficher les tailles des répertoires
du -h /chemin/
# Résumé de la taille totale
du -sh /chemin/
# Afficher les tailles de tous les sous-répertoires
du -h --max-depth=1 /chemin/
# Répertoires les plus volumineux en premier
du -h | sort -hr | head -10

Surveillance et Performance du Système

Utilisation de la Mémoire : free, vmstat

Surveiller l’utilisation de la mémoire et les statistiques de mémoire virtuelle.

# Résumé de l'utilisation de la mémoire
free -h
# Statistiques mémoire détaillées
cat /proc/meminfo
# Statistiques de mémoire virtuelle
vmstat
# Utilisation de la mémoire toutes les 2 secondes
vmstat 2
# Afficher l'utilisation de l'espace d'échange (swap)
swapon --show

E/S Disque : iostat, iotop

Surveiller les performances d’entrée/sortie du disque et identifier les goulots d’étranglement.

# Statistiques d'E/S (nécessite sysstat)
iostat
# Statistiques d'E/S toutes les 2 secondes
iostat 2
# Surveiller les E/S de disque par processus
iotop
# Afficher l'utilisation des E/S pour un périphérique spécifique
iostat -x /dev/sda

Charge Système : top, htop

Surveiller la charge système, l’utilisation du CPU et les processus en cours d’exécution.

# Moniteur de processus en temps réel
top
# Visionneuse de processus améliorée
htop
# Afficher les moyennes de charge
uptime
# Afficher les informations CPU
lscpu
# Surveiller un processus spécifique
top -p PID

Fichiers Journaux : journalctl, dmesg

Visualiser et analyser les journaux système pour le dépannage.

# Voir les journaux système
journalctl
# Suivre les journaux en temps réel
journalctl -f
# Voir les journaux pour un service spécifique
journalctl -u nom_service
# Messages du noyau
dmesg
# Messages du dernier démarrage
dmesg | tail

Gestion des Utilisateurs et des Permissions

Opérations Utilisateur : useradd, usermod, userdel

Créer, modifier et supprimer des comptes utilisateurs.

# Ajouter un nouvel utilisateur
useradd nom_utilisateur
# Ajouter un utilisateur avec répertoire personnel
useradd -m nom_utilisateur
# Modifier le compte utilisateur
usermod -aG groupe_nom nom_utilisateur
# Supprimer un compte utilisateur
userdel nom_utilisateur
# Supprimer un utilisateur avec son répertoire personnel
userdel -r nom_utilisateur

Gestion des Groupes : groupadd, groups

Créer et gérer des groupes d’utilisateurs.

# Créer un nouveau groupe
groupadd nom_groupe
# Afficher les groupes de l'utilisateur
groups nom_utilisateur
# Afficher tous les groupes
cat /etc/group
# Ajouter un utilisateur à un groupe
usermod -aG groupe_nom nom_utilisateur
# Changer le groupe principal de l'utilisateur
usermod -g groupe_nom nom_utilisateur

Changer d’Utilisateur : su, sudo

Changer d’utilisateur et exécuter des commandes avec des privilèges élevés.

# Changer pour l'utilisateur root
su -
# Changer pour un utilisateur spécifique
su - nom_utilisateur
# Exécuter une commande en tant que root
sudo commande
# Exécuter une commande en tant qu'utilisateur spécifique
sudo -u nom_utilisateur commande
# Éditer le fichier sudoers
visudo

Gestion des Mots de Passe : passwd, chage

Gérer les mots de passe des utilisateurs et les politiques de compte.

# Changer son propre mot de passe
passwd
# Changer le mot de passe d'un autre utilisateur (en tant que root)
passwd nom_utilisateur
# Afficher les informations d'expiration du mot de passe
chage -l nom_utilisateur
# Définir l'expiration du mot de passe à 90 jours
chage -M 90 nom_utilisateur
# Forcer le changement de mot de passe à la prochaine connexion
passwd -e nom_utilisateur

Gestion des Paquets

APT (Debian/Ubuntu) : apt, apt-get

Gérer les paquets sur les systèmes basés sur Debian.

# Mettre à jour la liste des paquets
apt update
# Mettre à niveau tous les paquets
apt upgrade
# Installer un paquet
apt install nom_paquet
# Supprimer un paquet
apt remove nom_paquet
# Rechercher des paquets
apt search nom_paquet
# Afficher les informations sur le paquet
apt show nom_paquet

YUM/DNF (RHEL/Fedora) : yum, dnf

Gérer les paquets sur les systèmes basés sur Red Hat.

# Installer un paquet
yum install nom_paquet
# Mettre à jour tous les paquets
yum update
# Supprimer un paquet
yum remove nom_paquet
# Rechercher des paquets
yum search nom_paquet
# Lister les paquets installés
yum list installed

Paquets Snap : snap

Installer et gérer les paquets snap sur différentes distributions.

# Installer un paquet snap
snap install nom_paquet
# Lister les snaps installés
snap list
# Mettre à jour les paquets snap
snap refresh
# Supprimer un paquet snap
snap remove nom_paquet
# Rechercher des paquets snap
snap find nom_paquet

Paquets Flatpak : flatpak

Gérer les applications Flatpak pour les logiciels sandboxed.

# Installer flatpak
flatpak install nom_paquet
# Lister les flatpaks installés
flatpak list
# Mettre à jour les paquets flatpak
flatpak update
# Désinstaller flatpak
flatpak uninstall nom_paquet
# Rechercher des paquets flatpak
flatpak search nom_paquet

Shell et Scripting

Historique des Commandes : history

Accéder et gérer l’historique de la ligne de commande.

# Afficher l'historique des commandes
history
# Afficher les 10 dernières commandes
history 10
# Exécuter la commande précédente
!!
# Exécuter une commande par son numéro
!123
# Rechercher dans l'historique interactivement
Ctrl+R

Alias et Fonctions : alias

Créer des raccourcis pour les commandes fréquemment utilisées.

# Créer un alias
alias ll='ls -la'
# Afficher tous les alias
alias
# Supprimer un alias
unalias ll
# Rendre l'alias permanent (ajouter à .bashrc)
echo "alias ll='ls -la'" >> ~/.bashrc

Redirection d’Entrée/Sortie

Rediriger l’entrée et la sortie des commandes vers des fichiers ou d’autres commandes.

# Rediriger la sortie vers un fichier
commande > sortie.txt
# Ajouter la sortie à un fichier
commande >> sortie.txt
# Rediriger l'entrée depuis un fichier
commande < entree.txt
# Rediriger stdout et stderr
commande &> sortie.txt
# Transmettre la sortie à une autre commande
commande1 | commande2

Configuration de l’Environnement : .bashrc, .profile

Configurer l’environnement du shell et les scripts de démarrage.

# Éditer la configuration bash
nano ~/.bashrc
# Recharger la configuration
source ~/.bashrc
# Définir une variable d'environnement
export VARIABLE=valeur
# Ajouter au PATH
export PATH=$PATH:/nouveau/chemin
# Afficher les variables d'environnement
printenv

Installation et Configuration du Système

Options de Distribution : Ubuntu, CentOS, Debian

Choisir et installer des distributions Linux pour différents cas d’utilisation.

# Ubuntu Server
wget ubuntu-server.iso
# CentOS Stream
wget centos-stream.iso
# Debian Stable
wget debian.iso
# Vérifier l'intégrité de l'ISO
sha256sum linux.iso

Démarrage et Installation : USB, Réseau

Créer des supports de démarrage et effectuer l’installation du système.

# Créer une clé USB amorçable (Linux)
dd if=linux.iso of=/dev/sdX bs=4M
# Créer une clé USB amorçable (multiplateforme)
# Utiliser des outils comme Rufus, Etcher ou UNetbootin
# Installation réseau
# Configurer le démarrage PXE pour les installations réseau

Configuration Initiale : Utilisateurs, Réseau, SSH

Configurer la configuration de base du système après l’installation.

# Définir le nom d'hôte
hostnamectl set-hostname nouveau_nom
# Configurer l'IP statique
# Éditer /etc/netplan/ (Ubuntu) ou /etc/network/interfaces
# Activer le service SSH
systemctl enable ssh
systemctl start ssh
# Configurer le pare-feu
ufw enable
ufw allow ssh

Sécurité et Bonnes Pratiques

Configuration du Pare-feu : ufw, iptables

Configurer les règles de pare-feu pour protéger le système contre les menaces réseau.

# Activer le pare-feu UFW
ufw enable
# Autoriser un port spécifique
ufw allow 22/tcp
# Autoriser un service par son nom
ufw allow ssh
# Refuser l'accès
ufw deny 23
# Afficher l'état du pare-feu
ufw status verbose
# Règles avancées avec iptables
iptables -L

Intégrité des Fichiers : checksums

Vérifier l’intégrité des fichiers et détecter les modifications non autorisées.

# Générer un checksum MD5
md5sum nom_fichier
# Générer un checksum SHA256
sha256sum nom_fichier
# Vérifier le checksum
sha256sum -c checksums.txt
# Créer un fichier de checksum
sha256sum *.txt > checksums.txt

Mises à Jour du Système : Correctifs de Sécurité

Maintenir le système sécurisé avec des mises à jour régulières et des correctifs de sécurité.

# Mises à jour de sécurité Ubuntu
apt update && apt upgrade
# Mises à jour de sécurité automatiques
unattended-upgrades
# Mises à jour CentOS/RHEL
yum update --security
# Lister les mises à jour disponibles
apt list --upgradable

Surveillance des Journaux : Événements de Sécurité

Surveiller les journaux système pour les événements de sécurité et les anomalies.

# Surveiller les journaux d'authentification
tail -f /var/log/auth.log
# Vérifier les tentatives de connexion échouées
grep "Failed password" /var/log/auth.log
# Surveiller les journaux système
tail -f /var/log/syslog
# Voir l'historique de connexion
last
# Vérifier les activités suspectes
journalctl -p err

Dépannage et Récupération

Problèmes de Démarrage : Récupération GRUB

Récupérer les problèmes de chargeur de démarrage et de noyau.

# Démarrer en mode de secours
# Accéder au menu GRUB pendant le démarrage
# Monter le système de fichiers racine
mount /dev/sda1 /mnt
# Chroot dans le système
chroot /mnt
# Réinstaller GRUB
grub-install /dev/sda
# Mettre à jour la configuration GRUB
update-grub

Réparation du Système de Fichiers : fsck

Vérifier et réparer la corruption du système de fichiers.

# Vérifier le système de fichiers
fsck /dev/sda1
# Vérification forcée du système de fichiers
fsck -f /dev/sda1
# Réparation automatique
fsck -y /dev/sda1
# Vérifier tous les systèmes de fichiers montés
fsck -A

Problèmes de Service : systemctl

Diagnostiquer et corriger les problèmes liés aux services.

# Vérifier l'état du service
systemctl status nom_service
# Voir les journaux du service
journalctl -u nom_service
# Redémarrer le service en échec
systemctl restart nom_service
# Activer le service au démarrage
systemctl enable nom_service
# Lister les services en échec
systemctl --failed

Problèmes de Performance : Analyse des Ressources

Identifier et résoudre les goulots d’étranglement de performance du système.

# Vérifier l'espace disque
df -h
# Surveiller l'utilisation des E/S
iotop
# Vérifier l'utilisation de la mémoire
free -h
# Identifier l'utilisation du CPU
top
# Lister les fichiers ouverts
lsof

Liens Pertinents