Commandes Unix
Un article de Wikipédia, l'encyclopédie libre.
Les systèmes d'exploitation de type UNIX offrent à leurs utilisateurs des centaines de commandes qui font de la console un outil très pratique et très puissant. Certaines d'entre elles sont fournies directement par le shell, alors que d'autres sont des exécutables situés dans /bin, /usr/bin, /usr/local/bin ou un autre répertoire contenant des exécutables et listé dans la variable d'environnement PATH. La distinction entre /bin et /usr/bin ne relève que de raisons historiques propres aux PDP/11 (/bin était placé sur un tambour magnétique d'accès rapide et de petite taille, /usr/bin sur un disque normal ; sur beaucoup de systèmes actuels, il s'agit d'un lien vers le même système de fichiers.
Voici une liste des commandes les plus fréquemment incluses dans un système UNIX (donc aussi Linux). Certaines d'entre elles peuvent être spécifiques à un système en particulier, par exemple GNU. L'origine du nom des commandes est écrite entre parenthèses.
Des informations supplémentaires sur chacune de ces commandes peuvent être trouvées dans leurs pages respectives du manuel UNIX.
[modifier] Le passage d'arguments aux commandes
La plupart des commandes acceptent des arguments. On peut distinguer deux types d'arguments :
- Les options, qui sont en général précédées du caractère - pour leur forme courte ou des caractères -- pour leur forme longue, introduite par les outils GNU.
Exemple :
ls -l --color
Cette commande affiche le contenu du répertoire courant de façon détaillée (-l) et en colorant les fichiers selon leur type (--color).
- Les chaînes de caractères, qui peuvent représenter un fichier, une expression rationnelle, une commande interne, etc.
Exemple :
grep titi mon_fichier
Cette commande recherche la chaîne titi dans le fichier mon_fichier.
Une fonctionnalité puissante de certaines commandes Unix est de pouvoir rediriger la sortie d'une première commande comme argument d'une seconde via le caractère pipe (tuyau en anglais).
Exemple :
ps ax | grep init
N'affichera que les lignes retournées par la commande ps ax qui contiennent la chaîne init. Il s'agit ici d'une redirection utilisant grep comme filtre.
[modifier] Aide
- info (GNU) : Obtenir le manuel GNU info d'une commande.
- apropos : Liste les pages de manuel contenant certains mots.
- man : Obtenir le manuel d'une commande.
- help : Obtenir de l'aide pour une commande interne du shell.
- which : Où réside cette commande ?
- whatis : Liste quelles commandes sont en rapport avec un mot-clef.
- Commande --help : Affiche une aide succincte et liste les arguments qui peuvent être passés à la commande Commande en question. Cette option est la forme longue de l'option Commande -h, des premiers systèmes UNIX.
[modifier] Communications
- mesg : Contrôler l'accès à votre terminal par d'autres personnes (par write).
- talk : Faire une conversation avec un autre utilisateur du système.
- wall : Envoyer un message à tous les utilisateurs du système (Write ALL).
- write : Envoyer un message à un utilisateur en particulier (voir mesg).
[modifier] Écran
- less (GNU) : Visualise le contenu d'un fichier texte, avec une progression ligne par ligne ou page par page et la possibilité de retourner en arrière et d'effectuer une recherche ; beaucoup plus élaboré que son prédécesseur more, less est son opposé (le nom de ce programme comporte une touche d'humour car less signifie moins, alors que more signifie plus) ;
- more : Affiche le contenu d'un fichier texte, page par page (la page correspond à la taille du terminal) ;
- screen : Permet d'ouvrir des programmes associés à des écrans virtuels desquels l'utilisateur peut se détacher et auxquels il peut de nouveau s'attacher plus tard.
- twin : Simule en mode texte (ncurses) un écran graphique.
[modifier] Éditeurs de texte
- Ed : Éditeur de texte (obsolète) orienté ligne. (EDitor)
- Emacs : Éditeur de texte
- Nano : Éditeur de texte
- Pico : Éditeur de texte
- vi : Éditeur de texte présent dans presque tous les systèmes Unix. (Visual Interface)
- vim : voir vi (VI aMélioré, ou VI iMproved). [1]
[modifier] Fichiers et répertoires
- cd : Change le répertoire courant. (Change Directory)
- cp : Copie un fichier. (CoPy)
- dd[1] : Effectue une copie d'un fichier avec possibilité de conversion du format (Copy and Convert, mais cc étant déjà pris, les lettres suivantes de l'alphabet ont été choisies, soit dd).
- dir : Equivalent à ls (DIRectory)
- du : Affiche l'utilisation du disque. (Disk Usage)
- file : Affiche le type de fichier en lisant son en-tête.
- ln : Crée un lien avec un autre dossier ou fichier. (LiNk)
- ls : Affiche la liste des fichiers dans le dossier courant. (LiSt)
- mkdir : Crée un ou plusieurs répertoires (MaKe DIRectory)
- mv : Déplace (ou renomme) un fichier, y compris si c'est un répertoire. (MoVe)
- pwd : Affiche le chemin du dossier courant. (Print Working Directory)
- rm : Supprime un fichier. (ReMove)
- rmdir : Supprime un ou ou plusieurs répertoires (ReMove DIRectory) s'il est (ou s'ils sont) vide(s)
- touch : Change la date de modification d'un fichier, en le créant s'il n'existait pas.
- lsof : Affiche la liste des fichiers ouverts. (LiSt Open Files)
[modifier] Manipulations d'archives et compressions
- bzip2/bunzip2 : Compresse et décompresse des fichiers
- cpio : Copie de fichiers à partir de ou vers une archive cpio/tar (obsolète)
- gzip/gunzip : Compresse et décompresse des fichiers. (Gnu ZIPper)
- tar : Archiveur, capable de fonctionner avec bzip2 ou gzip. (Tape ARchiver)
- zip/unzip : Compresse et décompresse des fichiers. (ZIP)
[modifier] Recherche
- find : Recherche récursive, à partir d'un répertoire, de fichiers ayant des caractéristiques données.
- locate : Recherche un fichier à partir de la dernière version de la base de données des fichiers (base généralement créée par updatedb). Beaucoup plus rapide que find, mais moins flexible.
- whereis : Recherche une commande dans le PATH et retourne le chemin des ou du dossiers dans lesquels elle se trouve.
- which : Retourne le chemin d'accès complet d'une commande.
[modifier] Gestion des disques/points de montage
- df : Affiche l'espace libre sur les partitions (Disk Free)
- fsck : Effectue une vérification du système de fichiers (FileSystem ChecK); en fonction du type de partition, il appelle l'utilitaire correspondant
- fsdb, pour les experts
- mkfs : Crée un système de fichiers. (MaKe FileSystem)
- mount : Attache un système de fichiers sur un point de montage.
- umount : Détache un système de fichiers. (UnMOUNT). « unmount » reste autorisé.
- sync Pour imposer une écriture disque (par exemple, avant un arrêt électrique brutal)
- tune2fs pour le paramétrage d'une partition ext2 ou ext3
- cryptsetup : Cryptage d'image disque transparent
[modifier] Manipulation de texte
- awk : Effectue des opérations sur les fichiers (afficher une colonne, la traiter, ..) (initiales de ses créateurs : Aho, Kernighan, Weinberger)
- cat : Concatène des fichiers texte. Peut aussi servir à simplement afficher ou lire un fichier. (conCATenate)
- cut : Supprime une partie des lignes d'un fichier selon un critère.
- echo : Affiche une ligne de texte donnée en paramètre.
- expr : Évaluer une expression (mathématique ou sur une chaîne de caractères)
- grep : Affiche les lignes qui correspondent à une expression rationnelle donnée.
- head : Affiche les premières lignes d'un fichier. (opposé de tail)
- join : Fusionne les lignes de deux fichiers contenant un ou plusieurs champs identiques.
- nl : Permet de numéroter les lignes d'un fichier.
- read : Lit une chaîne de caractères à partir de l'entrée standard.
- sed : Effectue des transformations sur un flux de texte (Stream EDitor)
- sort : Trie les lignes d'un texte selon l'ordre alphabétique (ou numérique avec l'option -n).
- strings : Affiche seulement les caractères imprimables (ASCII) d'un fichier binaire.
- tail : Affiche les dernières lignes d'un fichier. (opposé de head)
- tee : Copie de l'entrée standard sur la sortie standard et vers un fichier. (le nom vient de la forme de la lettre T, qui a aussi une « entrée » et deux « sorties »)
- tr : Transpose ou élimine des caractères dans une chaîne (TRanspose)
- uniq : Recopie un fichier source dans un fichier destination en ne conservant qu'un unique exemplaire de lignes identiques consécutives.
- wc : Permet de compter le nombre de caractères, de mots ou de lignes dans un fichier.
[modifier] Permissions
- chgrp : Change le groupe propriétaire d'un fichier. (CHange GRouP)
- chmod : Change les permissions en lecture, écriture et/ou exécution d'un fichier.
- chown : Change le propriétaire d'un fichier. (CHange OWNer)
- getfacl, setfacl : respectivement, lister ou modifier les ACL de fichier (grossièrement, c'est l'équivalent du CACLS pour le NTFS de Windows)
[modifier] Processus
- free : Affiche des informations sur l'utilisation de la mémoire.
- fuser : Affiche quel processus utilise le fichier donné en paramètre.
- kill : Tue un processus, ou lui envoie un signal donné
- Signal SIGTERM (15) par défaut : arrêter le processus proprement
- 63 signaux possibles de SIGHUP (1) à SIGRTMAX (63)
- Valeur la plus utilisée : SIGKILL (9), qui termine brutalement un processus
- killall : Tue tous les processus d'un certain type, ou leur envoie un signal donné.
- killall5 : Tue tous les processus
- nohup: Permer de lancer un processus qui restera actif même après la déconnexion de l'utilisateur l'ayant initiée
- nice : Exécute une commande avec une priorité modifiée.
- pidof : Donne le PID du processus spécifié
- pkill : même commande que kill, mais par son nom au lieu de son numéro.
- ps : Affiche les processus en cours d'exécution (Process Status)
- pstree : Affiche l'arbre des processus en cours d'exécution.
- renice : Modifie la priorité d'un processus.
- top : Programme interactif qui affiche les processus les plus actifs selon un critère donné.
- xkill : Permet de killer une application lancée sous X
- vmstat : Affiche les statistiques système (consommation CPU, mémoire virtuelle)
[modifier] Shells
- bash (GNU) : Shell compatible sh de GNU (Bourne Again SHell)
- sh : Shell standard (bourne SHell)
- csh : C-like shell; sa syntaxe de commandes est proche du langage C
- tcsh : Amélioration de csh.
- ksh : Korn SHell, le plus répandu parmi les UNIX commerciaux
- zsh : Z SHell
[modifier] Services et démarrage
- dmesg : Affiche les messages apparus au démarrage du système et contrôle les tampons de messages du noyau.
- init : Change le niveau d'exécution (runlevel) du système.
- runlevel : Donne le niveau d'exécution en cours
- who -r : Pareil que runlevel
- service : Démarre, arrête ou redémarre un service.
[modifier] Réseaux
- dhclient ou pump: Permet à un client DHCP d'obtenir son adresse Internet Protocol
- De façon plus détaillée, le client DHCP cherche un serveur DHCP, via plusieurs requêtes DHCPDISCOVER en broadcast, puis si tout se passe bien, il fait un DHCPREQUEST adressé au serveur trouvé, il reçoit ensuite de ce serveur un DHCPACK qui lui donne un bail pour une adresse IP
- Les ports utilisés sont 67 (BOOTP serveur) et 68 (BOOTP client)
- ftp : Client FTP en ligne de commande.
- hostname : Affiche ou modifie le nom d'hôte de la machine.
- ifconfig[2] : Configurer et afficher les paramètres d'une interface réseau
- la deuxième ligne contient l'adresse IP
- irssi : Un client IRC en mode texte
- iwconfig Pour les réseaux sans fil (affichage et configuration)[3]
- links : Navigateur web en mode texte
- lynx : Navigateur web en mode texte
- mail : Lire ou envoyer des courriels.
- nslookup : Permet de connaître l'adresse IP d'un ordinateur, via un serveur DNS.
- ping : Effectue un ping sur une machine distante, utilise ICMP.
- route : Manipulation des tables de routage..
- rsh : Shell à distance (Remote SHell)
- sftp : Client FTP en mode sécurisé, appelé SFTP
- ssh : Client SSH (Secure SHell).
- traceroute : Trace la route vers une machine distante routeur par routeur, en utilisant le protocole ICMP.
- tnsping : Vérifie si un service Oracle répond sur un serveur.
- w3m : Encore un navigateur en mode texte
- wget : (Www GET) télécharge des fichiers via les protocoles HTTP, HTTPS et FTP.
- whois : Informations sur les enregistrements de noms de domaine ou d'adresses IP
[modifier] Utilisateurs
- chfn : Modifie les informations finger de l'usager. (CHange FiNger)
- chsh : Modifie le shell par défaut de l'usager. (CHange SHell)
- groupadd : Ajoute un groupe d'utilisateurs.
- groupdel : Supprime un groupe d'utilisateurs.
- su : Commence un nouveau shell ou une autre commande en changeant l'utilisateur. (Super-User, Switch User)
- id : Affiche l'identité de l'utilisateur.
- sudo : Exécute un processus avec les droits d'un autre utilisateur selon les règles définies dans le fichier /etc/sudoers
- users : Liste Compacte des utilisateurs conéctés dans le systéme ('who' est meilleur).
- useradd : Ajoute un utilisateur au système.
- userdel : suprime un utilisateur du système.
- visudo : Édite le fichier /etc/sudoers atomiquement, afin de donner des droits pour l'utilisation de la commande sudo
- w : Affiche la liste des utilisateurs connectés et ce qu'ils sont en train de faire.
- who : Affiche la liste des utilisateurs connectés au système.
- whoami et who am i : Savoir sous quel nom d'utilisateur (ou d'administrateur) on est connecté (en anglais Who am I?, « Qui suis-je ? ») ; whoami ne donne pas le même résultat que who am i si l'on est en cours de substitution d'utilisateur (su). Avec who am i, on obtient toujours l'identité de départ (par exemple, si l'utilisateur gandalf adopte l'identité de root avec su, whoami retourne root tandis que who am i renvoie bien gandalf).
[modifier] Commande pour X Window System (X11)
- startx pour lancer manuellement l'interface graphique
- Lister des informations graphiques
- xdpyinfo : informations générales sur le serveur graphique
- xwininfo : l'utilisateur lance cette commande, puis il clique sur la fenêtre qui l'intéresse et il obtient des informations très détaillées sur les caractéristiques graphiques de cette fenêtre
- editres Editeur de ressources graphiques
- xev
- Crée une fenêtre et montre quels sont les évènements générés par les différentes actions sur cette fenêtre (MotionNotify, LeaveNotify, ButtonPress, VisibilityNotify, Expose...etc)
- xhost : pour contrôler l'accès au serveur X Window System
- xmodmap : utilitaire pour clavier et souris
- xrdb : utilitaire pour la base de données des ressources X Window System
- xset : paramétrer les préférences d'un utilisateur
- xvidtune : tuning de X Window System
[modifier] Configuration X.org
Pour configurer xorg.conf :
- X -configure
- Lance le serveur graphique et tente de le configurer automatiquement
- xorgcfg : outil graphique
- xorg86config : outil en mode texte
[modifier] Outil de configuration XFree86
Pour configurer X Windows System (fichiers XF86Config, XF86Config-4 et autres, selon les distributions)
- Xfree86 -autoconfig
- Lance le serveur graphique et tente de le configurer automatiquement (si cela ne marche pas, on peut aussi tenter XFree86 -configure)
- xf86cfg : outil graphique
- xf86config (en minuscule) : outil en mode texte
- Sur debian et les distributions dérivées :
-
- dpkg-reconfigure xserver-xfree86 pour reconfigurer le serveur graphique
- De nombreuses questions vous seront posées
- dpkg-reconfigure xserver-common
- Pour attribuer le droit de lancer le serveur X, soit à root, soit aux utilisateurs de la console, soit à tout le monde
- dpkg-reconfigure xserver-xfree86 pour reconfigurer le serveur graphique
- Sur SuSE : sax2
- Sur Mandriva : XFdrake
- Sur Red Hat : redhat-config-xfree86
- Sur d'anciennes versions de linux : XF86Setup
[modifier] Module
- lsmod Lister les modules
- Aucun paramètre
- modinfo Détailler un module (description, fichier, auteur, licence, paramètres...)
- modprobe
- Outil qui permet d'ajouter et de supprimer des modules du noyau, en gérant les dépendances logicielles
- Les très basiques insmod et rmmod pour respectivement ajouter ou supprimer des modules.
- depmod pour générer les fichiers de dépendances logicielles
[modifier] PCMCIA
- cardctl Vérification des cartes PCMCIA
- cardinfo Affichage des informations de configuration des cartes PCMCIA
- cardmgr gestion des cartes PCMCIA
[modifier] Divers
- ltrace : affiche l'appel des libraries (.so) par un programme.
- strace : affiche les appels système d'un programme avec leurs arguments ainsi que les signaux. Utile notamment pour déboguer.
- flex et bison, outils de génération d'analyseurs lexicaux et syntaxiques (l'équivalent des lex et yacc d'Unix).
- swapon et swapoff Activer ou désactiver la mémoire virtuelle, plus exactement il s'agit d'activer ou de désactiver la pagination mémoire