Utilisez la recherche du navigateur ou ouvrez une rubrique. Vérifiez chemins, droits et options destructives avant d’exécuter une commande sur votre système.
Fonctionne localement dans votre navigateur| Commande | Descriptif |
|---|---|
| arch | Nom matériel de la machine rapporté par le noyau (la même valeur que uname -m) |
| uname -m | Nom matériel de la machine, par exemple x86_64 |
| uname -r | Version du noyau en cours d’exécution, par exemple 5.10.134-16.al8.x86_64 |
| dmidecode -q | Inventaire matériel DMI/SMBIOS (BIOS, carte mère, mémoire) sans les messages d’entrées inconnues (root uniquement) |
| hdparm -i /dev/hda | Identifier un disque IDE ou SATA : modèle, firmware, numéro de série et modes pris en charge |
| hdparm -tT /dev/sda | -T mesure les lectures servies par le cache et -t celles du disque lui-même, ce qui donne un débit brut |
| cat /proc/cpuinfo | Modèle du processeur, nombre de cœurs et options, exactement tels que le noyau les expose |
| cat /proc/interrupts | Compteurs d’interruptions par processeur et par périphérique, utiles pour repérer un contrôleur saturé |
| cat /proc/meminfo | Compteurs mémoire du noyau : le fichier que lit free |
| cat /proc/swaps | Zones de swap actives avec leur taille, l’espace utilisé et la priorité |
| cat /proc/version | Chaîne de version du noyau, avec le compilateur qui l’a construit |
| cat /proc/net/dev | Compteurs d’octets, de paquets, d’erreurs et de rejets pour chaque interface réseau |
| cat /proc/mounts | Tous les systèmes de fichiers montés avec leurs options de montage actuelles |
| lspci -tv | Périphériques PCI sous forme d’arbre : bus, ponts et périphériques reliés |
| lsusb -tv | Périphériques USB sous forme d’arbre avec les identifiants de fabricant et de produit (paquet usbutils) |
| date | Date et heure actuelles de l’horloge système |
| cal 2007 | Calendrier d’un mois ou d’une année entière — ici toute l’année 2007 |
| date 041217002007.00 | Règle l’horloge au format MMDDhhmm[[CC]YY][.ss] : 17 décembre 2007, 00:20 (root uniquement) |
| clock -w | Écrit l’heure système dans l’horloge matérielle pour qu’elle survive à une coupure (hwclock -w, root uniquement) |
| Commande | Descriptif |
|---|---|
| shutdown -h now | Éteint la machine immédiatement (root uniquement) |
| init 0 | Passe au runlevel 0, c’est-à-dire à l’arrêt du système (root uniquement) |
| telinit 0 | Demande le runlevel 0 à init par sa socket de contrôle : le même arrêt (root uniquement) |
| shutdown -h hours:minutes & | Programme l’arrêt à une heure choisie et rend la main au terminal |
| shutdown -c | Annule un arrêt programmé auparavant |
| shutdown -r now | Redémarre la machine maintenant (root uniquement) |
| reboot | Redémarrage via init ou systemd (root uniquement) |
| logout | Ferme le shell de connexion courant |
| Commande | Descriptif |
|---|---|
| cd /home | Entrer dans un répertoire donné par un chemin absolu |
| cd .. | Remonter d’un niveau de répertoire |
| cd ../.. | Remonter de deux niveaux de répertoire |
| cd | Aller dans votre répertoire personnel |
| cd ~user1 | Aller dans le répertoire personnel d’un autre utilisateur |
| cd - | Revenir au répertoire où vous étiez juste avant |
| pwd | Afficher le répertoire de travail courant |
| ls | Lister les entrées du répertoire courant |
| ls -F | Lister avec un indicateur de type : / répertoire, * exécutable, @ lien symbolique |
| ls -l | Listage long avec droits, propriétaire, taille et date de modification |
| ls -a | Inclure les entrées qui commencent par un point, comme .bashrc |
| ls *[0-9]* | Ne lister que les noms qui contiennent un chiffre ; le shell développe le motif |
| tree | Arborescence du chemin courant ; elle vient dans un paquet séparé, donc il arrive qu’elle manque |
| lstree | Un autre nom pour la même arborescence ; sur la plupart des systèmes c’est un alias |
| mkdir dir1 | Créer un répertoire |
| mkdir dir1 dir2 | Créer deux répertoires en une seule commande |
| mkdir -p /tmp/dir1/dir2 | Créer les répertoires parents nécessaires et ne pas échouer si le chemin existe déjà |
| rm -f file1 | Supprimer un fichier et ignorer un nom absent au lieu de poser la question |
| rmdir dir1 | Supprimer un répertoire vide |
| rm -rf dir1 | Supprimer un répertoire et tout son contenu, sans aucune question |
| rm -rf dir1 dir2 | Supprimer deux arborescences entières en une seule commande |
| mv dir1 new_dir | Renommer un répertoire, ou le déplacer quand la cible est un autre chemin |
| cp file1 file2 | Copier un fichier |
| cp dir/* . | Copier tout le contenu d’un répertoire dans le répertoire courant |
| cp -a /tmp/dir1 . | Copie d’archive qui conserve droits, propriétaire, liens et dates |
| cp -a dir1 dir2 | La même copie d’archive pour une seconde arborescence |
| ln -s file1 lnk1 | Créer un lien symbolique qui stocke un chemin |
| ln file1 lnk1 | Créer un lien matériel : un second nom pour le même inode |
| touch -t 0712250000 file1 | Fixer explicitement la date au 25 décembre 2007, 00:00, au lieu de maintenant |
| iconv -l | Lister toutes les codifications de caractères que connaît cette compilation d’iconv |
| iconv -f fromEncoding -t toEncoding inputFile > outputFile | Convertir un fichier d’une codification vers une autre et écrire le résultat dans un nouveau fichier |
| find . -maxdepth 1 -name '*.jpg' -exec ls -l {} \; | N’afficher que les JPEG de ce répertoire et exécuter une commande sur chaque résultat |
| Commande | Descriptif |
|---|---|
| find / -name file1 | Chercher un nom de fichier exact dans tout le système de fichiers |
| find / -user user1 | Tous les fichiers qui appartiennent à un utilisateur |
| find /home/user1 -name \*.bin | Motif de nom avec joker, cherché sous un répertoire |
| find /usr/bin -type f -atime +100 | Fichiers réguliers lus pour la dernière fois il y a plus de 100 jours |
| find /usr/bin -type f -mtime -10 | Fichiers réguliers modifiés dans les dix derniers jours |
| find / -name \*.rpm -exec chmod 755 '{}' \; | Exécuter une commande sur chaque résultat ; {} représente le chemin trouvé |
| find / -xdev -name \*.rpm | Rester dans un seul système de fichiers, ce qui ignore les supports montés et les partages réseau |
| locate \*.ps | Chercher des noms dans l’index d’updatedb : bien plus rapide que find, mais seulement à jour comme la dernière indexation |
| whereis halt | Localiser le binaire, les sources et la page de manuel d’une commande |
| which halt | Montrer quel exécutable le shell lancerait |
| Commande | Descriptif |
|---|---|
| mount /dev/hda2 /mnt/hda2 | Monter une partition sur un répertoire de l’arborescence (root uniquement) |
| umount /dev/hda2 | Démonter la partition ; le point de montage peut aussi servir d’argument |
| fuser -km /mnt/hda2 | Tuer les processus qui occupent encore le point de montage pour pouvoir le démonter (root uniquement) |
| umount -n /mnt/hda2 | Démonter sans écrire la modification dans /etc/mtab |
| mount /dev/fd0 /mnt/floppy | Monter le premier lecteur de disquette (ancien nom de périphérique) |
| mount /dev/cdrom /mnt/cdrom | Monter le lecteur optique derrière le lien /dev/cdrom |
| mount /dev/hdc /mnt/cdrecorder | Monter le troisième périphérique de l’ancienne nomenclature hdX, en général un graveur de CD |
| mount /dev/hdb /mnt/cdrecorder | La même chose pour le second périphérique du premier canal IDE |
| mount -o loop file.iso /mnt/cdrom | Exposer le contenu d’une image ISO comme un répertoire |
| mount -t vfat /dev/hda5 /mnt/hda5 | Monter une partition FAT avec le pilote vfat pour que les fichiers Windows restent lisibles |
| mount /dev/sda1 /mnt/usbdisk | Monter la première partition d’un disque USB |
| mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share | Monter un partage Windows ; les noyaux actuels utilisent -t cifs et un fichier d’identifiants au lieu de smbfs |
| Commande | Descriptif |
|---|---|
| df -h | Espace libre de chaque système de fichiers dans des unités lisibles |
| ls -lSr |more | Fichiers de ce répertoire triés par taille, le plus gros d’abord, paginés avec more |
| du -sh dir1 | Espace disque total occupé par un répertoire |
| du -sk * | sort -rn | Taille de chaque entrée en kilo-octets, du plus gros au plus petit |
| rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n | Paquets RPM installés avec leur taille en octets, triés sur cette colonne |
| dpkg-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -k1,1n | Le même listage pour les paquets Debian : taille installée et nom du paquet |
| Commande | Descriptif |
|---|---|
| groupadd group_name | Créer un groupe (root uniquement) |
| groupdel group_name | Supprimer un groupe (root uniquement) |
| groupmod -n new_group_name old_group_name | Renommer un groupe (root uniquement) |
| useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 | Créer un compte avec commentaire, groupe principal, répertoire personnel et shell (root uniquement) |
| useradd user1 | Créer un compte avec les valeurs par défaut de /etc/default/useradd (root uniquement) |
| userdel -r user1 | Supprimer un compte avec son répertoire personnel (root uniquement) |
| usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 | Modifier commentaire, groupe, répertoire personnel et shell d’un compte existant (root uniquement) |
| passwd | Changer votre propre mot de passe |
| passwd user1 | Changer le mot de passe d’un autre compte (root uniquement) |
| chage -E 2030-12-31 user1 | Donner à un compte une date d’expiration, après laquelle la connexion est refusée (root uniquement) |
| pwck | Vérifier que /etc/passwd et /etc/shadow ne contiennent pas d’entrées incohérentes (root uniquement) |
| grpck | Vérifier le même genre de problèmes dans /etc/group et /etc/gshadow (root uniquement) |
| newgrp group_name | Ouvrir un nouveau shell où un autre groupe devient le groupe principal effectif |
| Commande | Descriptif |
|---|---|
| ls -lh | Listage long avec les tailles en K, M et G |
| ls /tmp | pr -T5 -W$COLUMNS | Imprimer le listage en cinq colonnes ajustées à la largeur du terminal |
| chmod ugo+rwx directory1 | Donner les droits de lecture, écriture et exécution au propriétaire, au groupe et aux autres sur un répertoire |
| chmod go-rwx directory1 | Retirer tous les droits au groupe et aux autres |
| chown user1 file1 | Changer le propriétaire d’un fichier (root uniquement) |
| chown -R user1 directory1 | Changer le propriétaire d’un répertoire et de tout son contenu (root uniquement) |
| chgrp group1 file1 | Changer le groupe d’un fichier |
| chown user1:group1 file1 | Changer propriétaire et groupe en une seule commande (root uniquement) |
| find / -perm -u+s | Trouver tous les binaires setuid du système |
| chmod u+s /bin/file1 | Poser le bit setuid pour que le fichier s’exécute avec les droits de son propriétaire (root uniquement) |
| chmod u-s /bin/file1 | Retirer le bit setuid |
| chmod g+s /home/public | Poser le bit setgid : les nouvelles entrées sous le répertoire héritent de son groupe |
| chmod g-s /home/public | Retirer le bit setgid |
| chmod o+t /home/public | Poser le sticky bit pour que, dans un répertoire partagé, chacun ne supprime que ses propres fichiers |
| chmod o-t /home/public | Retirer le sticky bit |
| Commande | Descriptif |
|---|---|
| chattr +a file1 | Append only : le fichier peut grossir mais ne peut être réécrit ni supprimé (root uniquement) |
| chattr +c file1 | Stocker le fichier compressé sur le disque (ext4, root uniquement) |
| chattr +d file1 | Exclure le fichier des sauvegardes dump (root uniquement) |
| chattr +i file1 | Immuable : même root ne peut le modifier ni le supprimer tant que l’attribut est là (root uniquement) |
| chattr +s file1 | Shred : écraser les blocs avec des zéros à la suppression (root uniquement) |
| chattr +S file1 | Écritures synchrones : chaque modification part immédiatement sur le disque (root uniquement) |
| chattr +u file1 | Non supprimable : conserver le contenu pour pouvoir récupérer un fichier supprimé (root uniquement) |
| lsattr | Lister les attributs des fichiers ; sans argument, il parcourt le répertoire courant |
| Commande | Descriptif |
|---|---|
| bunzip2 file1.bz2 | Décompresser un fichier bzip2 et supprimer l’original compressé |
| bzip2 file1 | Compresser un fichier avec bzip2, qui devient file1.bz2 |
| gunzip file1.gz | Décompresser un fichier gzip |
| gzip file1 | Compresser un fichier, qui devient file1.gz |
| gzip -9 file1 | La même chose avec la compression maximale, au prix de la vitesse |
| rar a file1.rar test_file | Ajouter un fichier à une archive RAR (rar est un shareware, absent de la plupart des distributions) |
| rar a file1.rar file1 file2 dir1 | Ajouter plusieurs fichiers et un répertoire à l’archive RAR |
| rar x file1.rar | Extraire une archive RAR en conservant l’arborescence enregistrée |
| unrar x file1.rar | La même extraction avec l’outil unrar |
| tar -cvf archive.tar file1 | Créer une archive non compressée et afficher chaque élément ajouté |
| tar -cvf archive.tar file1 file2 dir1 | La même archive avec plusieurs éléments |
| tar -tf archive.tar | Lister les éléments d’une archive sans les extraire |
| tar -xvf archive.tar | Extraire une archive dans le répertoire courant |
| tar -xvf archive.tar -C /tmp | Extraire dans un autre répertoire ; -C s’applique à tout ce qui suit |
| tar -cvfj archive.tar.bz2 dir1 | Créer une archive compressée avec bzip2 (-j) |
| tar -jxvf archive.tar.bz2 | Extraire une archive compressée avec bzip2 (-j) |
| tar -cvfz archive.tar.gz dir1 | Créer une archive compressée avec gzip (-z) |
| tar -zxvf archive.tar.gz | Extraire une archive compressée avec gzip |
| zip file1.zip file1 | Mettre un fichier dans une nouvelle archive ZIP |
| zip -r file1.zip file1 file2 dir1 | Ajouter deux fichiers et un répertoire, en descendant dedans |
| unzip file1.zip | Extraire une archive ZIP dans le répertoire courant |
| Commande | Descriptif |
|---|---|
| rpm -ivh package.rpm | Installer un paquet en affichant la barre de progression et les noms de fichiers |
| rpm -ivh --nodeps package.rpm | Installer sans résoudre d’abord les dépendances, ce qui est rarement souhaité |
| rpm -U package.rpm | Mettre à jour un paquet, ou l’installer si aucune version antérieure n’est présente |
| rpm -F package.rpm | Refresh : ne mettre à jour que si une version antérieure est déjà installée |
| rpm -e package_name | Supprimer un paquet installé ; l’argument est le nom du paquet, pas le fichier |
| rpm -qa | Lister tous les paquets installés avec nom, version et release |
| rpm -qa | grep httpd | Filtrer la liste des RPM installés sur un nom de paquet |
| rpm -qi package_name | Informations détaillées sur un paquet installé |
| rpm -qg "System Environment/Daemons" | Tous les paquets qui appartiennent à un groupe |
| rpm -ql package_name | Fichiers possédés par un paquet |
| rpm -qc package_name | Uniquement les fichiers de configuration d’un paquet |
| rpm -q package_name --whatrequires | Paquets qui dépendent de cette capacité |
| rpm -q package_name --whatprovides | Capacités que ce paquet fournit |
| rpm -q package_name --scripts | Scriptlets d’installation et de désinstallation du paquet |
| rpm -q package_name --changelog | Historique des modifications enregistré dans les métadonnées du paquet |
| rpm -qf /etc/httpd/conf/httpd.conf | Quel paquet possède un fichier donné |
| rpm -qp package.rpm -l | Fichiers contenus dans un paquet qui n’est pas installé |
| rpm --import /media/cdrom/RPM-GPG-KEY | Ajouter une clé de signature à la base RPM pour pouvoir vérifier les paquets |
| rpm --checksig package.rpm | Vérifier la signature et la somme de contrôle d’un fichier de paquet |
| rpm -qa gpg-pubkey | Lister les clés actuellement stockées dans la base RPM |
| rpm -V package_name | Comparer un paquet installé à ses métadonnées : taille, empreinte, droits |
| rpm -Va | Vérifier tous les paquets installés ; c’est lent et il affiche chaque différence |
| rpm -Vp package.rpm | Vérifier un fichier de paquet au lieu d’un paquet installé |
| rpm2cpio package.rpm | cpio --extract --make-directories \*bin\* | Déballer un RPM sans l’installer, en ne prenant que les chemins correspondant à *bin* |
| rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm | Installer depuis une arborescence de compilation, l’architecture étant fournie par arch |
| rpmbuild --rebuild package_name.src.rpm | Construire un RPM binaire à partir d’un RPM source |
| Commande | Descriptif |
|---|---|
| yum install package_name | Installer un paquet depuis les dépôts avec ses dépendances |
| yum localinstall package_name.rpm | Installer un fichier RPM local et récupérer les dépendances dans les dépôts |
| yum update package_name.rpm | Mettre à jour un paquet à partir d’un fichier local |
| yum update package_name | Mettre à jour un paquet installé vers la version la plus récente |
| yum remove package_name | Supprimer un paquet et les paquets qui en dépendent |
| yum list | Lister les paquets installés et disponibles |
| yum search package_name | Chercher dans les dépôts un nom ou un mot-clé |
| yum clean packages | Supprimer du cache les fichiers de paquets téléchargés |
| yum clean headers | Supprimer les en-têtes de métadonnées de dépôt mis en cache |
| yum clean all | Vider tout le cache, métadonnées comprises |
| Commande | Descriptif |
|---|---|
| dpkg -i package.deb | Installer un fichier .deb sans passer par les dépôts |
| dpkg -r package_name | Supprimer un paquet installé en gardant ses fichiers de configuration |
| dpkg -l | Lister les paquets installés avec leurs versions |
| dpkg -l | grep httpd | Filtrer la liste des paquets Debian installés sur un nom |
| dpkg -s package_name | État et métadonnées d’un paquet installé |
| dpkg -L package_name | Fichiers installés par un paquet |
| dpkg --contents package.deb | Fichiers contenus dans un .deb qui n’est pas installé |
| dpkg -S /bin/ping | Quel paquet a installé un chemin donné |
| Commande | Descriptif |
|---|---|
| apt-get install package_name | Installer un paquet des dépôts Debian avec ses dépendances |
| apt-cdrom add | Enregistrer un CD ou un DVD comme source de paquets, puis installer depuis cette source |
| apt-get update | Rafraîchir l’index des paquets depuis toutes les sources configurées |
| apt-get upgrade | Installer les mises à jour disponibles sans rien désinstaller |
| apt-get remove package_name | Supprimer un paquet des dépôts Debian en laissant ses fichiers de configuration |
| apt-get check | Vérifier que la base de paquets est cohérente |
| apt-get clean | Supprimer de /var/cache/apt les fichiers .deb téléchargés |
| apt-cache search searched-package | Chercher dans l’index des paquets par nom ou description |
| Commande | Descriptif |
|---|---|
| cat file1 | Afficher un fichier entier sur la sortie standard |
| tac file1 | Afficher le fichier avec l’ordre des lignes inversé |
| more file1 | Parcourir un fichier page par page, uniquement vers l’avant |
| less file1 | Parcourir un fichier dans les deux sens et y faire des recherches |
| head -2 file1 | Deux premières lignes d’un fichier ; la valeur par défaut est dix |
| tail -2 file1 | Deux dernières lignes d’un fichier |
| tail -f /var/log/messages | Suivre un journal qui grossit et afficher les nouvelles lignes au fur et à mesure |
| Commande | Descriptif |
|---|---|
| cat file1 | sed 's/old/new/g' > result.txt | Faire passer un fichier dans un autre programme et écrire le résultat dans un nouveau fichier |
| cat file1 | sed 's/old/new/g' >> result.txt | La même chose, en ajoutant le résultat au lieu de remplacer le fichier |
| grep Aug /var/log/messages | Lignes qui contiennent le texte |
| grep ^Aug /var/log/messages | Lignes qui commencent par le texte, ancré en début de ligne |
| grep [0-9] /var/log/messages | Lignes qui contiennent au moins un chiffre |
| grep Aug -R /var/log/* | Chercher le texte récursivement sous les chemins indiqués |
| sed 's/string1/string2/g' example.txt | Remplacer toutes les occurrences d’une chaîne par une autre |
| sed '/^$/d' example.txt | Supprimer les lignes vides |
| sed '/ *#/d; /^$/d' example.txt | Supprimer les lignes de commentaire et les lignes vides qu’elles laissent |
| echo 'example' | tr '[:lower:]' '[:upper:]' | Convertir le texte en majuscules avec les classes de caractères de tr |
| sed -e '1d' result.txt | Supprimer la première ligne et afficher le reste |
| sed -n '/string1/p' example.txt | N’afficher que les lignes qui correspondent ; -n supprime l’affichage par défaut |
| sed -e 's/ *$//' example.txt | Supprimer les espaces en fin de chaque ligne |
| sed -e 's/string1//g' example.txt | Supprimer toutes les occurrences d’un mot et garder le reste de la ligne |
| sed -n '1,5p;5q' example.txt | Afficher les cinq premières lignes et arrêter la lecture à la ligne 5 |
| sed -n '5p;5q' example.txt | N’afficher que la ligne 5 et quitter |
| sed -e 's/00*/0/g' example.txt | Réduire les suites de zéros à un seul zéro |
| cat -n file1 | Numéroter chaque ligne à l’affichage |
| cat example.txt | awk 'NR%2==1' | Afficher les lignes de numéro impair |
| echo a b c | awk '{print $1}' | Afficher le premier champ séparé par des espaces |
| echo a b c | awk '{print $1,$3}' | Afficher le premier et le troisième champ |
| paste file1 file2 | Joindre deux fichiers ligne par ligne, séparés par une tabulation |
| paste -d '+' file1 file2 | La même chose avec + comme séparateur |
| sort file1 file2 | Trier les deux fichiers ensemble par ordre croissant |
| sort file1 file2 | uniq | Supprimer les lignes dupliquées adjacentes ; l’entrée doit être triée avant |
| sort file1 file2 | uniq -u | N’afficher que les lignes qui apparaissent exactement une fois |
| sort file1 file2 | uniq -d | N’afficher que les lignes qui apparaissent plus d’une fois |
| comm -1 file1 file2 | Masquer les lignes présentes uniquement dans file1 et garder les deux autres colonnes |
| comm -2 file1 file2 | Masquer les lignes présentes uniquement dans file2 |
| comm -3 file1 file2 | N’afficher que les lignes qui diffèrent entre les deux fichiers |
| Commande | Descriptif |
|---|---|
| dos2unix filedos.txt fileunix.txt | Convertir les fins de ligne CRLF en LF et écrire un nouveau fichier |
| unix2dos fileunix.txt filedos.txt | Convertir les fins de ligne LF en CRLF |
| recode ..HTML < page.txt > page.html | Convertir du texte brut en entités HTML avec les paires de jeux de caractères de recode |
| recode -l | more | Lister les jeux de caractères et les conversions que cette compilation de recode connaît |
| Commande | Descriptif |
|---|---|
| badblocks -v /dev/hda1 | Lire tous les blocs de la partition et signaler ceux qui échouent, avec la progression |
| fsck /dev/hda1 | Vérifier le système de fichiers selon son type ; la partition ne doit pas être montée |
| fsck.ext2 /dev/hda1 | Lancer le vérificateur ext2 directement au lieu de passer par fsck |
| e2fsck /dev/hda1 | Vérifier un système de fichiers ext2, ext3 ou ext4 |
| e2fsck -p /dev/hda1 | Réparer automatiquement tout ce qui peut l’être sans question (preen) |
| fsck.ext3 /dev/hda1 | La variante ext3 du même vérificateur |
| fsck.vfat /dev/hda1 | Vérifier un système de fichiers FAT avec le vérificateur de dosfstools |
| fsck.msdos /dev/hda1 | Un autre nom pour le vérificateur FAT de MS-DOS |
| dosfsck /dev/hda1 | Réparer un système de fichiers FAT ; -a répond oui à toutes les questions |
| Commande | Descriptif |
|---|---|
| mkfs /dev/hda1 | Créer un système de fichiers sur une partition, en détruisant ce qui s’y trouvait |
| mke2fs /dev/hda1 | Créer un système de fichiers ext2 |
| mke2fs -j /dev/hda1 | Créer un système de fichiers ext3 en ajoutant un journal |
| mkfs -t vfat -F 32 /dev/hda1 | Créer un système de fichiers FAT32 avec l’outil de dosfstools |
| fdformat -n /dev/fd0 | Formater une disquette au niveau bas, sans la passe de vérification |
| mkswap /dev/hda3 | Préparer une partition comme zone de swap |
| Commande | Descriptif |
|---|---|
| mkswap /dev/hda3 | Préparer une partition comme zone de swap |
| swapon /dev/hda3 | Commencer à utiliser une partition de swap |
| swapon /dev/hda2 /dev/hdb3 | Activer deux zones de swap en une seule commande |
| Commande | Descriptif |
|---|---|
| dump -0aj -f /tmp/home0.bak /home | Sauvegarde complète (niveau 0) de /home dans un fichier compressé |
| dump -1aj -f /tmp/home0.bak /home | Sauvegarde incrémentale : uniquement ce qui a changé depuis l’exécution de niveau 0 |
| restore -if /tmp/home0.bak | Parcourir une sauvegarde de façon interactive et choisir les fichiers à restaurer |
| rsync -rogpav --delete /home /tmp | Mirrorer une arborescence dans /tmp en gardant liens, propriétaires, groupes, droits et dates ; --delete supprime les fichiers disparus |
| rsync -rogpav -e ssh --delete /home ip_address:/tmp | Le même miroir par une connexion SSH |
| rsync -az -e ssh --delete ip_addr:/home/public /home/local | Récupérer une arborescence distante, compressée pendant le transfert |
| rsync -az -e ssh --delete /home/local ip_addr:/home/public | Envoyer une arborescence locale vers l’hôte distant |
| dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' | Copier un disque entier à travers gzip et SSH, mégaoctet par mégaoctet |
| dd if=/dev/sda of=/tmp/file1 | Copier un disque dans un fichier sur un autre système de fichiers |
| tar -Puf backup.tar /home/user | Ajouter à une archive existante en conservant la barre oblique initiale du chemin |
| ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' | Copier une arborescence vers un hôte distant par un tube ; -p restaure les droits |
| ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' | La même copie en partant d’un chemin absolu |
| tar cf - . | (cd /tmp/backup ; tar xf - ) | Copier l’arborescence courante dans un autre répertoire de la même machine |
| find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents | Copier une liste de fichiers et reconstruire leur arborescence à destination |
| find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 | Archiver les fichiers trouvés par find et compresser le flux à la volée |
| dd if=/dev/hda of=/dev/fd0 bs=512 count=1 | Copier le master boot record, 512 octets à la fois |
| dd if=/dev/fd0 of=/dev/hda bs=512 count=1 | Réécrire cet enregistrement ; avec la mauvaise cible, un disque est détruit |
| Commande | Descriptif |
|---|---|
| cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force | Effacer un disque réinscriptible dans le graveur et l’éjecter (cdrecord de cdrtools) |
| dd if=/dev/cdrom of=cd.iso | Copier un disque optique dans un fichier image ISO |
| dd if=/dev/cdrom | gzip > cd_iso.gz | La même image, compressée pendant l’écriture |
| mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd | Construire une image ISO à partir d’un répertoire, avec les noms Joliet et Rock Ridge |
| cdrecord -v dev=/dev/cdrom cd.iso | Graver une image ISO sur le disque |
| gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - | Graver une image compressée directement depuis le tube |
| mount -o loop cd.iso /mnt/iso | Relire l’image comme un répertoire |
| cd-paranoia -B | Extraire les pistes audio d’un CD vers des fichiers WAV |
| cd-paranoia -- "-3" | Extraire la piste 3 ; le -- empêche le tiret initial d’être lu comme une option |
| cdrecord --scanbus | Lister les adresses SCSI/ATA que le graveur peut atteindre |
| dd if=/dev/hdc | md5sum | Calculer la somme de contrôle du contenu brut d’un lecteur optique |
| Commande | Descriptif |
|---|---|
| dhclient eth0 | Demander une adresse et un bail DHCP pour l’interface (root uniquement) |
| ethtool eth0 | Vitesse du lien, mode duplex et détails du pilote d’une interface réseau |
| host www.example.com | Résoudre un nom en adresses avec l’utilitaire host de BIND |
| hostname | Afficher le nom de cette machine |
| ifconfig eth0 | Adresse, masque et compteurs d’une interface (net-tools, obsolète face à ip) |
| ifconfig eth0 192.168.1.1 netmask 255.255.255.0 | Définir une adresse statique qui tient jusqu’au prochain redémarrage (root uniquement) |
| ifconfig eth0 promisc | Mettre l’interface en mode promiscuité pour qu’elle garde toutes les trames qu’elle voit (root uniquement) |
| ifdown eth0 | Descendre une interface avec les scripts ifupdown (root uniquement) |
| ifup eth0 | La remonter et appliquer la configuration de /etc/network/interfaces (root uniquement) |
| ip link show | État de tous les périphériques réseau ; le remplaçant moderne d’ifconfig |
| iwconfig eth1 | Réglages sans fil d’une interface : ESSID, mode et fréquence (wireless-tools) |
| iwlist scan | Lister les points d’accès que la carte sans fil peut voir (root uniquement) |
| mii-tool eth0 | État du lien d’une interface filaire tel que le pilote le rapporte |
| netstat -tup | Connexions TCP et UDP actives avec le processus propriétaire de chaque socket |
| netstat -tulp | Uniquement les sockets en attente de connexion, avec le processus qui les occupe |
| netstat -rn | Table de routage du noyau avec des adresses numériques, sans résolution de noms |
| nslookup www.example.com | Interroger un serveur de noms pour un nom ou une adresse ; dig est le remplaçant moderne |
| route -n | Table de routage sans résolution de noms (net-tools) |
| route add default gw 192.168.1.1 | Définir la passerelle par défaut jusqu’au prochain démarrage (root uniquement) |
| route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 | Ajouter une route statique vers un réseau (root uniquement) |
| route del default gw 192.168.1.1 | Supprimer à nouveau cette route par défaut (root uniquement) |
| echo 1 > /proc/sys/net/ipv4/ip_forward | Activer le transfert IPv4 pour que la machine puisse router entre interfaces (root uniquement) |
| tcpdump tcp port 80 | Capturer le trafic HTTP sur le câble (root uniquement) |
| whois www.example.com | Données d’enregistrement d’un domaine dans la base WHOIS |
| Commande | Descriptif |
|---|---|
| mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share | Monter un partage Windows ; les noyaux actuels utilisent -t cifs et un fichier d’identifiants au lieu de smbfs |
| nbtscan 192.168.1.0/24 | Balayer un sous-réseau à la recherche des noms NetBIOS et des machines derrière |
| nmblookup -A 192.168.1.10 | Demander à un hôte ses noms NetBIOS ; la réponse de Samba à nbtstat |
| smbclient -L 192.168.1.10 | Lister les partages qu’offre un hôte Windows |
| smbget -Rr smb://192.168.1.10/share | Télécharger un partage de façon récursive avec le client de Samba façon wget |
| Commande | Descriptif |
|---|---|
| iptables -t filter -L | Lister les règles de la table filter |
| iptables -t nat -L | Lister les règles de la table nat, qui gère la traduction d’adresses |
| iptables -t filter -F | Supprimer toutes les règles de la table filter |
| iptables -t nat -F | Supprimer toutes les règles de la table nat |
| iptables -t filter -X | Supprimer les chaînes définies par l’utilisateur qui ne sont plus référencées |
| iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT | Ajouter une règle qui accepte le Telnet entrant sur le port 23 |
| iptables -t filter -A OUTPUT -p tcp --dport telnet -j DROP | Rejeter le trafic Telnet sortant |
| iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT | Laisser passer le trafic POP3 transféré |
| iptables -t filter -A INPUT -j LOG --log-prefix "INPUT: " | Journaliser chaque paquet entrant avec un préfixe facile à rechercher |
| iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | Réécrire l’adresse source des paquets sortants : c’est le principe d’une passerelle NAT simple |
| iptables -t nat -A POSTROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22 | Envoyer le SSH vers un hôte interne en réécrivant l’adresse de destination |
| Commande | Descriptif |
|---|---|
| free -m | Utilisation de la mémoire et du swap en mébioctets |
| kill -9 1234 | SIGKILL : le processus s’arrête immédiatement et ne peut rien nettoyer (1234 représente le PID) |
| kill -1 1234 | SIGHUP : la plupart des démons relisent leur configuration (1234 représente le PID) |
| last reboot | Historique des connexions filtré sur les redémarrages : il montre quand la machine a redémarré |
| lsmod | Lister les modules du noyau actuellement chargés |
| lsof -p 1234 | Tous les fichiers, sockets et périphériques ouverts par un processus |
| lsof /home/user1 | Quels processus ont des fichiers ouverts sous un chemin |
| ps -eafw | Tous les processus avec leur ligne de commande complète, en affichage large |
| ps -e -o pid,args --forest | Arborescence des processus n’affichant que le PID et la commande |
| pstress | Outil de test de charge pour PostgreSQL ; il ne fait pas partie d’une distribution standard |
| smartctl -A /dev/hda | Attributs S.M.A.R.T. d’un disque, où les secteurs réalloués annoncent une panne |
| smartctl -i /dev/hda | Modèle, firmware, numéro de série et état de santé d’un disque |
| strace -c ls >/dev/null | Compter les appels système d’une commande et afficher un résumé |
| strace -f -e open ls >/dev/null | Tracer les appels open() d’une commande et des processus enfants qu’elle lance |
| tail /var/log/dmesg | Dernières lignes du journal du tampon circulaire du noyau |
| tail /var/log/messages | Dernières lignes du journal général du système |
| top | Liste en direct des processus triée par usage du processeur, rafraîchie sous vos yeux |
| watch -n 1 'cat /proc/interrupts' | Exécuter une commande chaque seconde et garder sa sortie à l’écran |
| Commande | Descriptif |
|---|---|
| alias hh='history' | Donner un nom court à une commande dans le shell courant |
| apropos keyword | Chercher un mot-clé dans les noms et descriptions des pages de manuel |
| chsh | Changer votre shell de connexion de façon interactive |
| chsh --list-shells | Afficher les shells listés dans /etc/shells |
| gpg -c file1 | Chiffrer un fichier avec une phrase secrète dans file1.gpg, en chiffrement symétrique |
| gpg file1.gpg | Déchiffrer ce fichier à nouveau et demander la phrase secrète |
Cette page réunit 347 exemples de commandes en 27 groupes repliables, des informations système et des fichiers jusqu’aux réseaux, paquets, sauvegardes et supports optiques. Utilisez Ctrl / Cmd + F ou cliquez sur un titre de groupe pour replier la partie voulue ; la cellule de commande conserve la syntaxe du shell telle qu’on la tape, et la note à côté indique ce que fait cet utilitaire ou cette option.
Les notes ont été rédigées à partir de la page de manuel de chaque utilitaire : elles décrivent donc l’outil au lieu de répéter une phrase générique. uname -r affiche la version du noyau, e2fsck -p répare ce qui peut l’être sans question, et iptables -t nat -F vide la table de traduction d’adresses. KivTools n’exécute aucune de ces commandes : la page est un document statique, la lire ne peut donc pas modifier votre système.
La cellule de commande contient un exemple qui fonctionne : mkdir -p /tmp/dir1/dir2 crée les répertoires parents et n’échoue pas si le chemin existe déjà ; tar -xvf archive.tar -C /tmp extrait dans un autre répertoire car -C s’applique à tout ce qui suit ; find / -xdev -name \*.rpm reste dans un seul système de fichiers. Là où la liste d’origine comportait une faute de frappe ou une option impossible — iptables -t nae, e2fsck -j, gpg -c filel, mkisofs /dev/cdrom, netstat -tup1, /proc/sys/net/ipv4/ip_foward — l’exemple a été corrigé et la note décrit la forme corrigée.
Chaque utilitaire cité sur cette page a été vérifié sur le serveur Linux qui héberge aussi KivTools (Alibaba Cloud Linux 3) : command -v pour le binaire, man -w pour la page de manuel. 106 des 141 utilitaires y ont une page de manuel, et les notes suivent le texte de leur ligne NAME et de leur liste d’options. 32 ne sont pas installés (apt-get, dpkg, rar, smartctl, tree, whois, rsync, smbclient et d’autres) : leurs notes décrivent donc l’outil d’origine et non une exécution locale.
Les options affichées sont des exemples, pas la liste complète. Le reste se trouve dans --help ou dans la page de manuel.
Des lignes comme rm -rf dir1, dd if=/dev/fd0 of=/dev/hda, mkfs /dev/hda1, iptables -F et shutdown -h now sont documentées et jamais exécutées ici. La note signale celles qui demandent root, et la même prudence qu’au terminal s’applique : vérifier d’abord le périphérique, le chemin et l’hôte cible. Un mauvais nom de périphérique dans dd ou mkfs détruit des données sans retour possible.