Les commandes fondamentales de Linux à connaître

Pour se déplacer dans l'arborescence, on utilise cd :

  • cd /var/log — se rendre au chemin indiqué
  • cd .. — remonter d'un niveau
  • cd ../.. — remonter de deux niveaux
  • cd / — aller à la racine du système

Pour lister le contenu d'un répertoire :

  • ls — affiche les éléments visibles
  • ls -a — inclut les fichiers cachés
  • ls -l — affiche les détails (permissions, propriétaire, taille, date)
  • ls -al — combine détails et fichiers cachés

Pour connaître le répertoire courant :

pwd

Pour créer des répertoires :

mkdir dossier1
mkdir -p projet/src/modules  # création récursive

Pour supprimer un répertoire vide :

rmdir dossier1

Copie, déplacement et suppression

# Copier un fichier vers un emplacement
cp source.txt destination/

# Copier en renommant
cp source.txt destination/copie.txt

# Suppression forcée et récursive
rm -rf vieux_dossier/

# Déplacer ou renommer
mv rapport.txt archives/
mv rapport.txt archives/rapport_2024.txt

Permissions et propriété des fichiers

Exemple d'affichage avec ls -l :

drwxr-xr-x. 15 root root 4096 Oct 16 09:00 usr
-rw-r--r--  1 root root    0 Nov 20 22:49 notes.txt
lrwxrwxrwx.  1 root root    7 Aug 18 2017 bin -> usr/bin

Le premier caractère indique le type :

  • d — répertoire
  • - — fichier standard
  • l — lien symbolique
  • b — périphérique en bloc
  • c — périphérique caractère (clavier, souris)

Les caractères suivants se divisent en trois groupes de trois : propriétaire, groupe, autres. Chaque groupe contient r (lecture), w (écriture), x (exécution).

Changer le groupe propriétaire :

chgrp equipe_dev notes.txt
chgrp -R equipe_dev projet/  # récursif

Changer le propriétaire :

chown alice notes.txt
chown -R alice projet/

Modifier les permissions avec des chiffres (lecture=4, écriture=2, exécution=1) :

chmod 755 script.sh   # rwxr-xr-x
chmod 644 config.cfg  # rw-r--r--

Liens physiques et symboliques

Un lien physique (hard link) est une référence directe vers les données. Le fichier n'est réellement supprimé que lorsque son nombre de liens atteint zéro. Un lien symbolique (soft link) est un raccourci qui devient invalide si la cible est supprimée.

ln original.txt lien_dur.txt
ln -s original.txt lien_sym.txt

Consultation du contenu des fichiers

Affichage complet :

  • cat — du début à la fin
  • tac — de la fin au début
  • nl — avec numérotation des lignes
cat /etc/hostname
tac /etc/hostname
nl /etc/hostname

Affichage paginé :

  • more — navigation avec espace pour avancer
  • less — navigation bidirectionnelle avec flèches, q pour quitter. La recherche se fait avec /terme (vers le bas) ou ?terme (vers le haut)
less /var/log/syslog

Affichage partiel :

head -n 30 /etc/services   # 30 premières lignes
tail -n 50 /var/log/syslog  # 50 dernières lignes

Création et écriture dans un fichier

touch rapport.txt
echo "Rapport généré le $(date)" >> rapport.txt

Édition avec Vim

vim rapport.txt

Vim s'ouvre en mode commande (lecture seule). Appuyez sur i pour passer en mode insertion. Échap revient au mode commande. Saisissez :w pour sauvegarder, :q pour quitter, ou :wq pour les deux.

Gestion des utilisateurs

Consulter les comptes :

cat /etc/passwd   # informations de base
cat /etc/shadow    # mots de passe (chiffrés)

Créer, modifier et supprimer :

# Créer un utilisateur avec son répertoire personnel
useradd -m jean

# Modifier son répertoire personnel
usermod -d /home/jean_d jean

# Supprimer l'utilisateur et son répertoire
userdel -r jean

Gestion des mots de passe :

passwd jean         # définir le mot de passe (root)
passwd -l jean      # verrouiller le compte
passwd -u jean      # déverrouiller le compte
passwd -d jean      # supprimer le mot de passe
passwd              # l'utilisateur change son propre mot de passe

Basculer entre comptes :

su jean
exit

Gestion des groupes

cat /etc/group

# Créer un groupe
groupadd developpeurs

# Créer avec un identifiant spécifique
groupadd -g 520 developpeurs

# Renommer et changer l'identifiant
groupmod -g 666 -n devs developpeurs

# Supprimer
groupdel devs

Espace disque

# Occupation des systèmes de fichiers
df       # en octets
df -h    # format lisible (K, M, G)

# Taille d'un fichier ou répertoire
du -h /var/log

Gestion des processus

# Lister les processus
ps -A
ps aux | grep nginx
ps -ef | grep nginx   # affiche aussi le processus parent

# Arborescence des processus
pstree -pu

# Forcer l'arrêt d'un processus
kill -9 1234

Configuration du nom d'hôte

hostname          # afficher
hostname serveur01 # modifier temporairement

Archivage et compression

Archivage seul (sans compression) :

tar -cvf archive.tar dossier/
tar -xvf archive.tar

Compression avec gzip (extension .tar.gz) :

tar -zcvf archive.tar.gz dossier/
tar -zxvf archive.tar.gz
tar -zxvf archive.tar.gz -C /tmp/extraire/

Compression avec bzip2 (extension .tar.bz2, taux de compression différent) :

tar -jcvf archive.tar.bz2 dossier/
tar -jxvf archive.tar.bz2

L'option -f doit toujours être placée en dernier parmi les options. La cible de décompression doit préalablement exister.

Publié le 1 août à 00h12