Skip to content

Commande Utile

Commandes Système Linux


1. Navigation et Gestion de Fichiers

  • cd [DIRECTORY] : Change de rĂ©pertoire.
    • cd Documents : Ce dĂ©placer dans le repertoire Documents.
  • ls : Affiche le contenu du rĂ©pertoire actuel.
    • ls -l : Affichage dĂ©taillĂ© (permissions, propriĂ©taire, taille, date).
    • ls -a : Affiche tous les fichiers, y compris cachĂ©s.
  • pwd : Affiche le chemin complet du rĂ©pertoire actuel.
  • mkdir [DIRECTORY] : CrĂ©e un nouveau dossier.
  • rm [FILE] : Supprime un fichier.
  • rmdir [DIRECTORY] : Supprime un dossier.
  • cp [SRC] [DST] : Copie un fichier ou dossier.
  • mv [SRC] [DST] : DĂ©place ou renomme un fichier/dossier.

2. Gestion des Processus

  • ps aux : Liste tous les processus.
  • top : Affiche les processus en temps rĂ©el.
  • htop : Version amĂ©liorĂ©e de top (Ă  installer).
  • kill [PID] : Termine un processus par son PID.
  • killall [PROC] : Termine tous les processus ayant le mĂŞme nom.
  • pkill [PROC] : ArrĂŞte un processus par nom.

3. Réseau

  • ip a : Affiche la configuration rĂ©seau (souvent avec sudo).
  • ping [ADRESS] : Teste la connexion rĂ©seau.
  • netstat -tuln : Affiche les connexions rĂ©seau actives (obsolète).
  • ss -plunt : Affiche les connexions rĂ©seau actives, c'est une alternative plus moderne et plus rapide Ă  netstat . Il offre des fonctionnalitĂ©s similaires mais offre des informations plus dĂ©taillĂ©es et plus prĂ©cises sur les connexions rĂ©seau.
  • curl [URL] : RĂ©cupère le contenu d'une URL.
  • wget [URL] : TĂ©lĂ©charge un fichier depuis une URL.

4. Informations Système

  • uname -a : Informations sur le noyau et le système.
  • df -h : Utilisation de l’espace disque.
  • du -h [DIRECTORY] : Taille des dossiers et fichiers.
  • free -h : Utilisation de la mĂ©moire RAM.
  • uptime : Temps d’exĂ©cution du système.
  • dmesg : Messages du noyau pour le dĂ©bogage.
  • lscpu, lsblk, lsusb, lspci : Infos sur CPU, disques, pĂ©riphĂ©riques USB, et PCI.

Commandes supplémentaires pour l'état du système

  • free -h : Affiche l'Ă©tat de la mĂ©moire et du swap.
  • sync; echo 3 > /proc/sys/vm/drop_caches : Libère le swap en le mettant en mĂ©moire (si assez de mĂ©moire).
  • swapoff -a && swapon -a : Éteint et rallume le swap.
  • dmidecode -t memory : Informations sur la RAM et les slots disponibles.
  • lscpu : Informations sur le processeur.
  • systemctl list-unit-files : Liste les services avec systemd.
  • service --status-all : Liste les services avec service.

5. Gestion des Utilisateurs et Permissions

  • whoami : Identifie l’utilisateur actuel.
  • adduser [USER] : CrĂ©e un utilisateur.
  • deluser [USER] : Supprime un utilisateur.
  • chmod [mode] [FILE] : Modifie les permissions d'un fichier (ex : chmod 755 fichier.txt).
  • chown [USER]:[GROUP] [FILE] : Change le propriĂ©taire et le groupe d’un fichier.

6. Utilitaires Avancés

  • grep [WORD] [FILE] : Recherche un motif dans un fichier.
  • find [PATH] -name [FILE] : Recherche d'Ă©lĂ©ment dans une arborescence.
    • find / -type f -name [FILE] : Recherche d'un fichier dans le /.
    • find / -type d -name [DIRECTORY] : Recherche d'un repertoire dans le /.
    • find / -type f -iname [FILE] -mtime -7 : Recherche d'un fichier portant approximativement ce nom, dans le / pour les fichiers modifiĂ©s dans les 7 derniers jours.
    • find / -type f -name "*.log" -exec grep -H 'erreur' {} \; : Trouver tous les fichiers .log et rechercher le mot “erreur” dedans.
  • tar -czvf [NAME].tar.gz [DIRECTORY] : Compresse un dossier en .tar.gz.
  • tar -xzvf [NAME].tar.gz : DĂ©compresse une archive .tar.gz.
  • apt update && apt upgrade : Met Ă  jour les paquets (Debian/Ubuntu).
  • man [COMMAND] : Manuel d’une commande.
  • alias [NAME]='[COMMAND]' : CrĂ©e un alias. Ex : alias ll='ls -la'.
  • watch -n [TIME] '[COMMAND]' : ExĂ©cute une commande pĂ©riodiquement et affiche le rĂ©sultat Ă  l’écran.
    • watch -n 5 'df -h' : pour surveiller l’espace disque toutes les 5 secondes.
  • grep -r '[KEY-WORD]' '/[PATH]/[FILE]' : Recherche des motifs dans les fichiers.

Traitement des fichier avec sed

  • sed 's/[OLD]/[NEW]/' [FILE] : Remplace [OLD] par [NEW] dans un fichier (remplacement simple).
  • sed -e '/^#/d' -e '/^$/d' fichier.conf : Nettoyer un fichier (supprime commentaires/lignes vides)
  • sed '/^#/d; /^[[:space:]]*$/d' fichier.txt | head -10 : Extraire les 10 premières lignes utiles

Traitement de colonnes avec awk

  • awk '{print $1, $3}' fichier.csv : Afficher colonnes 1 et 3
  • awk '{sum+=$3} END {print sum}' data.txt : Somme d'une colonne
  • awk -F',' '{printf "%-20s %-10d\n", $2, $4}' input.csv : Formatage CSV

Tri et comptage

  • sort fichier.log | uniq -c | sort -nr : Top des occurrences
  • sort -n -k2 data.txt : Tri numĂ©rique par colonne 2

Combinaisons utiles

  • awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10 : Top 10 des IPs dans les logs
  • ps aux | awk '{print $2, $4, $11}' | sort -k2rn | head -20 : Processus triĂ©s par utilisation mĂ©moire
  • grep -r "ERROR" /var/log/ | awk '{print $1}' | sort | uniq -c : Recherche avancĂ©e dans les logs
  • find /var/log -type f -mtime -7 -printf "%TY-%Tm-%Td %TT %p\n" | sort -r : Fichiers rĂ©cemment modifiĂ©s (triĂ©s)

Commandes de transfert de fichiers

  • ssh -i ~/.ssh/id_ed -A [USER]@[MACHINE] : Forward de clĂ© SSH.
  • tune2fs -m 1 /dev/sd[a,b,...] : RĂ©duit l'espace rĂ©servĂ© Ă  root.
  • scp [MACHINE-A]:/[PATH]/[FILE]/[SRC] [MACHINE-B]:/[PATH]/[FILE]/[DST] : Copie de fichiers entre hĂ´tes.
  • rsync -avz [MACHINE-A]:/[PATH]/[FILE]/[SRC] [MACHINE-B]:/[PATH]/[FILE]/[DST] : Synchronise les fichiers entre hĂ´tes.

Surveillance avancée

Liste les processus utilisant du swap.

(echo "COMM PID SWAP"; for file in /proc/*/status; do awk '/^Pid|VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | grep kB | grep -wv "0 kB" | sort -k 3 -n -r) | column -t` 

Processus utilisant le swap

(echo "COMM PID SWAP"; for file in /proc/*/status; do 
  awk '/^Pid|VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; 
done | grep kB | grep -wv "0 kB" | sort -k 3 -n -r) | column -t

Logs en temps réel

tail -f /var/log/syslog | grep -i error                 # Filtre erreurs
tail -f access.log | awk '{print $9}' | sort | uniq -c  # Stats HTTP


7. Personnalisation de l'Environnement

  • export [VAR]=[valeur] : DĂ©finit une variable d’environnement temporaire.
    • export ll="ls -la" : DĂ©finit la commande ls -la dans la variable ll $ll lancer cette commande tapera indirectement ls -lh via la variable
  • vim ~/.bashrc : Édite le fichier de configuration Bash.
  • source ~/.bashrc : Recharge les configurations de .bashrc.

8. Journalisation

  • journalctl : Affiche tous les journaux.
    • --since="YYYY-MM-DD" et --until="YYYY-MM-DD" : Filtre par date.
    • -u [SERVICE] : Journaux pour une unitĂ©/service spĂ©cifique.
    • -p [NIVEAU] : Filtre par niveau de prioritĂ© (ex : err pour erreurs).
    • -f : Affichage en temps rĂ©el.
    • --no-pager : Sans le pager.
    • -o json : Format JSON.

9. Pare-feu

Utilisation de firewalld
  • firewall-cmd --add-port=[PORT1-PORT2]/tcp --zone=work --permanent : Ajouter un port Ă  une zone spĂ©cifique.
  • firewall-cmd --reload : Recharger les règles de firewalld.
  • firewall-cmd --list-all : Lister toutes les règles actives.
  • firewall-cmd --remove-port=[PORT1-PORT2]/tcp --zone=work --permanent : Supprimer un port d'une zone spĂ©cifique.
  • firewall-cmd --add-service=http --zone=public --permanent : Ajouter un service Ă  une zone spĂ©cifique.
Utilisation de iptables

Iptables est un outil plus bas niveau que firewalld, qui est basé sur des règles plus abstraite.
- iptables -A INPUT -p tcp --dport [PORT] -j ACCEPT : Ajouter une règle pour accepter le trafic sur un port spécifique.
- iptables -L : Lister toutes les règles.
- iptables -D INPUT -p tcp --dport [PORT] -j ACCEPT : Supprimer une règle spécifique.
- iptables-save > /etc/iptables/rules.v4 : Sauvegarder les règles iptables.
- iptables-restore < /etc/iptables/rules.v4 : Restaurer les règles iptables.
- iptables -A INPUT -s [IP] -j DROP : Bloquer une adresse IP spécifique.


10. DNS

  • dig [TYPE] [DOMAIN.TLD] +short : Interroge les DNS.
  • dig [TYPE] [DOMAIN.TLD] @[DNS-SERVER] : Teste un enregistrement selon un serveur DNS spĂ©cifique.

11. Permission

Manque de privilège c'est un message courant lorsqu'un utilisateur essaie d’accéder à un fichier ou d’exécuter une commande sans avoir les privilèges nécessaires.

[COMMAND]: impossible d'ouvrir '[/PATH/FILE]' en lecture: Permission non accordée
[COMMAND]: unable to open '[/PATH/FILE]' for reading: Permission denied

Dans ce cas, il suffit de les préfixer par un sudo, attention cependant sudo nécessite des privilèges administratifs, et que dans certaines distributions, l'utilisateur doit être membre du groupe sudo ou wheel pour exécuter des commandes avec des privilèges administratifs.