Aide-mémoire de la ligne de commande Linux
Linux est un système d’exploitation libre et open-source de type Unix, basé sur POSIX et Unix. C’est un système d’exploitation multi-utilisateurs, multi-tâches, multi-thread et supportant plusieurs processeurs. Il peut exécuter les principaux outils Unix, applications et protocoles réseau, et supporte les matériels 32 bits et 64 bits. Héritant de la philosophie de conception centrée sur le réseau de Unix, Linux est un système d’exploitation réseau multi-utilisateurs stable.
Système
| uname | Afficher les informations du système Linux |
| uname -r | Afficher la version du noyau |
| uptime | Afficher depuis combien de temps le système fonctionne (y compris la charge moyenne) |
| hostname | Afficher le nom d’hôte du système |
| hostname -i | Afficher l’adresse IP du système |
| last reboot | Afficher l’historique des redémarrages du système |
| date | Afficher la date et l’heure actuelles du système |
| timedatectl | Interroger et modifier l’horloge du système |
| cal | Afficher le mois et le jour du calendrier actuel |
| w | Afficher les utilisateurs actuellement connectés |
| whoami | Afficher votre identité de connexion |
| finger username | Afficher des informations sur un utilisateur |
Matériel
| dmesg | Afficher les messages de démarrage |
| cat /proc/cpuinfo | Afficher les informations détaillées du processeur (modèle, cœurs, fabricant) |
| cat /proc/meminfo | Afficher les informations détaillées de la mémoire matérielle (totale, libre) |
| lshw | Afficher les informations de configuration matérielle du système |
| lsblk | Afficher les informations relatives aux périphériques blocs |
| free -m | Afficher la mémoire libre et utilisée (en Mo) |
| lspci -tv | Afficher les périphériques PCI dans un diagramme arborescent |
| lsusb -tv | Afficher les périphériques USB dans un diagramme arborescent |
| dmidecode | Afficher les informations matérielles du BIOS |
| hdparm -i /dev/xda | Afficher les informations sur les données du disque |
| hdparm -tT /dev/xda | Exécuter un test de vitesse de lecture sur le périphérique xda |
| badblocks -s /dev/xda | Tester les blocs illisibles sur le disque |
Utilisateurs
| id | Afficher les détails de l’utilisateur actif (uid, gid, groupes) |
| last | Afficher les dernières connexions au système |
| who | Afficher qui est connecté au système |
| groupadd “admin” | Ajouter le groupe “admin” |
| adduser “Sam” | Ajouter l’utilisateur Sam |
| userdel “Sam” | Supprimer l’utilisateur Sam |
| usermod | Changer/modifier les informations d’utilisateur |
Fichiers
| ls -al | Lister les fichiers - y compris les fichiers réguliers et cachés ainsi que leurs permissions |
| pwd | Afficher le chemin du répertoire actuel |
| mkdir ’nom_répertoire' | Créer un nouveau répertoire |
| rm nom_fichier | Supprimer un fichier |
| rm -f nom_fichier | Forcer la suppression d’un fichier |
| rm -r nom_répertoire | Supprimer récursivement un répertoire |
| rm -rf nom_répertoire | Forcer et supprimer récursivement un répertoire |
| cp fichier1 fichier2 | Copier le contenu de fichier1 vers fichier2 |
| cp -r dir1 dir2 | Copier récursivement dir1 vers dir2. Créer dir2 s’il n’existe pas |
| mv fichier1 fichier2 | Renommer fichier1 en fichier2 |
| ln -s /chemin/vers/nom_fichier nom_lien | Créer un lien symbolique vers nom_fichier |
| touch nom_fichier | Créer un nouveau fichier |
| cat > nom_fichier | Créer un fichier à partir d’une entrée clavier |
| more nom_fichier | Afficher le contenu d’un fichier page par page |
| head nom_fichier | Afficher les 10 premières lignes d’un fichier |
| tail nom_fichier | Afficher les 10 dernières lignes d’un fichier |
| gpg -c nom_fichier | Chiffrer un fichier |
| gpg nom_fichier.gpg | Déchiffrer un fichier |
| wc | Afficher le nombre d’octets, de mots et de lignes d’un fichier |
| xargs | Exécuter des commandes à partir de l’entrée standard |
Processus
| ps | Afficher les processus actuellement actifs |
| ps aux | grep ’telnet' | Rechercher l’ID de processus de ’telnet' |
| pmap | Afficher la carte mémoire d’un processus |
| top | Afficher tous les processus en cours d’exécution |
| kill pid | Terminer le processus avec le pid donné |
| killall proc | Tuer tous les processus nommés proc |
| pkill nom-processus | Envoyer un signal au processus par son nom |
| bg | Reprendre une commande en arrière-plan suspendue |
| fg | Passer une commande d’arrière-plan au premier plan |
| fg n | Passer la tâche n au premier plan |
| lsof | Lister les fichiers ouverts par les processus |
| renice 19 PID | Lancer un processus avec une priorité très basse |
| pgrep firefox | Trouver l’ID de processus de Firefox |
| pstree | Visualiser les processus dans un modèle arborescent |
Permissions de fichiers
| chmod octal filename | Changer les permissions des fichiers vers le format octal |
| chmod 777 /data/test.c | Définir les permissions rwx pour le propriétaire, le groupe et tout le monde |
| chmod 755 /data/test.c | Définir rwx pour le propriétaire, r-x pour le groupe et tout le monde |
| chmod 766 /data/test.c | Définir rwx pour le propriétaire, rw- pour le groupe et tout le monde |
| chown owner user-file | Changer le propriétaire d’un fichier |
| chown owner-user:owner-group nom_fichier | Changer le propriétaire et le groupe d’un fichier |
| chown owner-user:owner-group répertoire | Changer le propriétaire et le groupe d’un répertoire |
Réseau
| ip addr show | Afficher les adresses IP et toutes les interfaces réseau |
| ip address add 192.168.0.1/24 dev eth0 | Assigner l’adresse IP 192.168.0.1 à l’interface eth0 |
| ifconfig | Afficher les adresses IP de toutes les interfaces réseau |
| ping hôte | Envoyer des requêtes d’écho ICMP pour établir une connexion |
| whois domaine | Récupérer des informations sur un nom de domaine |
| dig domaine | Récupérer les informations DNS pour un domaine |
| dig -x hôte | Effectuer une recherche DNS inverse pour un hôte |
| host google.com | Effectuer une recherche d’adresse IP pour un nom de domaine |
| hostname -i | Afficher l’adresse IP locale |
| wget nom_fichier | Télécharger des fichiers à partir de ressources en ligne |
| netstat -pnltu | Afficher tous les ports d’écoute actifs |
Compression / Archivage
| tar -cf home.tar home | Créer une archive tar nommée home.tar pour le répertoire home |
| tar -xf files.tar | Extraire l’archive “files.tar” |
| tar -zcvf home.tar.gz dossier-source | Créer une archive tar compressée d’un dossier source |
| gzip fichier | Compresser un fichier avec l’extension .gz |
Installation de paquets
| rpm -i pkg_name.rpm | Installer le paquet rpm |
| rpm -e pkg_name | Supprimer le paquet rpm |
| dnf install pkg_name | Installer le paquet avec l’outil dnf |
Installation depuis les sources (Compilation)
| ./configure | Vérifier les dépendances système et générer le Makefile |
| make | Compiler le programme |
| make install | Installer les fichiers binaires dans le chemin par défaut/modifié |
Recherche
| grep ‘motif’ fichiers | Rechercher un motif dans des fichiers |
| grep -r motif dir | Rechercher récursivement un motif dans un répertoire donné |
| locate fichier | Trouver toutes les instances d’un fichier |
| find /home/ -name “index” | Trouver les noms de fichiers commençant par ‘index’ dans /home |
| find /home -size +10000k | Trouver les fichiers de plus de 10000k dans le dossier home |
Connexion
| ssh user@hôte | Se connecter de façon sécurisée à l’hôte comme l’utilisateur spécifié |
| ssh -p port_number user@hôte | Se connecter de façon sécurisée à l’hôte avec un port spécifié |
| ssh hôte | Se connecter de façon sécurisée à l’hôte via le port 22 par défaut |
| telnet hôte | Se connecter à l’hôte via le port 23 par défaut |
Transfert de fichiers
| scp fichier1.txt serveur2/tmp | Copier de façon sécurisée fichier1.txt dans le dossier /tmp de serveur2 |
| rsync -a /home/apps /backup/ | Synchroniser le répertoire /home/apps avec le dossier /backup |
Utilisation du disque
| df -h | Afficher l’espace libre sur les systèmes de fichiers montés |
| df -i | Afficher les inodes libres sur les systèmes de fichiers |
| fdisk -l | Afficher les partitions du disque, les tailles et les types |
| du -sh | Afficher l’utilisation du disque du répertoire actuel en format lisible par l’homme |
| findmnt | Afficher les points de montage cibles de tous les systèmes de fichiers |
| mount chemin-périphérique point-montage | Monter un périphérique |
Navigation dans les répertoires
| cd .. | Remonter d’un niveau dans la structure des répertoires |
| cd | Changer de répertoire vers le répertoire personnel ($HOME) |
| cd /test | Changer de répertoire vers le répertoire /test |