Guide de Référence des Commandes Linux pour l'Administration Système

Informations Système et Matériel

Ces commandes permettent d'extraire des détails sur l'architecture, le noyau et les composants matériels du système.

arch                 # Afficher l'architecture matérielle (alternative : uname -m)
uname -r             # Consulter la version du noyau en cours d'utilisation
dmidecode -q         # Lister les composants matériels via le SMBIOS
hdparm -i /dev/sda   # Afficher les caractéristiques techniques d'un disque dur
cat /proc/cpuinfo    # Détails sur le processeur (fréquence, cœurs, etc.)
cat /proc/meminfo    # État détaillé de l'utilisation de la mémoire
cat /proc/swaps      # Identifier les partitions de swap actives
cat /proc/net/dev     # Statistiques sur les adaptateurs réseau
lspci -tv            # Visualisation arborescente des périphériques PCI
lsusb -tv            # Visualisation arborescente des périphériques USB

Gestion de l'Horloge et du Calendrier

cal 2024             # Afficher le calendrier de l'année 2024
date 102514002023.00 # Configurer la date : MoisJourHeureMinuteAnnée.Seconde
hwclock -w           # Synchroniser l'heure système vers l'horloge du BIOS (RTC)

Gestion de l'Alimentation

shutdown -h now      # Arrêt immédiat du système
init 0               # Arrêt via le changement de niveau d'exécution
reboot               # Redémarrer la machine (alternative : shutdown -r now)
logout               # Mettre fin à la session utilisateur actuelle

Opérations sur les Fichiers et Répertoires

cd /var/log          # Accéder au dossier des journaux
cd ..                # Remonter au dossier parent
cd ~                 # Retourner dans le répertoire personnel de l'utilisateur
pwd                  # Afficher le chemin complet du dossier courant

ls -F                # Lister les fichiers avec indicateur de type (ex: / pour dossier)
ls -lha              # Liste détaillée incluant la taille humaine et les fichiers cachés
tree                 # Structure récursive du répertoire (format graphique)

mkdir -p /app/data   # Créer une hiérarchie complète de dossiers
rm -rf /tmp/cache    # Suppression récursive et forcée d'un dossier
mv source.txt dest/  # Déplacer ou renommer un élément
cp -a dossier/ backup/ # Copie intégrale d'un répertoire en préservant les attributs

ln -s cible lien_sym # Création d'un lien symbolique
touch -t 2312250000 f1 # Modifier l'horodatage d'un fichier (AAAAMMJJhhmm)

Recherche de Données

find / -name config.php     # Recherche globale par nom de fichier
find /home -user admin      # Chercher les fichiers appartenant à l'utilisateur 'admin'
find /bin -type f -mtime -5 # Fichiers modifiés au cours des 5 derniers jours
locate *.pdf                # Recherche rapide via la base de données (nécessite updatedb)
which python3               # Localiser le binaire d'une commande exécutable

Gestion des Systèmes de Fichiers et Montages

df -h                       # Espace disque utilisé/disponible sur les partitions montées
du -sh /home/user           # Calculer la taille totale d'un dossier spécifique
mount /dev/sdb1 /mnt/usb    # Monter une partition sur un point d'accès
umount /mnt/usb             # Démonter un périphérique
fuser -km /mnt/data         # Forcer le démontage en tuant les processus actifs

Utilisateurs et Groupes

groupadd dev_team           # Création d'un nouveau groupe
useradd -m -g dev_team dev01 # Créer un utilisateur avec son dossier personnel et son groupe
userdel -r dev01            # Supprimer un utilisateur et son dossier home
passwd dev01                # Changer le mot de passe d'un utilisateur (root requis)
chage -l dev01              # Vérifier l'expiration du compte et du mot de passe

Droits d'Accès et Attributs

chmod 755 script.sh         # Droits rwxr-xr-x (Propriétaire complet, autres lecture/exécution)
chown user:group file       # Changer le propriétaire et le groupe d'un fichier
chattr +i important.conf    # Rendre un fichier immuable (impossible à supprimer même par root)
lsattr                      # Afficher les attributs spéciaux Linux

Archivage et Compression

tar -cvzf archive.tar.gz /data # Créer une archive compressée Gzip
tar -xvzf archive.tar.gz       # Extraire une archive Gzip
tar -cjvf archive.tar.bz2 /srv # Créer une archive compressée Bzip2
unzip project.zip              # Extraire un fichier ZIP

Gestion des Paquets (Debian/Ubuntu & RHEL/CentOS)

# Debian, Ubuntu (APT)
apt update && apt upgrade   # Mettre à jour la liste et les logiciels
apt install nginx           # Installer un paquet
apt remove --purge nodejs    # Supprimer un paquet et sa configuration

# RHEL, CentOS, Fedora (YUM/DNF)
yum install httpd           # Installation via YUM
yum update                  # Mise à jour globale
rpm -ivh package.rpm        # Installation manuelle d'un paquet RPM
rpm -qa | grep mysql        # Lister les paquets installés filtrés par nom

Traitement de Texte et Visualisation

cat log.txt                 # Afficher le contenu complet
tail -f /var/log/syslog     # Suivre en temps réel l'ajout de lignes dans un log
less /etc/nginx/conf.d/vhost # Visualisation interactive avec navigation
grep -i "error" app.log     # Rechercher le motif "error" sans distinction de casse
sed -i 's/old/new/g' f.txt  # Remplacement textuel direct dans le fichier
awk '{print $1}' stats.csv  # Extraire la première colonne d'un fichier

Analyse Réseau

ip addr show                # Configuration des interfaces réseau (remplace ifconfig)
ip route show               # Afficher la table de routage
netstat -tulpn              # Lister les ports en écoute et les services associés
tcpdump -i eth0 port 80     # Capturer le trafic HTTP sur l'interface eth0
host google.com             # Résolution DNS d'un domaine

Surveillance des Processus Java (JPS)

L'outil JPS (Java Virtual Machine Process Status) est essentiel pour surveiller les instances JVM en cours d'exécution.

jps -l                      # Affiche le nom complet du package de la classe principale ou le chemin du JAR
jps -v                      # Affiche les arguments passés à la JVM (Xms, Xmx, etc.)
jps -m                      # Affiche les paramètres transmis à la méthode main

Étiquettes: Linux sysadmin bash commands devops

Publié le 25 juillet à 13h22