Commandes utiles 📋 Commandes en ligne de commande RĂ©fĂ©rence personnelle — Linux, macOS, Windows 🔀 Linux & macOS 📁 Fichiers & Texte nano +25 fichier Ouvre un fichier dans l'Ă©diteur nano directement Ă  la ligne 25. nano +25 /etc/hosts tar -czvf archive.tar.gz dossier/ CrĂ©e une archive compressĂ©e gzip. Options : c = crĂ©er, z = gzip, v = verbose, f = fichier de sortie. tar -czvf backup.tar.gz /home/user/documents/ tar -xzvf archive.tar.gz -C /chemin/ Extrait une archive. Sans -z pour les .tar non compressĂ©s. -C = dossier de destination. Avec compression ( .tar.gz ) : tar -xzvf backup.tar.gz -C /tmp/restore/ Sans compression ( .tar ) : tar -xvf backup.tar -C /tmp/restore/ gzip -d fichier.gz DĂ©compresse un fichier .gz . gzip -d archive.gz zip -r archive.zip dossier/ CrĂ©e une archive ZIP. -r = rĂ©cursif (inclut les sous-dossiers). zip -r projet.zip ./mon_projet/ unzip archive.zip Extrait une archive ZIP. Dossier courant : unzip projet.zip Vers un dossier spĂ©cifique : unzip projet.zip -d /destination/ tail -n 10 fichier Affiche les 10 derniĂšres lignes d'un fichier. tail -n 10 /var/log/syslog tail -f fichier Suit un fichier en temps rĂ©el — idĂ©al pour surveiller des logs. tail -f /var/log/nginx/access.log du -sh dossier/ Affiche la taille d'un dossier. s = somme totale, h = format lisible (Ko, Mo, Go). Taille d'un dossier : du -sh /home/user/ Taille de chaque dossier Ă  la racine : du -sh /* chmod +x fichier Rend un fichier exĂ©cutable. chmod +x script.sh ./script.sh >> fichier Redirige et ajoute la sortie Ă  la fin d'un fichier, sans Ă©craser. > Ă©crase, >> ajoute. Ajouter Ă  la fin : echo "nouvelle ligne" >> journal.txt ls -la >> liste_fichiers.txt DiffĂ©rence : echo "test" > fichier.txt echo "test" >> fichier.txt find chemin -type d -iname "*mot*" Recherche des dossiers dont le nom contient "mot". -i = insensible Ă  la casse. find /home -type d -iname "*projet*" find chemin -type f -iname "*mot*" Recherche des fichiers dont le nom contient "mot". Glob d'extension : find / -type f -iname "*.conf" Dans le dossier courant : find . -type f -iname "*.log" grep -i "terme" fichier Recherche un terme dans un fichier, insensible Ă  la casse. grep -i "error" /var/log/syslog grep -i "failed" auth.log grep -ci "terme" fichier Compte le nombre de lignes contenant le terme. Affiche uniquement un nombre. grep -ci "error" /var/log/syslog ls | wc -l Compte le nombre d'Ă©lĂ©ments dans le dossier courant. ls | wc -l shutdown -h now Éteint immĂ©diatement la machine. -h = halt. Éteindre maintenant : shutdown -h now RedĂ©marrer maintenant : shutdown -r now Éteindre dans 10 minutes : shutdown -h +10 uname -a Affiche les informations complĂštes sur le noyau et le systĂšme (architecture, version, hostname
). uname -a 🌐 RĂ©seau scp -P port source@serveur:chemin destination Copie un fichier via SSH entre deux machines. -P pour spĂ©cifier le port SSH. TĂ©lĂ©charger depuis un serveur : scp -P 22 user@192.168.1.10:/home/user/fichier.txt ./local/ Envoyer vers un serveur : scp -P 22 ./local/fichier.txt user@192.168.1.10:/home/user/ nmap -P0 -sS -p port ip Scanner de ports. -P0 = pas de ping, -sS = scan SYN (semi-furtif), -p = port(s) ciblĂ©(s). ⚠ À utiliser uniquement sur des rĂ©seaux dont vous ĂȘtes responsable. Ports spĂ©cifiques : nmap -P0 -sS -p 80,443 192.168.1.1 Plage de ports : nmap -P0 -sS -p 1-1000 192.168.1.1 RĂ©seau entier : nmap -P0 -sS 192.168.1.0/24 curl https://ipinfo.io/8.8.8.8 Obtient des informations sur une adresse IP (localisation, FAI, ASN
). curl https://ipinfo.io/8.8.8.8 ssh-keygen -t rsa GĂ©nĂšre une paire de clĂ©s SSH (privĂ©e + publique). CrĂ©e ~/.ssh/id_rsa — clĂ© privĂ©e (ne jamais partager) CrĂ©e ~/.ssh/id_rsa.pub — clĂ© publique (Ă  copier sur le serveur) ssh-keygen -t rsa -b 4096 -C "mon@email.com" ssh-copy-id user@serveur Copie la clĂ© publique sur un serveur pour se connecter sans mot de passe. ClĂ© par dĂ©faut : ssh-copy-id user@192.168.1.10 ClĂ© spĂ©cifique : ssh-copy-id -i ~/.ssh/ma_cle.pub user@192.168.1.10 eval "$(ssh-agent -s)" + ssh-add /chemin/cle Lance l'agent SSH et charge une clĂ© privĂ©e. À ajouter dans ~/.zshrc . eval "$(ssh-agent -s)" ssh-add /chemin/vers/ma_cle_privee Config SSH — ~/.ssh/config Fichier de raccourcis SSH : permet de se connecter par un alias simple. Host monserveur HostName hostname.com User monuser IdentityFile /chemin/vers/ma_cle_privee Connexion simplifiĂ©e : ssh monserveur python -m http.server 8080 Lance un serveur HTTP minimal sur le port 8080, servant le dossier courant. Accessible sur http://localhost:8080 ou http://IP_machine:8080 . cd /var/www/ python -m http.server 8080 openssl aes-256-cbc -a --in fichier --out fichier.enc Chiffre un fichier avec AES-256. -a = encodage base64. openssl aes-256-cbc -a --in secret.txt --out secret.enc openssl aes-256-cbc -d -a --in fichier.enc --out fichier DĂ©chiffre un fichier. -d = decrypt. Standard : openssl aes-256-cbc -d -a --in secret.enc --out secret.txt Variante avec md5 (pour clĂ©s gĂ©nĂ©rĂ©es via certains outils) : openssl enc -aes-256-cbc -d -md md5 -in id_rsa.enc -out id_rsa masscan -p 1-65535,U:1-65535 cible --rate=10000 Scanner de ports trĂšs rapide sur tous les ports TCP et UDP. ⚠ À utiliser uniquement sur des rĂ©seaux dont vous ĂȘtes responsable. masscan -p 1-65535,U:1-65535 192.168.1.0/24 --rate=10000 nmap --script=mysql-brute -p 3306 IP Tente une attaque par dictionnaire sur un service MySQL via NSE. ⚠ Usage lĂ©gal uniquement (pentest autorisĂ©, CTF, lab perso). nmap --script=mysql-brute -p 3306 192.168.1.100 Scan rĂ©seau + filtre port ouvert (boucle bash) DĂ©tecte tous les hĂŽtes actifs, puis filtre ceux avec le port 80 ouvert. for ip in $(nmap -n -sn 192.168.1.0/24 -oG - | awk '/Up$/{print $2}'); do nmap -p 80 $ip | grep open > /dev/null if [[ $? -eq 0 ]]; then echo $ip; fi done đŸ’Ÿ Stockage sudo dd if=image.iso of=/dev/diskX Copie bit-Ă -bit une image ISO sur un disque (clĂ© USB bootable). ⚠ VĂ©rifier deux fois le bon disque cible avant d'exĂ©cuter. sudo dd if=/chemin/image.iso of=/dev/disk4 bs=4m status=progress 🐧 Linux uniquement 📊 Informations systĂšme free -h Affiche l'utilisation de la RAM et du swap. -h = format lisible (Go, Mo). free -h lsblk Liste tous les pĂ©riphĂ©riques de blocs (disques, partitions, clĂ©s USB
) sous forme d'arborescence. lsblk lscpu Affiche les informations dĂ©taillĂ©es sur le processeur (architecture, cƓurs, frĂ©quence
). lscpu htop Moniteur de processus interactif. Raccourcis : F9 = kill, F6 = trier, q = quitter. htop uptime -p Affiche depuis combien de temps le systĂšme tourne. Ex : up 2 days, 3 hours, 41 minutes . uptime -p lsb_release -a Affiche la version de la distribution Linux (Distributor ID, Release, Codename
). lsb_release -a 🌐 RĂ©seau Linux ip addr add xx.xx.xx.xx/24 dev eth0 Assigne une adresse IP Ă  une interface rĂ©seau (temporaire, perdu au redĂ©marrage). Assigner : ip addr add 192.168.1.50/24 dev eth0 VĂ©rifier : ip addr show eth0 ip route add 192.168.30.0/24 via 192.168.7.1 Ajoute une route statique. Commande temporaire : ip route add 192.168.30.0/24 via 192.168.7.1 Pour la rendre permanente — ajouter dans /etc/network/interfaces : up ip route add 192.168.30.0/24 via 192.168.7.1 VĂ©rifier la table de routage : ip route show sudo dhclient -r LibĂšre puis renouvelle l'adresse IP DHCP. LibĂ©rer l'IP (Windows : ipconfig /release ) : sudo dhclient -r Demander une nouvelle IP (Windows : ipconfig /renew ) : sudo dhclient eth0 nano /etc/resolv.conf Modifie manuellement les serveurs DNS du systĂšme. nameserver 192.168.1.1 nameserver 8.8.8.8 Configuration rĂ©seau statique — /etc/network/interfaces Assigne une IP fixe de façon permanente (Debian/Ubuntu). auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 arp-scan --localnet / arp-scan -I eth0 -l DĂ©couvre tous les hĂŽtes actifs sur le rĂ©seau local via requĂȘtes ARP. Affiche IP + adresse MAC. sudo arp-scan --localnet sudo arp-scan -I eth0 -l đŸ’Ÿ Stockage Linux shred -n 5 -vz /dev/sda Efface dĂ©finitivement un disque. -n 5 = 5 passes alĂ©atoires, -z = passe finale en zĂ©ros, -v = verbose. ⚠ IrrĂ©versible — vĂ©rifier le bon disque avec lsblk avant. sudo shred -n 5 -vz /dev/sda sudo hwclock --hctosys Synchronise l'horloge systĂšme depuis l'horloge matĂ©rielle (RTC/BIOS). hc = hardware clock → sys = system clock. sudo hwclock --hctosys 📩 Gestion des paquets (Debian/Ubuntu) Routine complĂšte de mise Ă  jour : sudo apt update sudo apt upgrade sudo apt dist-upgrade sudo apt autoremove sudo reboot đŸ‘€ Utilisateurs & Permissions Ajouter un utilisateur au groupe sudo : apt install sudo adduser nom_utilisateur sudo reboot Fichier sudoers ( /etc/sudoers — Ă©diter via visudo ) : # Donner tous les droits Ă  root : root ALL = (ALL) ALL # Groupe admin sans mot de passe : %admin ALL = (ALL) NOPASSWD: ALL đŸ–„ïž Bureau GNOME sudo dconf reset -f / RĂ©initialise tous les paramĂštres GNOME (thĂšme, raccourcis, extensions
) aux valeurs par dĂ©faut. sudo dconf reset -f / sudo reboot 📡 curlFtpFs Monte un serveur FTP comme un dossier local via FUSE. Monter : curlftpfs ftp://user:password@serveur.com /point/de/montage/ ls /point/de/montage/ DĂ©monter : fusermount -u /point/de/montage/ 🍎 macOS uniquement 🔑 SĂ©curitĂ© & WiFi security find-generic-password -wa "NomDuWifi" Affiche le mot de passe d'un rĂ©seau WiFi enregistrĂ© dans le Trousseau macOS. Demande le mot de passe admin. security find-generic-password -wa "MonWifi" đŸ’Ÿ Gestion des disques — diskutil CrĂ©er une clĂ© USB bootable : Identifier le disque cible : diskutil list DĂ©monter : diskutil unmountDisk /dev/disk2 Écrire l'image : sudo dd if=/chemin/image.iso of=/dev/disk2 bs=1m Éjecter : diskutil eject /dev/disk2 Formater une clĂ© USB en exFAT : diskutil eraseDisk exFat USB /dev/disk2 🌐 RĂ©seau macOS route -n get default Affiche la passerelle par dĂ©faut. netstat -rn pour la table de routage complĂšte. Passerelle par dĂ©faut : route -n get default Table de routage complĂšte : netstat -rn sudo ifconfig en0 alias 192.168.7.99/24 Ajoute une IP secondaire (alias) Ă  l'interface en0 . Notation CIDR : sudo ifconfig en0 alias 192.168.7.99/24 Notation avec netmask explicite : sudo ifconfig en0 alias 192.168.8.245 netmask 255.255.255.0 sudo ifconfig en0 -alias 192.168.7.99 Supprime un alias IP de l'interface en0 . sudo ifconfig en0 -alias 192.168.7.99 sudo ifconfig en0 -alias 192.168.8.245 ⚡ Utilitaires macOS caffeinate EmpĂȘche le Mac de se mettre en veille. Jusqu'Ă  Ctrl+C : caffeinate Pendant 1 heure : caffeinate -t 3600 Pendant l'exĂ©cution d'un script : caffeinate -i mon_script.sh đŸȘŸ Windows uniquement 🌐 RĂ©seau Windows netsh wlan show profile name="NomWifi" key=clear Affiche les dĂ©tails d'un profil WiFi, y compris le mot de passe en clair. Chercher la ligne "Contenu de la clĂ©" (ou "Key Content"). netsh wlan show profile name="MonWifi" key=clear ipconfig /displaydns Affiche le cache DNS local de Windows. Afficher : ipconfig /displaydns Vider le cache : ipconfig /flushdns ipconfig /release / ipconfig /renew LibĂšre et renouvelle l'adresse IP DHCP. LibĂ©rer (Linux : sudo dhclient -r ) : ipconfig /release Renouveler (Linux : sudo dhclient ) : ipconfig /renew ⚙ SystĂšme Windows shutdown /s /t 0 Éteindre/redĂ©marrer Windows. /s = shutdown, /r = restart, /t 0 = dĂ©lai 0 s. Éteindre : shutdown /s /t 0 RedĂ©marrer : shutdown /r /t 0 Annuler un arrĂȘt planifiĂ© : shutdown /a