next up previous


Résumé des commandes UNIX


Extrait du guide : ``Courte information sur le système UNIX
et les réseaux téléinformatiques''




Table des matières

Syntaxe

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.

Principales commandes

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).

    
a2ps, mp, enscript, mise en page de listings

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).

enscript -plisting.ps -2rh programme.c

a2ps -nP programme.c > plisting.ps

alias, définition de synonymes de commandes  

Elle permet la création de raccourcis ou de synonymes de commandes qui existent par exemple sur d'autres systèmes.

alias dir ls -lagF
la commande dir est un synonyme pour ls -lagF

awk, interprète de scripts  

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:

awk '{print $3 " " ($(NF-1) + $NF)}' < entree > sortie

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.

cat, affichage ininterrompu d'un fichier  

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 .

cd, changement de répertoire  

La commande cd permet de se déplacer dans l'arborescence des répertoires. Il y a trois cas intéressants:

cd ..
revenir au répertoire précédent dans l'arborescence.
cd /
revenir à la racine.
cd
revenir au répertoire par défaut de l'utilisateur, ~ ou $HOME.

chmod, changement des protections d'un fichier  

  Elle permet de modifier les attributs, ou protections, d'un fichier ou d'un répertoire, seulement si vous en êtes le créateur. Elle permet également de protéger vos données (voir section lim_acces).

Son format est le suivant: chmod $\pm$ quoi fichiers

Par exemple:

chmod u+r .
autorise vous-même à lister le répertoire courant (.)
chmod g+w bin
autorise les gens de votre groupe à écrire dans bin. Si bin est un répertoire, l'accès en création et effacement de fichiers[*] est autorisé.
chmod o+x bin
autorise n'importe qui à entrer dans le répertoire bin, ou à exécuter bin si bin est un fichier.

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:

chmod 664 fichier
comme 6 = 2 + 4, on autorise l'accès en écriture et en lecture pour nous et notre groupe, tandis que seule la lecture est possible pour les autres utilisateurs qui ne sont pas membres du groupe.

  
compress, uncompress, gzip, gunzip, zip, unzip, unarj, compression et décompression d'un fichier

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

compression fichier

uncompression fichier.xxx
avec xxx l'extension dépendant du type de compression utilisée :
Z
compression avec compress. Était utilisé sur les système UNIX, est remplacer maintenant pas gzip qui est plus preformant et sans droit.
gz
compression avec gzip (GNU Zip). Le logiciel de compression le plus utilisé sous UNIX :
zip
compression avec zip. Utilisé principalement dans le monde DOS ou Windows.
arj
compression avec arj. Aussi utilisé dans le monde DOS ou Windows.
Ainsi on a pour gzip :
gzip fichier
compresse fichier en fichier.gz
gunzip fichier.gz
décompresse fichier.gz en fichier
Notez que,dans ce cas, on peut aussi spécifier gzip -d fichier.gz pour décompresser un fichier.

crontab, opérations à heures fixes  

  La commande crontab permet d'effectuer des opérations à heures fixes, comme par exemple compresser des fichiers, mettre à jour des informations, envoyer des messages. Son utilisation est très complexe et son utilité très minime pour des utilisateurs non expérimentés[*].

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 .


  
Figure: Détail d'une entrée crontab 
\begin{figure}
 \begin{center}
 \leavevmode
 
 
\epsfbox {schemas/crontab.eps}

 \end{center}\end{figure}

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 .

at now + 5 min < fichier_commande

df, disponibilité des systèmes de fichiers  

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.

diff, affichage des différences entre fichiers  

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.

du, usage disque  

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, éditeur pleine page multi-fonctions  

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 [*].

uemacs, éditeur pleine page simplifié  

Micro-emacs est un sous-ensemble de l'éditeur Emacs .

ne, éditeur pleine page avec menus déroulants  

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.

find, recherche de fichiers  

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:

find . -name '*t*' -print

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, recherche de motif dans un fichier  

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

grep Bonjour *

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.

gzip, compression et décompression de fichiers  

Voir compress, ...

head, affichage des premières lignes d'un fichier  

Avec cette commande on affiche les premières lignes d'un fichier.

  
kill, destruction d'un processus ou communication de signaux

  Cette commande permet de détruire un processus ou de lui transmettre des signaux (conditions exceptionnelles, comme par exemple le raccrochage du modem, un délai dépassé, etc.). Si le processus cible est le numéro 5346,

kill 5346
Tente de détruire le processus 5346
kill -9 5346
Force la destruction du processus 5346

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:

kill -15 -1
Tente de détruire tous vos processus
kill -9 -1
Force la destruction de tous vos processus

lpq liste des documents en cours d'impression  

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

lpr envoit à l'imprimante  

Il existe principalement deux façons d'envoyer quelque chose à l'imprimante.

lprm retire un document de la queue d'impression  

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 bytes
et 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 dequeued
L'option -P est a utiliser pour retirer un document d'une autre imprimante que de l'imprimante par défaut.

lpspr, mise en page de documents PostScript   

Certains systèmes UNIX (principalement OSF/1  et Solaris  avec les imprimantes DEC ) offrent une commande permettant d'imprimer des documents en format PostScript  recto-verso (option -K2) ou plusieurs pages par côté (par exemple -N2 pour deux pages par côté). Il suffit ensuite de transmettre via un pipe  à la commande d'impression proprement dite, soit

lpspr -K2 -N2 | lpr

Des variantes libres de cette commande existent, parmi elles citons pstops  et psnup .

ls, liste d'un répertoire  

Elle permet de lister le contenu d'un répertoire. Beaucoup d'options sont disponibles, parmi elles, certaines sont intéressantes:

ls -lag | more
lister tous les fichiers de façon complète avec les modes, les groupes, les créateurs et les dates, ainsi que les fichiers spéciaux commençant par . et faire afficher par la commande more . Il s'agit d'un exemple d'utilisation des pipes.
ls -F
lister les fichiers avec des indications de type de fichier (fichier, répertoire/, lien@, exécutable*).

La figurefigls détaille la sortie de la commande ls -laF[*].


  
Figure: Détail d'une sortie de ls -laF
\begin{figure}
 \begin{center}
 \leavevmode
 
 
\epsfbox {schemas/ls.eps}

 \end{center}\end{figure}

man, manuels en ligne  

  La commande man  permet d'obtenir des informations sur des commandes. Dans une première approche, il suffit de taper man foo si foo est la commande à expliciter. Les manuels systèmes sont organisés en sections et utilisent un format standard[*] (commandes utilisateurs 1, administrateur 1M, appels systèmes 2, bibliothèques 3, formats de fichiers 4, fichiers systèmes 5, jeux 6, services réseau 7). Par exemple, pour obtenir des informations sur la commande ls [*], on peut écrire man 1 ls[*] ou encore man ls ce qui est moins précis (toutes les pages disponibles seront présentées, une par une). Une option intéressante est -k qui permet d'obtenir les noms des différents manuels contenant le mot-clé passé en paramètre. Ainsi si l'on désire connaître la liste des pages de manuel qui parlent de tcp, on entrera man -k tcp.

mkdir, création d'un répertoire  

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.

more, affichage page par page d'un fichier  

  Permet d'afficher un fichier avec arrêt à chaque page, ainsi que d'autres fonctions spéciales. On passe d'une page à l'autre avec les touches ESPACE (page suivante) et b (page précédente). On quitte avec q et on demande de l'aide avec h. Notez que certaines versions de cette commande (notamment la variante less ) ont besoin d'un q final pour sortir du programme.

  
mv, déplacer, renomer un fichier ou répertoire

Cette commande permet de déplacer (move) un fichier. La syntaxe est la suivante :

mv fichier1 fichier2 renome le fichier fichier1 en fichier2,

mv fichier1 /tmp déplace le fichier fichier1 dans le répertoire (déjà existant) /tmp,

mv repertoire1 repertoire2 renome le répertoire repertoire1 en repertoire2.

nice, changement de priorité  

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 ?).

nice commande

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 .

nroff, mise en page de manuels  

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.

passwd, changement du mot de passe  

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.

pico, éditeur pleine page simplifié  

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.

ps, affichage les processus en cours  

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).

pwd, affichage du répertoire courant  

Elle permet d'afficher le répertoire courant.

  
quota, information sur l'utilisation disque autorisée

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.

rm, destruction d'un fichier  

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:

rm -i fichier1 ... fichiern
permet de détruire tous les fichiers indiqués avec confirmation pour chacun. On appelle cela le mode interactif de rm . Certains ajoutent un alias  dans leur .cshrc  afin de remplacer rm  par rm -i. Cela peut parfois s'avérer plus dangereux qu'utile: le risque est grand alors de prendre l'habitude de confirmer sans vraiment lire. Une erreur à ne pas faire est de mettre l'option -i ailleurs qu'au début de la commande: le système n'en tiendrait pas compte et détruirait sans confirmation.
rm -r répertoire1 ... répertoiren
permet de supprimer récursivement une arborescence (répertoires, sous-répertoires et fichiers). Inutile d'insister sur le danger d'une telle commande.

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 $\backslash$ ou la complétion de la ligne de commande. Si le premier caractère du nom de fichier est - , utilisez rm ./-nom.

rmdir efface un répertoire  

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.

rz, réception d'un fichier via ZModem  

On tape simplement rz  et on configure son programme de terminal pour l'émission d'un fichier.

screen, gestionnaire de fenêtres virtuelles  

  Cet utilitaire permet d'ouvrir plusieurs fenêtres virtuelles sur un seul terminal. On passe d'un écran à l'autre avec des séquences de contrôle. Il est possible, avec un simple terminal VT100  d'ouvrir jusqu'à dix fenêtres indépendantes. Des fonctions spéciales, comme la sauvegarde des entrées sorties, sont possibles. On commence une session screen  en tapant screen  ou screen -r. La deuxième forme est employée quand on désire continuer (anglais: to resume ) une session détachée préalablement.

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.

 ?
Aide
c
créer une nouvelle fenêtre.
k
détruire de façon sauvage la fenêtre courante. Il est mieux de fermer le shell avec exit  ou CTRL-D.
0
aller sur la fenêtre 0.
H
sauver/ne pas sauver la session en cours dans cette fenêtre dans un fichier screenlog.x, où x est le numéro de la fenêtre.
h
copie d'écran dans fichier hardcopy.x.
w
liste des fenêtres.
m
contrôle d'activité allumé/éteint.

sed, éditeur de flots  

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:

sed 'y%.%/%' < entree > sortie

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!#].

stty, changement de modes du terminal  

  Cette commande est très complexe mais également très puissante. Elle permet de redéfinir des paramètres du terminal, comme par exemple la touche d'interruption intr  (défaut: CTRL-C), ou la touche d'effacement erase  (défaut: BACKSPACE) (voir section personnaliser_son_environnement). Dans le cas où la touche BACKSPACE n'a pas le comportement voulu il suffit donc de taper stty erase BACKSPACE.

sz, envoi d'un fichier via ZModem  

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.

tail, affichage des dernières lignes d'un fichier  

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:

tail nom_fichier
tail -f nom_fichier

Dans ce dernier cas, on interrompt la commande avec CTRL-C.

tar, gestion d'archives portables  

  Cette commande permet de rassembler plusieurs fichiers en une seule archive. Il n'y a cependant aucune compression. On peut ensuite compresser le fichier résultant avec gzip  par exemple.

tar cvf - . | gzip -9 > truc.tar.gz
archive tous les fichier du répertoire courant et de ses sous-répertoires, compresse cette archive avec gzip  (l'argument -9 sélectionne la meilleure (mais plus lente) compression) et stocke le résultat dans truc.tar.gz. La version GNU  de cette commande permet de simplifier en tar cvfz truc.tar.gz ., sans toutefois pouvoir spécifier la force de la compression.
tar tvf truc.tar
liste le contenu d'un fichier tar  truc.tar.
gzip -d < truc.tar.gz | tar oxvf -
extrait le contenu d'un fichier tar  compressé avec gzip . De nouveau, la version GNU  est plus puissante et incorpore ce mécanisme: tar oxvfz truc.tar.gz.

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.

  
top, présente en temps réel l'activité de la machine

À l'aide de top on peut surveiller l'activité des processus lancés sur la machine. Pour quitter top, tapez q.

  
uuencode, codage de fichiers binaires pour transmission via courrier électronique

  Grâce à cette commande, on peut envoyer des fichiers binaires par courrier électronique (voir section encoding_mail). Ils sont reconnaissables très facilement par leur en-tête begin 644 nom_de_fichier. On les décode à l'aide de uudecode .

uuencode < fichier fichier > fichier.uu
crée le fichier uuencodé fichier.uu qui pourra être transmis par mail .
uudecode fichier.uu
décode le fichier uuencodé après réception et sauvegarde le résultat dans le fichier spécifié dans fichier.uu en paramètre de la ligne begin.

vi, éditeur pleine page  

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:

déplacement
C'est le mode par défaut. Il permet le déplacement à l'aide des touches du curseur sur n'importe quel caractère de l'écran. On le quitte généralement en tapant i (insertion) ou a (ajout) pour le mode d'insertion, et en tapant : ou / pour le mode de commande.
commande
Il permet d'entrer des commandes similaires à celles de ed , l'éditeur par ligne. Il est par exemple possible de substituer des caractères dans tout le fichier. On quitte ce mode avec RETURN.
insertion
Ce mode permet d'entrer des caractères. Pour le quitter, il faut taper ESCAPE

Mode de déplacement

  Il est possible de se déplacer avec les touches du curseur, la touche espace, la touche RETURN et la touche BACKSPACE. D'autres fonctions sont disponibles:

CTRL-G
information sur le fichier courant et la position dans ce fichier
i
passage en mode insertion (avant le curseur)
a
passage mode ajout/insertion (après le curseur)
d puis d
destruction d'une ligne, mise dans le tampon
J
concaténation de deux lignes
x
destruction du caractère courant
$
se positionner à la fin de la ligne
0
se positionner au début de la ligne
&
répéter la substitution précédente
p
ajouter à l'endroit du curseur le contenu du tampon, (P insère avant le curseur)
D
détruire jusqu'à la fin de la ligne, mise dans le tampon
Y
mettre la ligne courante dans le tampon
CTRL-U
Une demi-page plus haut
CTRL-D
Une demi-page plus bas
CTRL-B
Une page plus haut
CTRL-F
Une page plus bas
CTRL-L
Rafraîchir l'écran
.
Répéter la commande précédente

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).

Mode de commande

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:

j
concaténation de lignes
d
destruction de lignes
x
sauver et quitter. Attention, cette commande est dangereuse car très similaire à une commande de chiffrement (celle-ci en majuscule). De plus, elle est parfois spécialement implémentée si on force la sortie avec le point d'exclamation (certaines versions ne sauvegardent pas dans ce cas). Il est recommandé d'utiliser plutôt la combinaison wq.
w
sauver
q
quitter
n
passer au fichier suivant si plusieurs fichiers
$
se déplacer à la fin du fichier
set ic
ignorer la casse en recherche. Annuler avec set noic
set nu
numéroter les lignes. Annuler avec set nonu

N'oubliez pas que dans le mode de commande, toute commande commence par : et finit par un RETURN.

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.

1,$s/foo/bar/g
Remplace toutes les occurences de foo par bar.
%s/foo/bar/g
Equivalent.
.,$s/foo/bar/g
Remplace toutes les occurences de foo par bar, depuis la ligne courante.
3,7s%foo/bar%bar/foo%g
Remplace aux lignes 3 à 7 les occurences de la sous-chaîne foo/bar par bar/foo. Cela montre que l'on peut utiliser un autre caractère séparateur que /.
1,$s/foo/bar/c
Remplace toutes les occurences de foo par bar, avec confirmation à chacune (répondre par y pour oui et n pour non.
1,$s/CTRL-VCTRL-M//g
Supprimer les retours de ligne indésirables: conversion MS-DOS vers UNIX. Notez que le remplacement est séparé par un caractère, ici /, mais qui peut être quelconque. Il faut également faire attention car certains caractères, notamment ., *, [ et ] ont des significations particulières, il faut les précéder du caractère d'échappement $\backslash$ (voir section regexp). Ce dernier doit être doublé s'il doit être utilisé tel quel. Voyez également la signification de CTRL-V qui permet d'entrer un caractère de contrôle.

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.

Mode d'insertion

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.

w, who, qui fait quoi ?  

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.

  
wc, comptage du nombre de lignes, de mots ou de caractères d'un fichier

On peut compter les lignes d'un fichier:

wc -l mon_fichier
compte les lignes de mon_fichier

Àpropos de ce document...

Résumé des commandes UNIX


Extrait du guide : ``Courte information sur le système UNIX
et les réseaux téléinformatiques''

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


Subsections
next up previous
Olivier Ricou
6/9/1998