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).