Posez votre question »

Kit de survie Linux

Août 2015


Mémo des commandes usuelles


Vous trouverez ci-dessous un mémento des commandes Linux usuelles (ou pas) qu'on a tous en tête, plus ou moins, mais dont on oublie souvent un bout de syntaxe, quand ce n'est pas la syntaxe entière, et, pour certaines même, dont on avait totalement oublié l'existence, quand ne l'ignorait pas, tout simplement...

Merci à tou(te)s de compléter cette liste ainsi que celle des catégories.

Notes à l'attention des futurs contributeurs :
  • Ceci n'est pas un tutoriel mais juste un aide mémoire, à ce titre ne mettez qu'un descriptif le plus succinct possible suivi par la commande.
  • Essayer pour les commandes systèmes nécessitant les droits du superutilisateur "root" de faire précéder ces commandes par le caractère dièse (#) représentatif du "root" et par le caractère dollar ($) pour les commandes ne nécessitant aucun droit particulier et pouvant être exécutées par un simple utilisateur.


Notes à l'attention des lecteurs :
  • Pour les systèmes basés sur Ubuntu lorsqu'une commande nécessite les droits du superutilisateur "root" (représenté ci-dessous par le caractère dièse (#) représentatif du "root"), faites précéder cette commande par "sudo".

Sommaire





Manuel et aide


Les pages de man


Afficher la page de man d'une commande
  • $ man commande

Rechercher les pages faisant référence à un mot-clé ("mot-clé" peut être un mot simple ou le nom d'une commande)
  • $ man -k mot-clé
  • $ apropos commande/mot-clé

Documentation supplémentaire avec info (pour certaines pages)
  • $ info commande

Aide en ligne


Type d'une commande (alias, mot-clé réservé au shell, fonction, commande interne ou simple fichier sur le disque)
  • $ type commande
  • $ type -t commande

Afficher l'aide sommaire d'une commande interne (builtin)
  • $ help commande

Afficher l'aide sommaire d'une commande externe
  • $ commande --help
  • $ commande -h

Opérations sur les fichiers et répertoires


Affichage


Affichage d'un fichier
  • $ cat fichier

Affichage page par page (touche "Espace" avance d'une page, touche "Entrée" avance d'une ligne)
  • $ more fichier

Affichage ligne par ligne (flêche haut <=> flêche bas)
  • $ less fichier

Afficher les 5 dernières lignes d'un fichier
  • $ tail -5 fichier

Lire en temps réel les 5 dernières lignes d'un fichier
  • $ tail -5f fichier

Afficher le 5 premières lignes d'un fichier
  • $ head -5 fichier

Afficher un fichier à l'envers
  • $ tac fichier

Numéroter un fichier en sortie
  • $ cat -n fichier
  • $ nl fichier

Connaitre le type d'un fichier
  • $ file fichier


Lister un répertoire
  • $ ls
  • $ ls -l

Affichage récursif
  • $ ls *
  • $ ls -R 

Afficher les fichiers cachés
  • $ ls -a 

Afficher le fichier en supprimant le caractère '0'
  • $ tr -d "0" < fichier

Afficher le fichier en remplaçant le caractère '0' par "gag"
  • $ sed ' s/0/gag/g' fichier

Création


Créer un fichier vide
  • $ > fichier
  • $ touch fichier

Créer 10 fichiers vides
  • $ touch fichier{1..10}.txt


Créer un répertoire
  • $ mkdir répertoire

Créer un répertoire et ses sous-répertoires
  • $ mkdir -p rep_parent/rep1/rep2/rep3

Redirection


Dans un fichier
  • $ ls -R  /home/$USER/*.txt > liste.txt

Dans un fichier mais en ajoutant à la suite
  • $ ls -R  /home/$USER/*.txt >> liste.txt

À la fois à l'écran et dans un fichier
  • $ ls -R  /home/$USER/*.txt | tee liste.txt

À la fois à l'écran et dans un fichier mais en ajoutant à la suite
  • $ ls -R  /home/$USER/*.txt | tee -a liste.txt

Copier


Copier un fichier
  • $ cp fichier_source fichier_destination

Copier un ensemble de fichiers
  • $ cp /répertoire_source/*.html /répertoire_destination

Copier un répertoire
  • $ cp -R /répertoire_source /répertoire_destination

Déplacer


Déplacer un fichier
  • $ mv -i  /chemin/fichier /chemin

Déplacer un répertoire
  • $ mv /chemin/rep_à_déplacer/ /chemin/destination/

Renommer


Renommer un fichier
  • $ mv fichier_source fichier_destination>

Comparer


Comparer 2 fichiers
  • $ cmp fichier1 fichier2
  • $ diff fichier1 fichier2
  • $ sdiff fichier1 fichier2


Comparer 3 fichiers
  • $ diff3 fichier1 fichier2 fichier3

Trier


Trier alphabétiquement
  • $ sort fichier

Trier numériquement
  • $ sort -n  fichier

Éliminer les doublons
  • $ sort fichier | uniq
  • $ sort -u fichier

Afficher uniquement les doublons
  • $ sort fichier | uniq -d

Archiver/Désarchiver


Archiver un dossier/répertoire
  • $ tar -vcf nom_archive.tar nom_dossier_à_archiver

Désarchiver un dossier/répertoire
  • $ tar -vxf mon_archive.tar

Lister le contenu d'une archive
  • $ tar -tf mon_archive.tar

Compresser/Décompresser


Compresser une archive (sans sauvegarde de l'original)
  • $ compress mon_archive.tar
  • $ gzip mon_archive.tar
  • $ bzip2 mon_archive.tar

Compresser une archive (avec sauvegarde de l'original)
  • $ compress -c mon_archive.tar > mon_archive.tar.Z
  • $ gzip -c mon_archive.tar > mon_archive.tar.gz
  • $ bzip2 -k mon_archive.tar


Décompresser une archive
  • $ uncompress mon_archive.tar.Z
  • $ gunzip mon_archive.tar.gz
  • $ bunzip2 mon_archive.tar.bz2

Décompresser et Désarchiver


Une archive tar.gz
  • $ tar xvzf mon_archive.tar.gz

Une archive tar.bz2
  • $ tar xvjf mon_archive.tar.bz2

Compter


Compter les caractères d'un fichier
  • $ wc -c fichier

Compter les mots d'un fichier
  • $ wc -w fichier

Compter les lignes d'un fichier
  • $ wc -l fichier
  • $ sed -n '$=' fichier

Rechercher


Fichiers


Rechercher un fichier
  • $ find /chemin -name "nom" -print

Rechercher un motif dans une arborescence ( en affichant le chemin, le nom du fichier et le numéro de ligne dans ce fichier)
  • $ find /chemin -name "*" -type f -exec grep -Hn  "motif" {} \;

Mettre la base de slocate à jour
  • # updatedb

Rechercher un fichier indexé
  • $ locate nom

Un motif dans un fichier
  • $ grep "motif" fichier

Commandes


Localiser une commande
  • $ which commande

Rechercher les fichiers exécutables
  • $ whereis commande

Rechercher le nom du fichier qui sera exécuté à l'appel de commande
  • $ type -p commande

Utilisateurs


Qui est connecté ?
  • $ who
  • $ finger

Qui est connecté et qui fait quoi ?
  • $ w

Qui suis-je ?
  • $ whoami

Où suis-je ?
  • $ pwd

Dépendances


Afficher les bibliothèques nécessaires à un programme
  • ldd /chemin/programme

Administration système


Gestion système


Activité du système
  • $ top


État des processus
  • $ ps -ef


Taux d'occupation du disque
  • $ df -h

Taux d'utilisation du disque
  • $ du -h /home/$USER

Gestion des utilisateurs


Ajouter un utilisateur
  • # useradd new_user


Supprimer un utilisateur
  • # userdel user


Ajouter un groupe
  • # groupadd new_groupe


Supprimer un goupe
  • # groupdel groupe


Changer le propriétaire d'un répertoire
  • # chown $USER /chemin/repertoire


Changer son mot de passe
  • $ passwd


Changer le mot de passe d'un utilisateur
  • # passwd login


Afficher les groupes auxquels appartient un utilisateur
  • $ groups $USER


Information utilisateur
  • $ finger $USER

Réseau


Information matériel


Connaitre le module d'une carte
  • # ethtool -i eth0


Plus d'infos
  • # udevinfo -a -p /sys/class/net/eth0/


Liste des interfaces détectées par le noyau
  • $ /sbin/ifconfig
  • $ /sbin/ip link show



Informations pour le sans-fil
  • # iwconfig



Outils supplémentaires
  • # mii-tool eth0
  • # mii-diag -a

Tests et mesures


Tester l'adresse locale
  • $ ping -c4 localhost

Pinger une adresse réseau
  • $ ping -c4 Adresse_IP

Vérifier les adresses MAC du LAN
  • # nmap -sP 192.168.1.1-254

Configuration


Configurer une adresse
  • # ifconfig eth0 192.168.10.1 netmask 255.255.255.0 broadcast 192.168.10.255

Ajouter une passerelle par défaut
  • # route add default gw nom_passerelle


Empêcher le ping
  • # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

Connexion


ssh
  • $ ssh login@serveur

telnet
  • $ telnet adresse_IP

scp
  • $ scp /chemin/fichier login@serveur:/chemin/destination/

Connaitre son matériel


Système


Noyau
  • $ uname -r

Système d'exploitation
  • $ uname -o

Processeur


Type de processeur
  • $ uname -p

Informations détaillées
  • $ cat /proc/cpuinfo

Charge moyenne du processeur
  • $ cat /proc/loadavg

Mémoire


Informations détaillées
  • $ cat /proc/meminfo

Afficher l'état
  • $ free -m

Descriptif matériel


Ressources matérielles
  • # dmidecode

Liste matérielle
  • # lshw
  • # lshw -html > fichier.html
  • # lshal

Liste des cartes PCI
  • $ lspci -v

Liste des périphériques USB
  • # lsusb

Résolution d'écran
  • $ xrandr -q

Vérification prise en charge matérielle


Lister les codes fabricants et périphériques PCI
  • $ lspci -n

Coller le résultat sur "http://kmuto.jp/debian/hcl/" et cliquer sur "Check"

Périphériques inconnus (unknow) ?

  • # scanpci -v

Relever dans le descriptif de l'élément en question, son code "vendor" (0xXXXX) ainsi que son code "device" (0xYYYY, puis rendez vous sur le site "PCIDatabase.com" pour en déterminer le constructeur et le périphérique inconnu.

Bios


Information sur le Bios
  • # biosdecode

Module


Afficher les modules chargés
  • $ /sbin/lsmod

Afficher la listes des modules
  • $ /sbin/modprobe -l

Charger un module
  • # insmod chemin_vers_module
  • # modprobe nom_module

Supprimer un module
  • # rmmod nom_module
  • $ modprobe -r nom_module

Obtenir des infos sur un module
  • $ /sbin/modinfo nom_module


NOTES: insmod charge un module avec partir du chemin vers son fichier. Par exemple si vous voulez charger le module machin.ko situé dans le répertoire courant, alors tapez insmod ./machin.ko
Pour le décharger: rmmod machin (sans ./ko derrière). insmod ne gère pas les dependances, donc si votre module a besoin d'un autre pour se charger, insmod ne le chargera pas pour vous. Insmod est plutôt un outil de développement.
La commande modprobe est plus intelligente. Prenant en paramètre un nom de module (sans le .ko en suffixe), elle va chercher le module dans le répertoire /lib/modules/`uname -r` et le charger ainsi que ses dépendances.

Disque dur


Table des partitions
  • $ /sbin/fdisk -l


Informations disque
  • # hdparm -I /dev/xxx

(si smartmontools est installé)
  • # smartctl -i /dev/xxx

Test disque
  • # smartctl -t short /dev/xxx


Sauvegarder la table des partitions (MBR)
  • # dd if=/dev/hdx of=/chemin/sauvegarde.dd bs=512 count=1


Sauvegarder la table des partitions de la partition étendue
  • # sfdisk -d /dev/hdx > /chemin/save_etendue.sf


Restaurer la table des partitions (MBR)
  • # dd if=/chemin/sauvegarde.dd of=/dev/hdx


Restaurer la table des partitions de la partition étendue
  • # sfdisk /dev/hdx < /chemin/save_etendue.sf


Déterminer l'UUID d'un disque (Universal Unique IDentifier)
  • $ ls -l /dev/disk/by-uuid
  • # vol_id -u /dev/sda1
  • # blkid


Ajouter/retirer un périphérique de swap
  • # swapon chemin_périphérique
  • # swapoff chemin_périphérique

CD/DVD/Graveur


Trouver l'adresse SCSI du graveur
  • $ cdrecord --scanbus 
  • $ cdrecord --scanbus dev=ATA 

Débloquer le graveur
Si pour une raison ou pour une autre le graveur ne répond plus à aucune commande, renvoie des messages d'erreur et refuse de s'ouvrir même en appuyant sur le bouton d'éjection, alors vous pouvez utiliser cdrdao pour le réinitialiser
  • # cdrdao unlock --device y,z

Température (lm_sensors)


Recherche des capteurs
  • $ sensors-detect

Chargement des modules
  • # modprobe i2c-xxx i2c-yyy i2c-zzz

Affichage température
  • $ sensors

Multimédia


Conversion de format vidéo


avi => flv
  • $ ffmpeg -i video.avi -f flv video.flv

flv => avi
  • $ ffmpeg -i video.flv -f avi video.avi

wmv => avi
  • $ ffmpeg -i video.wmv -f avi video.avi

avi => SVCD
  • $ ffmpeg -i video.avi -target pal-SVCD video.mpeg

Capture d'écran


Avec ImageMagcik
  • $ import -pause 5 capture.png

Conversion de formats graphiques


GIF => PNG
  • $ convert  fichier_d_entree.gif fichier_en_sortie.png


JPG => PNG
  • $ convert  fichier_d_entree.jpg fichier_en_sortie.png


etc.

Redimensionnement d'images


Avec ImageMagcik

Dans les exemples ci-dessous, le format d'entrée peut être un autre format que PNG, les dimensions peuvent être modifiées :
  • Redimensionnement à une taille donnée
    • $ convert  fichier_d_entree.png  -resize 320x200 fichier_en_sortie.png
  • Redimensionnement à une largeur donnée
    • $ convert  fichier_d_entree.png  -resize 320x fichier_en_sortie.png
  • Redimensionnement à une hauteur donnée
    • $ convert  fichier_d_entree.png  -resize 320x fichier_en_sortie.png
  • Redimensionnement de la première image d'un GIF animé
    • $ convert  fichier_d_entree.gif[0]  -resize 320x200 fichier_en_sortie.gif
  • Redimensionnement en forçant la valeur du fond transparent (afin d'éviter un fond noir peu esthétique). Ici le fond est forcé en blanc :
    • $ convert  fichier_d_entree.png  -resize 320x200 -background white -flatten fichier_en_sortie.png

Divers


Afficher un calendrier du mois en cours
  • $ cal

Afficher un calendrier annuel
  • $ cal 2008

Pour une lecture illimitée hors ligne, vous avez la possibilité de télécharger gratuitement cet article au format PDF :
Kit-de-survie-linux.pdf

Réalisé sous la direction de , fondateur de CommentCaMarche.net.

A voir également

Dans la même catégorie

Kit de supervivencia Linux
Par Carlos-vialfa le 8 août 2008
Kit de memória dos comandos do Linux
Par ninha25 le 2 janvier 2010
Publié par jipicy. - Dernière mise à jour par christelle.b
Ce document intitulé «  Kit de survie Linux  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.