La syntaxe générale des commandes est la suivante:
commande -options paramètre1 ... paramètren
Il est important de remarquer qu'un espace sépare chacun des paramètres et les paramètres de la commande elle-même. On remarquera également que certains paramètres peuvent commencer par un tiret, noté -. En général, ces paramètres spéciaux (options) sont à spécifier comme premier paramètre.
Quelques-unes des commandes disponibles seront expliquées, dans leurs aspects les plus simples. Les commandes de messagerie et de communication sont décrites en deuxième partie de ce guide en page . Pour une aide plus complète, utilisez la commande man , comme expliqué ci-après (voir section commande_man).
Ces commandes permettent de transformer un texte, usuellement un listing, en un document PostScript pour une meilleure mise en page. Il existe de nombreuses options, les plus classiques transforment un fichier texte en un fichier PostScript comportant deux colonnes, en mode paysage (anglais: landscape ), soit tourné de 90 degrés. La sortie est ensuite stockée dans le fichier listing.ps (ou, suivant la configuration, directement à l'imprimante avec a2ps si on n'utilise pas l'option -nP).
Elle permet la création de raccourcis ou de synonymes de commandes qui existent par exemple sur d'autres systèmes.
Cet interprète (on dit aussi abusivement interpréteur) est surtout utilisé pour la conversion de formats textuels (tables, tableaux) et pour l'extraction de données. Par exemple, on peut extraire la troisième colonne d'un tableau et sommer les deux dernières colonnes:
Ce script utilise le concept de séparateurs de awk . NF représente le nombre de champs (anglais: field number ). Le caractère $ précède toute expansion de variable (comme dans un shell ). Notez la présence d'apostrophes afin d'éviter l'expansion des variables directement par le shell.
Permet d'afficher sans interruption possible un fichier dont le nom est communiqué en paramètre. La commande more (voir section more) permet quant à elle un affichage page par page. Une utilisation intéressante de cette commande est pour concaténer des fichiers. Par exemple, cat a b c d > tous crée un fichier tous contenant la concaténation (mise bout à bout) des fichiers a à d, grâce à une redirection .
La commande cd permet de se déplacer dans l'arborescence des répertoires. Il y a trois cas intéressants:
Son format est le suivant: chmod quoi fichiers
Par exemple:
Notez que la création de répertoires ou de fichiers se fait avec un mode par défaut qui dépend de la commande umask (voir section conf_comm). Le paramètre de mode de la commande chmod peut être également exprimé sous forme absolue en numérique, en exprimant les protections utilisateur, groupe et autres de gauche à droite par trois valeurs de 0 à 7. Sachant que l'exécution l'écriture et la lecture sont symbolisées respectivement par les valeurs 1, 2 et 4, on a, par exemple:
Ces commandes permettent la compression de fichiers textuels ou binaires, ainsi que la décompression d'archives. Toutes ces commandes s'utilisent de la même façon, elles diffèrent seulement par le type de compression. La syntaxe générale est
On configure cette commande en lui donnant en entrée standard un fichier de configuration contenant les commandes à exécuter ainsi que les spécifications temporelles (quand exécuter). Il est conseillé d'éditer un fichier que l'on nomme par exemple crontab , afin d'éviter de perdre sa configuration en cas de mauvaise manipulation. Ensuite, il suffit de taper la commande crontab < crontab pour changer la configuration. On peut entrer crontab -l pour connaître la configuration courante. Le format de chacune des lignes peut sembler compliqué et est détaillé à la figurefigcrontab. La configuration décrite lance chaque 8 du mois à 3 heures 20 minutes du matin un script .
Il faut savoir que souvent le shell utilisé pour lancer les commandes spécifiées est sh . On peut spécifier #! /bin/csh par exemple au début d'un script dont le nom est donné en paramètre pour changer d'interprète. Il ne faut pas oublier de spécifier les sentiers complets: l'environnement n'est probablement pas initialisé parfaitement.
Une commande similaire, beaucoup plus simple à utiliser, et qui permet cette fois de retarder l'exécution de travaux (par exemple pendant la nuit ou le week-end) est la commande at .
Celle-ci permet de connaître les systèmes de fichier accessibles, leur point de montage dans l'arborescence, leur capacité et leur taux d'occupation. On peut spécifier un répertoire en argument, par exemple df permet de connaître l'espace disponible sur le disque où se trouve le compte de l'utilisateur. En général, un pourcentage (de 5 à 10 %, configurable) de chaque système de fichier est réservé à root . Il est donc possible que le total ne corresponde pas.
Cette commande affiche les différences entre deux fichiers. Cela est parfois utilisé par des utilitaires stockant des modifications incrémentales dans des sources ou textes sous leur contrôle, permettant de retrouver des versions antérieures ou le travail à plusieurs, comme avec RCS ou SCCS . La commande patch permet de retrouver le fichier modifié à l'aide du résultat de diff et du texte original.
Cette commande permet de connaître l'espace disque utilisé par un sous-répertoire. L'unité dépend du système (parfois 512 octets, parfois 1 Koctet, ou d'autres valeurs). Un paramètre très souvent utilisé est -s *, qui permet d'obtenir la taille de tous les objets du répertoire courant (fichiers et répertoires).
Emacs est un éditeur VT100 offrant des possibilités de macros et de scripts inégalées. Une description sommaire de cet éditeur se trouve dans la section .
Micro-emacs est un sous-ensemble de l'éditeur Emacs .
Nice-Editor est un éditeur ressemblant à Emacs , à part une caractéristique intéressante: il permet l'affichage de menus déroulants sur un terminal VT100 ou similaire par simple pression de la touche PF1 ou équivalente.
Cette commande permet de trouver des fichiers depuis une racine spécifiée. Par exemple, la commande suivante affichera tous les fichiers ayant un t dans leur nom, et ceci dans tous les sous-répertoires du répertoire courant, y compris ce dernier:
Notez les guillemets qui empêchent une interprétation de la regexp par le shell .
Cette commande est très puissante. On peut lui faire rechercher des fichiers en fonction d'un utilisateur ou d'un groupe particulier, en connaissant une partie du nom, en fonction de sa taille, de sa date de création ou de dernière modification ou de son mode (les protections UNIX, voir chmod ). On peut également exécuter une commande (ce qui sera souvent peu rapide mais fort utile) sur les fichiers trouvés.
Voici un exemple un peu plus complexe qui recherche depuis la racine tous les fichiers core appartenant à l'utilisateur schaefer et qui sont plus gros que 500 kilo-octets ou modifiés il y a plus de 7 jours, sauf s'ils appartiennent au groupe keep. Les fichiers trouvés sont automatiquement effacés. Notez l'usage des parenthèses (précédées d'un backslash pour éviter leur interprétation par le shell ). Remarquez également la notation utilisée pour le ou et le fait que la conditionnelle et s'exprime par simple juxtaposition. Enfin admirez la syntaxe très particulière de l'exécution d'une commande.
find / -name 'core' -user schaefer \( -size +500k -o -mtime +7 \) \! -group keep -exec rm {} \;
grep est une commande permettant de trouver rapidement et facilement des motifs (expressions régulières) dans un ou plusieurs fichiers. Typiquement, pour trouver la chaine Bonjour (différente de la chaîne bonjour si l'argument -i n'est pas spécifié) dans les fichiers du répertoire courant, on écrira
Il existe plusieurs variantes à cette commande, dont egrep , qui permet de spécifier des conditions plus générales. L'option -i permet d'ignorer la casse, ce qui est parfois bien pratique.
Le nom grep vient de global regular expression print ou g/re/p une commande de l'éditeur ligne ed qui a été transformée en un programme externe.
Voir compress, ...
Avec cette commande on affiche les premières lignes d'un fichier.
Un aspect intéressant de cette commande est la possibilité de détruire un groupe de processus. Par exemple, pour détruire tous les processus vous appartenant, sauf le shell courant, il suffit de donner les commandes suivantes:
Permet de connaitre la liste des documents dans la queue de l'imprimante par défaut (lpq est Line Printer Queue). L'option -P permet d'ajouter le nom de l'imprimante : lpq -P laser1
Il existe principalement deux façons d'envoyer quelque chose à l'imprimante.
Lorsqu'un document à été envoyé à l'impression, un numéro l'identifiant lui est attribué. Im est possible de connaitre ce numéro à l'aide de la commande lpq :
(hermes)../ecole/cours>lpq lphp is ready and printing Rank Owner Job Files Total Size active ricou 343 cours1.ps 129096 byteset de retirer le document de la file d'attente de l'imprimante à l'aide de la commande lprm :
(hermes)../ecole/cours>lprm 343 aldebaran: lphp-343 dequeuedL'option -P est a utiliser pour retirer un document d'une autre imprimante que de l'imprimante par défaut.
Des variantes libres de cette commande existent, parmi elles citons pstops et psnup .
Elle permet de lister le contenu d'un répertoire. Beaucoup d'options sont disponibles, parmi elles, certaines sont intéressantes:
La figurefigls détaille la sortie de la commande ls -laF.
Crée des répertoires. L'option -p permet de créer automatiquement toute une hiérarchie. On peut donner comme argument un chemin complet à créer. Les répertoires déjà existants dans ce chemin seront ignorés.
Cette commande permet de déplacer (move) un fichier. La syntaxe est la suivante :
La commande nice permet de diminuer la priorité d'un processus à son lancement afin de ne pas gêner les autres processus (it's nice, isn't it ?).
Pour voir le niveau de priorité d'un processus ainsi que son niveau de ``gentillesse'', on peut utiliser la commande ps -l. Plus la valeur est importante, moins la priorité est forte.
La commande renice permet de diminuer la priorité d'un processus actif (vous appartenant). Augmenter la priorité n'est en général possible que pour root .
Il arrive souvent que les documentations soient disponibles sous une forme non facilement visualisable: on le remarque à l'extension numérique du fichier (p.ex. foo.1). On peut les transformer en un texte formaté à l'aide de cette commande. Pour les manuels, on utilise une macro spécifique: nroff -man foo.1 > foo.txt. Cette commande produit un fichier foo.txt qui peut ensuite être affiché page par page avec more . On pourrait aussi utiliser un pipe à la place de la redirection.
Cette commande permet de changer de mot de passe (voir section mot_de_passe). Certaines restrictions seront imposées par le système quant à la longueur du mot de passe et à son contenu pour diminuer les risques de piratage. L'ancien mot de passe est toujours demandé. Il n'y a pas d'écho pendant les demandes de mot de passe.
Cet éditeur est très simple à utiliser et malgré cela relativement puissant. Il est disponible en standard sous environnement PINE (cet environnement permet de lire le mail et les news de façon similaire et intégrée sous interface VT100 ), ou séparément.
Les options de cette commande varient suivant les systèmes UNIX. Pour avoir l'ensemble des processus tournant sur la machine, sous Linux je tape : ps -aux mais sous Solaris ou HP-UX il faut taper ps -edalf. Il est conseiller de se référer à son manuel (man).
Elle permet d'afficher le répertoire courant.
Lorsque l'espace disque devient limité, il se peut que l'administrateur décide d'attribuer un quota à tous les utilisateurs, n'autorisant qu'un certain nombre de fichiers et un volume maximum. Pour connaître votre quota actuel, il suffit de taper quota -v. Les valeurs sont en kilooctets, donc par exemple 10000 signifie 10 megaoctets. Si au login (à votre prochaine connexion) le système vous indique quelque chose ressemblant à QUOTA EXCEEDED, vous devez supprimer des fichiers sinon vous risquez des pertes de données car toute tentative de création de nouveaux fichiers ou d'extension de fichiers existants se soldera par un échec. Ce message peut également s'afficher au cours d'une session.
Permet de détruire un fichier. rmdir permet quant à elle de détruire un répertoire préalablement vidé. Certaines options de ces commandes sont pratiques mais dangereuses, et ne sont donc pas décrites ici, à part les options suivante:
Il faut donc noter que par défaut, la commande rm ne demande aucune confirmation. Les fichiers sont donc irrémédiablement perdus, à moins que le fichier ait été créé le jour précédent, au moins, dans ce cas, il existe sur les copies automatiques journalières de sécurité (vérifiez cependant avec votre administrateur système si des copies de vos données sont effectuées régulièrement). Il faut noter que vouloir récupérer un fichier préalablement effacé à l'aide des structures de répertoires est une opération la plupart du temps vouée à l'échec, en particulier sous UNIX en raison du caractère multi-utilisateur et de la création fréquente de fichiers.
Selon les caractères présents dans le nom de fichier, il peut être nécessaire d'utiliser le ou la complétion de la ligne de commande. Si le premier caractère du nom de fichier est - , utilisez rm ./-nom.
Permet d'effacer un répertoire vide (attention aux fichiers cachés, faire ls -a pour être sûr) : rmdir rep efface le répertoire rep.
On tape simplement rz et on configure son programme de terminal pour l'émission d'un fichier.
Le mode de contrôle s'obtient avec CTRL-A, puis un caractère de commande. Taper un chiffre dénote la fenêtre (de 0 à 9). Par exemple (en supposant que CTRL-A a déjà été pressée). Attention, les commandes sont sensibles à la casse.
Cet interprète permet de gérer des flots de données en exécutant des opérations de substitution. Par exemple, pour remplacer les noms de forum s de la notation pointée (rec.humor.funny ) en la notation UNIX de stockage interne (rec/humour/funny), on pourrait utiliser cette commande:
Ce script demande de remplacer les occurences de points par des barres obliques (anglais: slash ). Les pourcents sont des caractères délimiteurs qui peuvent être quelconques tant qu'ils ne figurent pas ni dans le motif ni dans la chaîne remplaçante. Une description extensive de ce logiciel peut être trouvée dans [#!oreilly:sedandawk!#].
Elle permet d'envoyer des fichiers via le protocole ZModem , en général à travers un modem . On indique simplement le(s) nom(s) du (des) fichier(s) à envoyer sur la ligne de commande. Si votre programme de terminal ne supporte pas ZModem, vous pouvez essayer XModem ou un protocole similaire. En dernier recours, la commande kermit permet d'utiliser le protocole kermit. Elle existe sur la plupart des systèmes UNIX. Dans certains cas, il faut renommer le fichier avant l'envoi avec mv , pour que le nom de fichier soit compatible avec le système de fichiers distant.
On peut afficher les dernières lignes d'un fichier ou afficher en continu les ajouts à un fichier, ce qui peut être très utile pour surveiller un fichier de log (anglais: logfile ), respectivement:
Dans ce dernier cas, on interrompt la commande avec CTRL-C.
Note: le - dans la commande tar désigne la sortie ou l'entrée standard au lieu d'un fichier. Il faut aussi signaler qu'une commande similaire, parfois plus puissante pour certaines applications, est cpio . Notez toutefois que son utilisation est légèrement plus complexe.
À l'aide de top on peut surveiller l'activité des processus lancés sur la machine. Pour quitter top, tapez q.
Cette commande permet d'éditer des fichiers de façon plein-écran. Cet éditeur peut sembler compliqué à utiliser, mais il est très puissant, et de plus a l'avantage de fonctionner sur tous les systèmes UNIX quelle que soit leur taille et leur niveau d'installation.
Il possède trois modes:
On notera que l'on peut précéder ces commandes par un nombre (par exemple 32Y mettra dans le tampon les 32 lignes suivantes, que l'on pourra insérer avec p).
Les commandes, qui doivent toutes être terminées par un RETURN et commencer par un :, sont très nombreuses. La plupart acceptent un argument numérique qui permet de répéter n fois l'opération (par exemple 5d détruit cinq lignes depuis la position courante). En voici un échantillon:
Si l'éditeur refuse une opération (par exemple il refusera la commande q si le texte courant n'est pas sauvé), on peut forcer l'exécution par un point d'exclamation ajouté (par exemple q!). De plus, en tapant directement le numéro d'une ligne, on peut s'y déplacer. Cela est également possible d'ailleurs en lançant l'éditeur avec un argument commençant par + suivi d'un numéro de ligne.
Pour montrer quelques exemples de commandes complexes (il faut toujours ajouter un : avant et un RETURN après). On notera que $ représente la dernière ligne et . la ligne courante dans les spécifications d'adresse de ligne.
Certaines opérations se font sans : ni RETURN, celles-ci sont donc exécutées en mode déplacement.
Noter que pour rechercher des chaînes, on doit utiliser la construction /chaîne puis RETURN, ceci sans : initial. Voyez l'état ic décrit plus haut.
Le mode d'insertion n'autorise ni déplacement ni commande, et doit être terminé par un ESCAPE. C'est dans ce mode que l'on ajoute effectivement du texte.
La commande w montre quelles sont les personnes connectées sur la machine et ce qu'elles font. La commande who est similaire mais moins riche en informations.
On peut compter les lignes d'un fichier:
This document was generated using the LaTeX2HTML translator Version 97.1 (release) (July 13th, 1997)
Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
The command line arguments were:
latex2html -split 4 -local_icons index.tex.
The translation was initiated by Olivier Ricou on 6/9/1998