Consulter des commandes Linux et leurs exemples

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

Comment utiliser les tableaux de commandes

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.

  1. Trouver le groupe voulu : informations système et matériel, fichiers et répertoires, recherche de fichiers, montage, espace disque, utilisateurs et groupes, droits, attributs étendus, archives, paquets RPM / YUM / Debian / APT, consultation de fichiers, traitement de texte, codifications de caractères, vérification des systèmes de fichiers, création de systèmes de fichiers, swap, sauvegarde et restauration, supports optiques, Ethernet et Wi-Fi, SMB, iptables, surveillance et diagnostic, et autres utilitaires.
  2. Cliquer sur le titre d’un groupe pour le replier ou le déplier, ou utiliser Ctrl / Cmd + F pour aller directement à une commande comme tar -xvf ou à un mot dans une note.
  3. Lire la note avant de copier. Elle nomme l’option sur laquelle repose l’exemple (-j pour bzip2, -C pour extraire ailleurs, -perm pour chercher les fichiers setuid) et signale les lignes qui demandent root.
  4. Vérifier les chemins, les noms de périphériques et les hypothèses de distribution de l’exemple. /dev/hda et /dev/hdc viennent de l’ancienne nomenclature IDE, un système moderne attend /dev/sda ou /dev/sr0 ; yum est redirigé vers dnf à partir de RHEL 8, et ifconfig, route et netstat appartiennent à net-tools, remplacé par ip, ss et ip route.
  5. Exécuter ensuite la commande dans votre propre shell, où l’effet est visible. Ici, rien n’est exécuté à votre place et aucune requête ne quitte le navigateur pendant la lecture.

Ce que disent les notes, et ce que cette page ne fait pas

Comment chaque ligne est écrite

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.

Ce qui a été vérifié, et comment

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.

Les lignes qui touchent aux données

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.

Outils récents :