Ce mémo rassemble les commandes Linux essentielles pour administrer un serveur Debian : mises à jour, fichiers, recherche, redirections, archives, utilisateurs et permissions. Il couvre aussi les processus et services, la supervision système, le réseau et les raccourcis de l'éditeur nano.

Debian : mises à jour et navigation

sudo apt update && sudo apt upgrade -y
sudo apt update && sudo apt full-upgrade -y
sudo apt autoremove -y
sudo apt clean

cd ~
pwd
cd "$HOME"
mkdir -p /var/www/nouveauDossier
rm -r /var/www/nouveauDossier

ls -l
ls --help

test -d /chemin/vers/dossier && echo "Le dossier existe." || echo "Le dossier n'existe pas."
test -f /var/www/html/index.html && echo "Le fichier existe." || echo "Le fichier n'existe pas."
man test
help test
timedatectl status

Manipulation de fichiers et dossiers

touch fichier.txt                       # Créer un fichier vide
cp source.txt destination.txt           # Copier un fichier
cp -r dossierSource/ dossierCible/      # Copier un dossier et son contenu
mv ancien.txt nouveau.txt               # Renommer ou déplacer un fichier
rm fichier.txt                          # Supprimer un fichier
rm -r dossier/                          # Supprimer un dossier et son contenu
ln -s /chemin/vers/cible raccourci      # Créer un lien symbolique

cat fichier.txt                         # Afficher tout le contenu
less fichier.txt                        # Parcourir page par page (q pour quitter)
head -n 20 fichier.txt                  # Les 20 premières lignes
tail -n 20 fichier.txt                  # Les 20 dernières lignes
tail -f /var/log/syslog                 # Suivre un fichier qui s'écrit en temps réel

Rechercher un fichier ou du contenu

find /var/www -name "*.php"             # Chercher par nom
find /var/www -type f -mtime -1         # Fichiers modifiés depuis moins d'un jour
locate nginx.conf                       # Recherche rapide via l'index (updatedb pour l'actualiser)
which php                               # Emplacement d'un exécutable dans le PATH
grep -rn "motif" /var/www               # Chercher un texte récursivement (n = numéro de ligne)
grep -i "erreur" /var/log/syslog        # Recherche insensible à la casse

Afficher, filtrer et enchaîner (redirections et pipes)

commande > fichier.txt                  # Rediriger la sortie vers un fichier (écrase)
commande >> fichier.txt                 # Rediriger en ajoutant à la fin
commande 2> erreurs.txt                 # Rediriger uniquement les erreurs
commande1 | commande2                   # Pipe : la sortie de la première alimente la seconde

wc -l fichier.txt                       # Compter les lignes
sort fichier.txt                        # Trier les lignes
sort fichier.txt | uniq -c              # Dédupliquer en comptant les occurrences
cut -d: -f1 /etc/passwd                 # Extraire une colonne (séparateur « : »)
ps aux | grep apache                    # Exemple de pipe : filtrer une liste de processus

Archives et compression

tar -czvf archive.tar.gz dossier/       # Créer une archive compressée (gzip)
tar -xzvf archive.tar.gz                # Extraire une archive .tar.gz
tar -tzvf archive.tar.gz                # Lister le contenu sans extraire
gzip fichier.txt                        # Compresser (produit fichier.txt.gz)
gunzip fichier.txt.gz                   # Décompresser
zip -r archive.zip dossier/             # Créer une archive .zip
unzip archive.zip                       # Extraire une archive .zip

Utilisateurs & Groupes

compgen -u                              # Lister les utilisateurs   //   cut -d: -f1 /etc/passwd
compgen -g                              # Lister des groupes        //   cut -d: -f1 /etc/group

sudo useradd UserName                   # Ajouter un utilisateur au système avec le groupe 'UserName'
sudo groupadd GroupName                 # Ajouter un groupe au système
passwd UserName                         # Modification du mot de passe
sudo usermod -aG GroupName UserName     # Ajouter un utilisateur à un groupe

sudo gpasswd -d UserName GroupName      # Supprimer un utilisateur d'un groupe
sudo deluser UserName GroupName         # Supprimer un utilisateur d'un groupe

getent group GroupName                  # Lister les membres d'un groupe
groups UserName                         # Lister les groupes auxquels appartient un utilisateur

sudo userdel UserName                   # Suppression d'un utilisateur
sudo groupdel GroupName                 # Suppression d'un groupe

sudo usermod --expiredate 1 UserName    # Verrouillage d'un compte
sudo usermod --expiredate "" UserName   # Pour le réactiver
sudo groupmod --new-name nouveau_nom nom_actuel  # Modification de l'identifiant de groupe

Propriétaire et droits d'un fichier ou répertoire

sudo chown -R www-data:www-data /var/www/html/
sudo chown -R UserName:GroupName /var/www/MonSiteInternet.fr/

Il n'est pas possible d'attribuer directement plusieurs propriétaires à un même fichier ou répertoire.

Les droits se répartissent sur trois niveaux (user, group, others), chacun combinant lecture (4), écriture (2) et exécution (1). La valeur octale 640 ci-dessous correspond à rw- pour l'utilisateur, r-- pour le groupe et --- pour les autres.

640 user group others
lecture - r (4) x x
écriture - w (2) x
exécuter - x (1)
find /var/www/Dossier -type d -exec chmod 750 {} \;
find /var/www/Dossier -type f -exec chmod 640 {} \;

Processus et services

ps aux                                  # Lister tous les processus
top                                     # Moniteur temps réel (q pour quitter)
htop                                    # Version améliorée (sudo apt install htop)
kill 1234                               # Terminer le processus dont le PID est 1234
kill -9 1234                            # Forcer l'arrêt d'un processus récalcitrant
pkill nom_du_processus                  # Terminer un processus par son nom

sudo systemctl status apache2           # État d'un service
sudo systemctl restart apache2          # Redémarrer un service
sudo systemctl enable apache2           # Activer un service au démarrage
journalctl -u apache2 -n 50 --no-pager  # 50 dernières lignes de log d'un service
journalctl -f                           # Suivre les logs système en direct

Disque, mémoire et système

df -h                                   # Espace disque par partition (format lisible)
du -sh /var/www/*                       # Taille de chaque élément d'un dossier
free -h                                 # Mémoire vive utilisée et disponible
lsblk                                   # Disques et partitions
uname -a                                # Version du noyau et architecture
uptime                                  # Charge moyenne et temps de fonctionnement

Réseau

ip a                                    # Adresses IP des interfaces réseau
ss -tulpn                               # Ports en écoute (TCP/UDP)
ping -c 4 synapx.fr                     # Tester la connectivité (4 paquets)
curl -I https://synapx.fr               # Récupérer les en-têtes HTTP d'une URL
wget https://exemple.fr/fichier.zip     # Télécharger un fichier
ssh user@serveur                        # Ouvrir une connexion distante
scp fichier.txt user@serveur:/chemin/   # Copier un fichier vers un serveur distant
rsync -avz dossier/ user@serveur:/chemin/  # Synchroniser un dossier (incrémental et compressé)

L'éditeur nano

Déplacement dans le texte :

  • Ctrl+A : Aller au début de la ligne.
  • Ctrl+E : Aller à la fin de la ligne.
  • Ctrl+Y : Faire défiler l'écran vers le haut d'une page.
  • Ctrl+V : Faire défiler l'écran vers le bas d'une page.
  • Ctrl+ : Aller à une ligne spécifique (Ctrl+Shift+).

Édition :

  • Ctrl+K : Couper (supprimer) la ligne courante.
  • Ctrl+U : Coller la ligne précédemment coupée.
  • Ctrl+J : Justifier le paragraphe.
  • Ctrl+6 : Commencer la sélection de texte (marquer le texte).
  • Ctrl+Shift+6 : Annuler la sélection de texte.
  • Alt+6 : Copier le texte sélectionné dans le presse-papiers.
  • Ctrl+X : Quitter nano, en demandant si vous voulez enregistrer les modifications.
  • Ctrl+O : Enregistrer le fichier en cours.

Recherche et indentation :

  • Ctrl+W : Chercher du texte.
  • Alt+W : Rechercher l'occurrence suivante.
  • Alt+} : Indenter la ligne courante (ou les lignes sélectionnées).
  • Alt+{ : Désindenter la ligne courante (ou les lignes sélectionnées).