Skip to content

Latest commit

 

History

History
403 lines (339 loc) · 13.5 KB

File metadata and controls

403 lines (339 loc) · 13.5 KB

Guide des Commandes Linux Essentielles

Table des matières

Navigation et Gestion des Fichiers

Commande ls (Lister les fichiers)

ls          # Affiche le contenu du répertoire courant
ls -a       # Affiche tous les fichiers, y compris les fichiers cachés
ls -l       # Format détaillé (permissions, propriétaire, taille, date)
ls -h       # Tailles lisibles (Ko, Mo, Go)
ls -R       # Affiche récursivement les sous-répertoires
ls -S       # Trie par taille décroissante
ls -t       # Trie par date de modification
ls -r       # Ordre inverse

Filtres avancés pour ls

ls -d /etc/s*          # Fichiers commençant par 's' dans /etc
ls -d /etc/????        # Fichiers avec exactement 4 caractères
ls -d /etc/[abcd]*     # Fichiers commençant par a, b, c ou d

Navigation

pwd         # Affiche le répertoire courant
cd [chemin] # Change de répertoire
cd ..       # Remonte d'un niveau
cd ~        # Retourne au répertoire personnel
cd -        # Retourne au répertoire précédent

Manipulation de fichiers

cp [source] [destination]   # Copie de fichiers
cp -r                      # Copie récursive (pour les dossiers)
cp -v                      # Mode verbeux (affiche les détails)
mv [source] [destination]  # Déplace ou renomme
rm [fichier]              # Supprime un fichier
rm -r [dossier]           # Supprime un dossier et son contenu
rm -i                     # Demande confirmation avant suppression

Copie Serveur vers PC & PC vers Serveur

# Copie du serveur vers le PC (à exécuter sur le PC ou sur le serveur)
scp -r usernameServer@ipServer:/chemin/sur/serveur /chemin/sur/PC

# Copie du PC vers le serveur (à exécuter sur le PC)
scp -r /chemin/sur/PC usernameServer@ipServer:/chemin/sur/serveur

Gestion des Utilisateurs et Permissions

Utilisateurs et Groupes

sudo                       # Exécute une commande en tant que super utilisateur
su [utilisateur]          # Change d'utilisateur
whoami                    # Affiche l'utilisateur actuel
passwd [utilisateur]      # Change le mot de passe
passwd -S [utilisateur]   # État du mot de passe

Gestion des groupes

groups                              # Affiche les groupes de l'utilisateur actuel
usermod -aG sudo [utilisateur]      # Ajoute un utilisateur au groupe sudo
gpasswd -a [utilisateur] [groupe]   # Ajoute un utilisateur à un groupe
gpasswd -d [utilisateur] [groupe]   # Retire un utilisateur d'un groupe

Permissions

chmod [permissions] [fichier]       # Modifie les permissions
chmod 755 script.sh                 # Exemple : permissions en notation octale
chmod +x script.sh                  # Rend exécutable

chown [utilisateur]:[groupe] [fichier]  # Change le propriétaire
chown user:group fichier.txt            # Exemple

Visualisation et Manipulation de Fichiers

Lecture de fichiers

cat [fichier]        # Affiche le contenu
head [fichier]       # Affiche les 10 premières lignes
head -n 5           # Affiche les 5 premières lignes
tail [fichier]      # Affiche les 10 dernières lignes
tail -f             # Suit les modifications en temps réel

grep [motif] [fichier]  # Recherche un motif
grep -i                 # Insensible à la casse
grep -r                 # Recherche récursive
grep -v                 # Inverse la recherche

Manipulation de contenu

echo "texte" > fichier.txt     # Écrit dans un fichier (écrase)
echo "texte" >> fichier.txt    # Ajoute à la fin du fichier
echo "" > fichier.txt          # Vide le contenu du fichier

Système et Réseau

Commandes système

shutdown [option] [message]    # Arrêt du système
shutdown now                   # Arrêt immédiat
shutdown +10                   # Arrêt dans 10 minutes
reboot                        # Redémarre le système
ps                           # Liste les processus actifs
ps -e                        # Tous les processus système
top                         # Moniteur système interactif

Réseau

ifconfig            # Configuration réseau
ip a                # Alternative moderne à ifconfig
ping [hôte]         # Test de connectivité
netstat             # Statistiques réseau
ss                  # Alternative moderne à netstat

Utilitaires et Informations Système

Informations système

uname -a            # Informations système complètes
df -h               # Espace disque disponible
free -h             # Mémoire disponible
date                # Date et heure actuelles
cal                 # Calendrier
cal 1 2024          # Calendrier janvier 2024

Documentation

man [commande]      # Manuel d'utilisation
info [commande]     # Documentation détaillée
whatis [commande]   # Description courte
whereis [commande]  # Localisation des fichiers

Astuces et Personnalisation

Historique

history             # Historique des commandes
history 5           # 5 dernières commandes
!n                  # Exécute la commande n de l'historique
!!                  # Répète la dernière commande

Création d'alias

alias ll='ls -la'   # Crée un alias permanent (à mettre dans .bashrc)

Tips pour les débutants

Note : Pour exécuter un script, ajoutez ./ devant le nom :

./script.sh

Important : Pour les noms de fichiers avec espaces, utilisez des guillemets :

cd "Mon Dossier"
ls "Nom avec espaces"

Compression et Archives

tar (archivage)

# Création d'archive
tar -cvf archive.tar dossier/     # Crée une archive tar
tar -czvf archive.tar.gz dossier/ # Crée une archive tar compressée en gzip
tar -cjvf archive.tar.bz2 dossier/ # Crée une archive tar compressée en bzip2

# Extraction d'archive
tar -xvf archive.tar              # Extrait une archive tar
tar -xzvf archive.tar.gz          # Extrait une archive tar.gz
tar -xjvf archive.tar.bz2         # Extrait une archive tar.bz2

# Options communes
# -c : créer une archive
# -x : extraire une archive
# -v : mode verbeux
# -f : spécifier le nom du fichier
# -z : compression gzip
# -j : compression bzip2

zip et unzip

zip -r archive.zip dossier/       # Crée une archive zip
unzip archive.zip                 # Extrait une archive zip
unzip -l archive.zip             # Liste le contenu sans extraire

gzip et gunzip

gzip fichier                      # Compresse un fichier (créé .gz)
gunzip fichier.gz                 # Décompresse un fichier .gz
gzip -d fichier.gz               # Alternative pour décompresser

Téléchargement et Transfert

wget (téléchargement web)

wget URL                          # Télécharge un fichier
wget -c URL                       # Reprend un téléchargement interrompu
wget -O nom_fichier URL          # Télécharge avec un nom spécifique
wget --limit-rate=1m URL         # Limite la vitesse à 1MB/s
wget -b URL                      # Télécharge en arrière-plan

curl (transfert de données)

curl -O URL                       # Télécharge un fichier
curl -o nom_fichier URL          # Télécharge avec un nom spécifique
curl -C - URL                    # Reprend un téléchargement
curl -L URL                      # Suit les redirections

scp (copie sécurisée)

# Copie locale vers distant
scp fichier.txt user@serveur:/chemin/destination/

# Copie distant vers local
scp user@serveur:/chemin/fichier.txt /chemin/local/

# Copie récursive (dossier)
scp -r dossier/ user@serveur:/chemin/destination/

rsync (synchronisation)

rsync -av source/ destination/    # Synchronise avec archive et verbose
rsync -avz --progress source/ user@serveur:/destination/  # Avec compression

Gestion des Processus

Surveillance des processus

top                              # Affiche les processus en temps réel
htop                             # Version améliorée de top
ps aux                          # Liste tous les processus
ps aux | grep nom_process       # Recherche un processus spécifique

Gestion des tâches

commande &                       # Exécute en arrière-plan
Ctrl + Z                        # Suspend le processus actuel
bg                              # Passe le processus en arrière-plan
fg                              # Ramène le processus au premier plan
jobs                           # Liste les tâches en cours
kill PID                        # Termine un processus
killall nom_processus          # Termine tous les processus du nom

Priorité des processus

nice -n 10 commande             # Lance avec priorité modifiée
renice +10 PID                  # Modifie la priorité d'un processus

Recherche de Fichiers

find (recherche approfondie)

find . -name "*.txt"            # Recherche par nom
find . -type f -size +100M      # Recherche par taille (>100MB)
find . -mtime -7                # Fichiers modifiés ces 7 derniers jours
find . -type f -exec chmod 644 {} \;  # Exécute une commande sur résultats

locate (recherche rapide)

locate fichier.txt              # Recherche dans la base de données
updatedb                        # Met à jour la base de données locate

Gestion des Disques et du Stockage

Espace disque

df -h                           # Affiche l'espace disque
du -sh *                        # Taille des fichiers/dossiers
du -h --max-depth=1            # Taille avec profondeur limitée
ncdu                           # Navigateur d'utilisation disque

Montage de systèmes de fichiers

mount                           # Liste les systèmes montés
mount /dev/sdb1 /mnt/usb       # Monte une partition
umount /mnt/usb                # Démonte une partition

Gestion des services

systemctl start service         # Démarre un service
systemctl stop service         # Arrête un service
systemctl restart service      # Redémarre un service
systemctl status service       # État d'un service
systemctl enable service       # Active au démarrage
systemctl disable service      # Désactive au démarrage

Astuces et Personnalisation

Variables d'environnement

echo $PATH                      # Affiche le PATH
export VAR="valeur"            # Définit une variable
echo $VAR                      # Affiche une variable

Redirections et Pipes

commande > fichier             # Redirige la sortie (écrase)
commande >> fichier           # Redirige la sortie (ajoute)
commande 2> erreurs.log       # Redirige les erreurs
commande1 | commande2         # Pipe (chaîne les commandes)

Gestion des paquets (Debian/Ubuntu)

apt update                     # Met à jour la liste des paquets
apt upgrade                    # Met à jour les paquets installés
apt install paquet            # Installe un paquet
apt remove paquet             # Désinstalle un paquet
apt search terme              # Recherche un paquet

Note : Pour les systèmes RPM (Fedora/RHEL), remplacez apt par dnf.

Commandes Avancées & Réseau

Analyse Réseau & DNS

dig domaine.com              # Interroger les DNS (plus complet que nslookup)
nslookup domaine.com         # Interroger les DNS (simple)
traceroute google.com        # Voir le chemin des paquets réseau
lsof -i :80                  # Voir quel processus utilise le port 80
netstat -tulpn               # Lister les ports en écoute (TCP/UDP)

Surveillance Système Avancée

htop                         # Moniteur système coloré et interactif (mieux que top)
uptime                       # Temps de fonctionnement et charge système (load average)
lsof -p [PID]                # Lister les fichiers ouverts par un processus
vmstat 1                     # Statistiques mémoire/cpu en temps réel (chaque seconde)
iostat                       # Statistiques d'entrées/sorties disque
free -m                      # Afficher la mémoire en Mo

Traitement de Texte (Sed & Awk)

# Sed (Éditeur de flux)
sed 's/ancien/nouveau/g' fichier.txt   # Remplacer du texte (affichage seulement)
sed -i 's/ancien/nouveau/g' fichier.txt # Remplacer directement dans le fichier

# Awk (Traitement de données)
awk '{print $1}' fichier.txt            # Afficher la première colonne
awk -F":" '{print $1}' /etc/passwd      # Afficher les utilisateurs (séparateur :)

Gestion SSH

ssh-keygen -t ed25519                   # Générer une paire de clés SSH moderne
ssh-copy-id user@serveur                # Copier sa clé publique sur un serveur
ssh user@serveur -p 2222                # Se connecter sur un port spécifique

Sécurité Rapide

last                                    # Voir les dernières connexions
who                                     # Voir qui est connecté actuellement
sudo ufw status                         # Voir l'état du pare-feu (Ubuntu)
sudo ufw allow 80/tcp                   # Ouvrir le port 80