Il est maintenant temps d'explorer le système plus en détail. Vous avez vu comment se loguer et éteindre le système. Dans ce chapitre, nous allons explorer la ligne de commandes sous Linux, comment Linux gère fichiers et répertoires et quelques règles de base pour vous identifier des autres.
man
Nous avons déjà discuté de la ligne de commandes - qui sont, rappelons-le, les commandes que vous tapez après le prompteur du shell. Cette partie décrit la structure de lignes de commandes beaucoup plus compliquées.
Une ligne de commandes minimale contient juste le nom d'une commande, comme
whoami
. Mais bien d'autres choses sont possibles. Par exemple,
vous pouvez taper man whoami
. Cette commande appelle l'aide en
ligne de la commande whoami
(Vous devrez vous déplacer à l'aide de
la touche espace page par page et taper sur q pour sortir).
Une commande plus compliquée est man -k PostScript
. Cette ligne
de commandes se compose de trois parties. Elle commence par le nom de commande
man
. Ensuite, on trouve une option ou
indicateur, -k
, suivi d'un argument,
PostScript
. Certains disent que tout sauf le nom de la commande
est paramètre de la commande. Ainsi, les options et les arguments
sont tous deux des paramètres.
Les options changent le comportement d'une commande, en activant une
fonctionnalité particulière. Généralement, on trouve un « - » les précédant.
Les utilitaires GNU ont aussi une « forme longue » pour les options; la forme
longue de -k
est --apropos
. Vous pouvez entrer
man -h
ou man --help
pour obtenir la liste complète
des options de la commande man
. Chaque commande a sa propre liste
d'options, bien qu'elle partage généralement les options --help
et
--version
. Certaines commandes, comme tar
, ne
demande pas de « - » devant leurs options pour des raisons historiques.
Tout ce qui n'est pas une option et qui n'est pas le nom d'une commande est un
argument (et dans le cas présent, PostScript
). Les
arguments ont des tas de finalités ; dans la plupart des cas, ce sont les noms
de fichiers dont la commande doit s'occuper. Dans ce cas,
PostScript
est le mot que l'on fait chercher à la commande
man
. Dans le cas de man whoami
, l'argument est le
nom de la commande dont vous recherchez des informations.
Voici un résumé de la ligne de commande man -k PostScript
man
Le nom de la commande demande à l'ordinateur d'aller chercher les pages du
manuel. Ceci est une documentation des commandes. Par exemple, man
whoami
ira vous chercher la documentation de la commande
whoami
.
-k
L'option, change le comportement de la commande man
. Normalement,
man
s'attend à un nom de commande, tel whoami
, comme
argument et va chercher la documentation de cette commande. Mais avec l'option
-k
ou --apropos
, il s'attend à ce que l'option soit
un mot-clé. Il sort alors la liste de toutes les pages de manuel le
comportant.
PostScript
est l'argument; en raison de la présence de l'option -k
, c'est le
mot-clé à rechercher.
Allez-y et tapez la commande man -k PostScript
et vous verrez
apparaître une liste de pages de manuel de votre système qui ont un rapport
avec le postscript. Si vous n'avez pas installé de nombreux logiciels, il se
peut que vous voyiez apparaître à la place : PostScript: nothing
appropriate
(PostScript: rien de trouvé
).
Remarque: vous pouvez sauter cette partie si vous voulez avancer rapidement.
Il existe une façon concise et traditionnelle de décrire la syntaxe
d'une commande. La syntaxe veut dire la façon correcte de combiner
les options variées ainsi que les arguments. Par exemple, si vous tapez
man man
pour obtenir la page de manuel de man
, vous
apercevrez un certain nombre de descriptions de syntaxe débutant par le nom de
commande man
. Une d'entre elle devrait ressembler à ceci:
man -k [-M path] keyword ...
Tout ce qui se trouve entre crochet ([ ]) est optionnel. Dans ce cas, il n'est
pas nécessaire d'utiliser l'option -M
mais si vous le faîtes, il
est alors nécessaire d'utiliser un argument de type path
[32]. Vous devez utiliser l'option
-k
et l'argument keyword
(mot-clé). Les
...
signifient qu'il peut y avoir encore beaucoup de choses à la
suite, notamment plusieurs mots clés.
Regardons d'un peu plus près les descriptions complexes de la page de manuel de
man
:
man [-c|-w|-tZT device] [-adhu7V] [-m system[,...]] [-L locale] [-p string] [-M path] [=P pager] [-r prompt] [-S list] [-e extension] [[section] page ...] ...
Il n'est pas nécessaire d'aller plus en avant (et ne vous inquiétez pas quant à sa signification), mais attirez votre attention sur l'organisation de la description.
Premièrement, ce rassemblement en grappe d'options veut généralement dire que
vous pouvez en utiliser une ou plusieurs dans différentes combinaisons. Ainsi,
-adhu7V
veut tout simplement dire que vous pouvez aussi n'utiliser
que -h
. Bien sûr, vous pouvez utiliser toutes les combinaisons.
Cette description ne rend pas forcément les choses très claires. Par exemple,
-h
est incompatible avec les autres options mais vous pouvez faire
man -du
. Malheureusement, cette description de format ne rend pas
cette approche très claire.
Ensuite, le symbole | signifie « ou ». Ainsi, vous pouvez utiliser l'option
-c
, l'option -w
ou l'option
-tZT
, suivi d'un argument device
.
Enfin, remarquez bien que vous devez respecter les crochets car ils indiquent
les unités optionnelles. Ainsi, si vous avez une section
, vous
devez aussi avoir une page
parce que page
n'est pas
optionnelle à l'intérieur du groupe [[section] page]
.
Il n'est pas nécessaire de mémoriser tout cela. Il suffit juste de revenir à cette partie pour lire la documentation.
Les fichiers sont une facilité pour stocker et organiser l'information, analogue aux documents papier. Ils sont organisés en répertoires qui sont appelés dossiers sur certains autres systèmes. Regardons d'un peu plus près l'organisation des fichiers sur un système Debian:
Un simple / représente la répertoire racine. Tous les autres fichiers et répertoires sont contenus dans le répertoire racine. Si vous venez du monde DOS ou Windows, / est similaire à ce que le C: signifie pour le DOS qui est la racine du système de fichiers. Une différence importante entre DOS et Linux est que DOS garde toujours C: (pour le premier disque dur), A: (premier lecteur de disquettes) et D: (soit le lecteur de cédérom soit le second disque dur) alors que Linux organise tous ses fichiers autour de la même racine /.
/home/janeq
C'est le répertoire personnel de l'utilisateur janeq. En lisant de
gauche à droite, pour aller dans ce répertoire, on commence dans le répertoire
racine, puis dans le répertoire home
et enfin dans celui de
janeq
.
/etc/X11/XF86Config
C'est le fichier de configuration du système X Window. Il réside dans le
sous-répertoire X11
du répertoire /etc
.
/etc
est lui-même un sous-répertoire du répertoire racine /.
Choses importantes à retenir
{ } ( ) [ ] ' ` " \ / > < | ; ! #
& ^ * %
CommeCeci
.
/usr/share/keytables/us.map.gz
C'est un nom de fichier pleinement qualifié. Pourtant, certaines personnes le
désignent comme un chemin. D'autres personnes s'en servent pour
désigner le fichier us.map.gz
comme un seul nom de fichier.
/etc
et /usr
. Ces
sous-répertoires se subdivisent eux-mêmes en branches en de nombreux
sous-répertoires, comme /etc/init.d
et /usr/local
.
L'ensemble est appelé l'arbre des répertoires.
Ne vous inquiétez si tout ceci n'est pas complètement clair pour vous: il y a de nombreux exemple à venir.
Pour utiliser votre système, vous devrez connaître comment créer, déplacer, renommer et détruire fichiers et répertoires. Cette partie a pour but de montrer comment le faire avec les commandes standard de Debian.
La meilleure méthode d'apprentissage est encore d'essayer. Tant que vous n'êtes pas root (et vous n'avez pas maintenant à créer d'importants fichiers personnels), vous ne pouvez faire de catastrophe irrémédiable. Lancez-vous - tapez chacune de ces commandes après le prompteur et appuyer ensuite sur la touche entrée:
pwd
Le répertoire en cours est toujours considéré comme le répertoire courant
de travail pour le shell que vous utilisez. Vous pouvez toujours le
visualiser à l'aide de la commande pwd
qui signifie Print
Working Directory (affiche le répertoire de travail). pwd
affiche donc le nom du répertoire dans lequel vous travaillez - et probablement
/home/votrenom
.
ls
ls
signifie list (affiche) comme pour list files
(affiche les fichiers). Lorsque vous tapez la commande ls
, le
système renvoie une liste de tous les fichiers de votre répertoire courant. Si
vous venez d'installer Debian, votre répertoire de travail est certainement
vide et ls
ne renvoie rien en sortie car il n'y a pas de fichier à
afficher.
cd /
cd
signifie change directory (change de répertoire).
Dans ce cas, on lui a demandé de changer pour le répertoire racine.
pwd
Ceci pour vérifier que vous êtes bien dans le répertoire racine.
ls
Pour jeter un coup d'oeil au contenu de /.
cd
Taper cd
sans argument sélectionne votre répertoire personnel -
/home/votrenom
- comme répertoire courant. Essayez
pwd
pour vérifier.
Avant de continuer, il vous faut savoir qu'il y a vraiment deux sortes de
fichiers. Certains d'entre eux commencent par /, le répertoire racine, comme
/etc/profile
. Ils sont appelés noms de fichiers absolus
car ils se réfèrent au même fichier quelque soit le répertoire courant.
L'autre sorte de fichiers sont les fichiers relatifs.
Seuls deux répertoires ne sont utilisés qu'avec des noms de fichiers relatifs: « . » et « .. ». Le répertoire . se réfère au répertoire courant et .. au répertoire parent. Ce sont des raccourcis. Ils existent dans tous les répertoires. Même le répertoire racine à un répertoire parent - c'est son propre parent !
Ainsi, tous les fichiers comprenant . ou .. sont relatifs car leur
expression dépend du répertoire courant. Si je suis dans /usr/bin
et que je tape ../etc
, je me réfère à /usr/etc
. Si
je suis dans /var
et que je tape ../etc
, je me réfère
à /etc
. Remarquez bien que le nom de fichier sans le répertoire
racine possède implicitement à son commencement ./ . Ainsi, vous pouvez taper
indifféremment /local/bin
ou bien ./local/bin
, ce qui
signifie exactement la même chose.
Un dernier petit truc: le tilda ~ est équivalent à votre répertoire
personnel. Ainsi, taper cd ~
revient au même que taper
cd
sans argument. Vous pouvez donc taper cd
~/divers/monsousrepertoire
à la place de cd
/home/votrenom/divers/monsousrepertoire
. De façon analogue,
~myuser
est l'équivalent du répertoire personnel de l'utilisateur
myuser qui est probablement quelque chose comme
/home/myuser
; ainsi, ~myuser/docs/debian.ps
est
équivalent à /home/myuser/doc/debian.ps
.
Il y a encore quelques commandes à essayer maintenant que vous maîtrisez les
chemins relatifs. Tapez cd
pour revenir dans votre répertoire
personnel.
mkdir divers
Cela fabrique dans votre répertoire personnel un répertoire nommé
divers
. Vous allez utiliser ce répertoire pour essayer quelques
autres commandes. Vous pouvez essayer ls
pour vérifier que votre
nouveau répertoire existe bien.
cd divers
Ceci change le répertoire vers divers
.
mkdir monsousrepertoire
Ceci crée un sous-répertoire de divers
.
cp /etc/profile .
cp
est un raccourci pour copy (copier).
/etc/profile
est juste un fichier quelconque de votre système. Ne
vous souciez pas de ce qu'il fait pour le moment. Nous l'avons recopié dans .
(rappelez-vous que . signifie simplement « le répertoire dans lequel je me
trouve maintenant » c'est-à-dire le répertoire courant de travail). Donc, ceci
crée une copie de /etc/profile
et la place dans votre répertoire
divers
. Essayez de taper ls
pour vérifier qu'il y a
bien un fichier appelé profile
dans votre répertoire courant de
travail au même niveau que le répertoire monsousrepertoire
.
more profile
Ceci vous permet de visualiser le contenu du fichier profile
.
more
est utilisé pour visualiser le contenu des fichiers textes.
Il est appelé more
car il ne montre qu'une page d'écran du fichier
à la fois et il faut appuyer sur la barre d'espace pour visualiser la suite.
more
sortira de lui-même lorsqu'il aura atteint la fin du fichier
ou lorsque vous aurez taper sur q (quit pour quitter).
more /etc/profile
va s'assurer que la copie est bien conforme à l'original.
mv profile monsousrepertoire
mv
signifie move (déplacer). Vous avez déplacé le
fichier profile
du répertoire courant dans le sous-répertoire
monsousrepertoire
que vous avez créé précédemment.
ls
vérifie qu'il n'existe plus de fichier profile
dans le répertoire
courant.
ls monsousrepertoire
s'assure que profile
a bien été déplacé dans le répertoire
monsousrepertoire
.
cd monsousrepertoire
Ceci change de répertoire vers le répertoire monsousrepertoire
.
mv profile myprofile
Remarquez bien que contrairement à de nombreux autres systèmes, il n'y a pas de
différence entre renommer un fichier et le déplacer. Ainsi, on ne trouve pas
de commande rename
(renomme). Signalons aussi que le second
argument peut aussi bien être un répertoire pour déplacer le fichier dedans
qu'un nom de fichier pour le renommage. cp
fonctionne de la même
façon.
Comme d'habitude, vous pouvez taper ls
pour regarder le résultat.
mv myprofile ..
De la même façon que . signifie « le répertoire où je suis maintenant », ..
signifie « le parent du répertoire courant ». Et dans le cas présent, le
répertoire divers
créé précédemment. Utilisez ls
pour vérifier où se trouve myprofile
maintenant.
cd ..
Change de répertoire vers le répertoire parent, c'est-à-dire ici
divers
où vous venez de déplacer myprofile
.
rm myprofile
rm
signifie remove (effacer) donc cela efface le fichier
myprofile
. Faîtes très attention ! Détruire un fichier sur un
système GNU-Linux est définitif car il n'y a pas de fonction inverse.
Si vous effacez un fichier, c'est fini à jamais... Prenez bien vos
précautions.... On répète: détruire un fichier sur un système GNU-Linux est
définitif car il n'y a pas de fonction inverse. Si vous effacez un
fichier, c'est fini à jamais... Prenez bien vos précautions[34]....
rmdir monsousrepertoire
rmdir
est la même chose que rm
mais pour les
répertoires. Remarquez que rmdir
ne fonctionne qu'avec des
répertoires vides. Si le répertoire contient des fichiers, vous devez les
détruire en premier ou bien utiliser rm -r
à la place de
rmdir
.
cd ..
Ceci vous permet de sortir du répertoire courant et de vous déplacer dans le répertoire parent. Maintenant vous pouvez taper la séquence suivante:
rmdir divers
Ceci détruira les derniers restes de notre essai.
Nous savons maintenant comment créer, copier, déplacer, renommer et détruire
fichiers et répertoires. Nous avons aussi appris quelques raccourcis comme
taper simplement cd
pour revenir dans son répertoire personnel et
comment . et .. désignent respectivement le répertoire courant et le
répertoire parent. Vous devez aussi retenir les concepts de répertoire racine,
ou /, et de l'alias ~ pour votre répertoire personnel.
ls -a
Lorsque vous tapez ls
les fichiers commençant par un . ne sont
pas affichés. Traditionnellement, ces fichiers contiennent des informations de
configurations, de préférences et toutes sortes de choses du même acabit. Ils
vous sont cachés dans votre travail quotidien. Des exemples simples de
fichiers cachés sont ~/.emacs, ~/.newsrc, ~/.bashrc, ~/.xsession
et ~/.fvwmrc
. Ils sont respectivement utilisés par
Emacs, le lecteur de niouses, le shell Bash, le système
X-Window et le gestionnaire de fenêtres fvwm. Il est
conventionnel d'ajouter un rc
final aux fichiers cachés mais
certains programmes ne le font pas. Il y a aussi des répertoires cachés, comme
~/.gimp
ou ~/.netscape
qui rassemblent les
préférences pour The Gimp et Netscape.
Parfois, un fichier créera automatiquement un fichier caché ; par exemple, Netscape vous permets d'éditer dans une fenêtre graphique vos préférences et de sauvegarder vos choix. D'autres fois, vous devrez les créer vous-même à l'aide d'un éditeur de texte. C'est la façon traditionnelle de faire mais vous avez à apprendre le format particulier de chaque fichier, ce qui est un inconvénient au début mais vous donne par la suite beaucoup de puissance.
Nous avons déjà souligné le fait que GNU-Linux est un système multi-tâches. Il
peut traiter plusieurs choses simultanément. Chacune de ces tâches est appelé
processus (process en anglais). La meilleure façon de
comprendre ce qui précède est de taper top
après le prompteur du
shell. Vous obtiendrez une liste des processus triés suivant le temps que
votre ordinateur met à les traiter. Leur ordre change continuellement devant
vos yeux. En haut de l'écran, vous devez apercevoir quelques informations sur
le système: combien il y a d'utilisateurs connectés, combien il y a de
processus, combien de mémoire vous avez et combien vous en utilisez réellement.
Dans la colonne à l'extrème gauche, vous apercevrez les utilisateurs
propriétaires de chaque processus. À l'extrème droite, vous trouverez la liste
des commandes évoquées. Vous avez certainement remarqué que top
lui-même, lancé par vous, est presqu'en haut de la liste (car à chaque fois que
top
vérifie l'usage du microprocesseur (CPU), il l'active lui-même
et utilise le CPU pour faire la vérification).
Remarquez que toutes les commandes se terminant pas « d » - comme
kflushd
ou inetd
- sont des daemons.
Les daemons[35] signifient à l'origine Disk And Extensions MOnitor (surveillance des disques et des extensions). Un daemon est un processus non interactif ce qui veut dire qu'il est lancé par le système et que l'utilisateur n'a pas à s'en occuper. Les daemons servent à fournir des services comme la connexion Internet, l'impression ou le courrier électronique.
Maintenant, appuyez sur u
et entrez votre nom d'utilisateur. La
commande u
sert à afficher les seules processus appartenant à un
utilisateur; cela permet d'ignorer tous les daemons et tous les processus
appartenant à d'autres utilisateurs. Vous devez voir bash
, le nom
de votre shell. Vous aurez toujours le nom de votre shell.
La colonne numéro deux vous renvoie le PID pour Process IDentication
(identificateur de processus). On assigne à chaque signal un unique PID. Vous
pouvez utiliser les PID pour contrôler individuellement les processus (on
approfondira le sujet ultérieurement). Un truc utile est la commande
?
qui vous renvoie une liste des commandes disponibles sous
top
.
Il se peut que vous vous posiez la question de la différence entre un processus et un programme. En pratique, on utilise indifféremment l'un pour l'autre. Techniquement parlant, un programme est le jeu d'instruction écrit par un programmeur et gardé sur le disque. Le processus est l'instanciation en mémoire de ce programme sous Linux. Mais il n'est pas primordial de faire une réelle différence.
Beaucoup de vos interventions avec un ordinateur vont consister à contrôler les processus. Vous allez devoir les faire partir, les arrêter et les observer. Votre outil privilégié pour cela est le shell.
Le shell, ou interpréteur de commandes, vous permet d'interagir avec votre ordinateur. Il est appelé shell (coquillage) car il vous fournit un environnement de travail, comme une sorte de petite maison électronique pour vos travaux informatiques (pensez à l'abri de l'ermite).
La fonction la plus simple du shell est de lancer les autres programmes. Vous tapez le nom du programme que vous voulez lancer, avec à la suite les arguments que vous voulez et le shell demandera au système de lancer le programme pour vous.
Bien sûr, les systèmes graphiques avec fenêtres fournissent le même type de services. Techniquement, Windows 95 fournit un shell graphique et le système X Window fournit un autre type de shell graphique. Mais le terme shell est communément employé en sous-entendant shell pour lignes de commandes.
Cela va sans le dire mais les hackers travaillant sur un shell ne se contentent pas de lancer simplement des commandes. Votre shell regorge d'astuces cachées et de fonctionnalités puissantes si vous désirez vous en servir.
Il y a de très nombreux shells différents disponibles. La plupart d'entre eux
sont basés soit sur le Bourne Shell soit sur le C shell, deux
des plus vieux shells. Le nom originel du Bourne Shell est sh
et
celui du C shell, csh
. Les différentes variantes du Bourne Shell
sont le Bourne Again Shell du projet GNU (bash
, le shell
par défaut de Debian), le Korn Shell (ksh
) et le Z
shell (zsh
). Il y a aussi ash
, une
implémentation traditionnelle du Bourne shell. La plus connue des variantes du
C shell est tcsh
(le t
est un tribu payé aux systèmes
d'exploitation TENEX and TOPS-20 qui ont inspiré quelques parties de
tcsh
en sus de csh
).
bash
est certainement le meilleur choix pour un nouvel
utilisateur. C'est le shell par défaut et il comprend des tas de
fonctionnalités que vous allez apprécier. Mais chaque shell possède ses
avantages. Si vous voulez expérimenter, installez les différents paquets de
shell et changez votre shell avec la commande chsh
. Tapez
simplement chsh
, fournissez votre mot de passe et lorsque demandé,
choisissez votre nouveau shell. Lorsque vous vous reloguerez de nouveau, vous
utiliserez le nouveau shell.
bash
Debian est un système multi-tâches donc vous avez besoin d'un moyen de faire
plus d'une chose à la fois. Les environnements graphiques, comme X,
fournissent un élément naturel pour le faire: ils autorisent plusieurs fenêtres
simultanément. Naturellement, bash
, et tous les autres shells,
fournissent des facilités similaires.
Récemment, vous avez utilisé top
pour jeter un coup d'oeil sur
tous les processus de votre système. Votre shell vous propose des façons
aisées de suivre les commandes que vous avez lancées à partir de ce shell.
Chaque ligne de commande lance un job (aussi appelé un groupe de
processus) qui sera suivi par le shell. Un job peut être simplement un
processus ou bien un ensemble de processus tubés (plus sur les tubes un peu
plus tard).
Entrer une ligne de commande lance un job. Essayez de taper man
cp
et la page de manuel de cp
va apparaître à l'écran. Le
shell va tourner en arrière-plan et revenir en avant-plan une fois la lecture
de la page terminée (ou vous pouvez taper sur q pour éviter d'avoir à dérouler
toute la page pour sortir).
Mais admettons que vous désiriez faire quelque chose d'autre pendant la lecture
du manuel. Pas de problème. Appuyez sur Ctrl-z pour suspendre la
lecture du manuel (mis en arrière-plan du job courant) et ainsi remettre en
avant-plan le shell. Lorsque vous suspendez un job, bash
vous
donne immédiatement quelques informations à son sujet et ensuite il renvoie un
prompteur. Vous devriez apercevoir quelque chose comme cela à l'écran:
NAME cp - copy files SYNOPSIS cp [options] source --More-- [1]+ Stopped man cp $
Observez bien les deux dernières lignes. Les deux dernières comportent l'information sur le job et vous avez le prompteur du shell.
bash
assigne à chaque ligne de commande un numéro de job
donné par le shell. Cela vous permet de vous référer facilement à un
processus. Dans ce cas, man cp
porte le numéro 1, indiqué par
[1]
. Le signe +
veut dire que c'est le dernier job à
avoir été mis en arrière-plan. bash
vous renvoie aussi l'état
courant du job - Stopped
- ainsi que la ligne de commande.
Il y a de nombreuses choses à faire avec les jobs. Avec man cp
toujours suspendu, essayez la commande suivante:
man ls
Cela crée un nouveau job.
Ctrl-z
Cela le suspend; vous devriez voir les informations du job.
man mv
Lance un nouveau job.
Ctrl-z
Le suspend aussi.
jobs
Demande au bash
d'afficher l'état de tous les jobs en cours. Le
résultats devraient ressembler à :
{$} jobs [1] Stopped man cp [2]- Stopped man ls [3]+ Stopped man mv {$}
Remarquez bien que les - et + qualifient respectivement l'avant-dernier et le dernier job en arrière-plan.
fg
Cela place le dernier job en arrière-plan (man mv
, celui avec le
+) de nouveau en avant-plan. Si vous pressez la barre d'espace, la page de
manuel va se dérouler.
Ctrl-z
Suspend à nouveau man mv
.
fg %1
Vous pouvez vous référer à n'importe quel job en utilisant % suivi de son
numéro. Si vous utilisez fg
sans lui spécifier de job, c'est le
dernier actif qui sera réveillé.
Ctrl-z
Suspend à nouveau man cp
.
kill %1
Détruit le job numéro 1. bash
fait un rapport d'information du
job qui devrait ressembler à:
$ kill %1 [1] - Terminated man cp $
bash
se contente de demander au job de se terminer et parfois ce
dernier ne veut pas. Dans ce cas, vous devez ajouter l'option
-KILL
[36] pour arrêter
la demande de destruction et commencer la destruction. Par exemple:
$ kill -KILL %1 [1]- Killed man mv $
L'option -KILL
force une destruction inconditionnelle du job.
En des termes plus techniques, kill
se contente d'envoyer un
signal. Par défaut, il envoie un signal de terminaison (TERM
ou
signal 15
) mais vous pouvez très bien spécifier un signal et
l'option -KILL
(signal 9
) est le signal qui force la
terminaison. La commande kill
n'est pas forcément appropriée pour
l'envoi de signaux ; par exemple, envoyer le signal TSTP
(terminal stop
) suspend le processus et permet de le récupérer
plus tard.
top
Cela nous renvoie à l'écran la sortie de top
. Envoyez la commande
u
dans top
pour ne visualiser que vos processus.
Regardez dans la colonne de droite les commandes man ls
et
man mv
. man cp
n'est plus là puisque vous l'avez
tuée. top
vous montre les processus vous appartenant ; remarquez
bien que le PID à gauche de l'écran ne correspond pas au numéro de job.
Il se peut que vous ne voyez pas vos processus car trop bas pour apparaître à
l'écran. Si vous utilisez X (voir chapitre 11), vous pouvez redimensionner
votre xterm
pour résoudre le problème.
Même ces simples jobs sont en réalité des processus multiples, incluant le
processus man
et le visualiseur more
qui vous permet
de faire défiler les pages une par une. Vous devez apercevoir les processus
more
dans top
.
Vous vous demandez peut-être comment nettoyer les deux jobs restant. Vous
pouvez soit les tuer (avec la commande kill
) ou bien les remettre
en avant-plan (avec fg
) puis les quitter. Rappelez-vous que la
commande jobs
vous renvoie la liste des jobs en cours et leur
état.
Une touche finale: la documentation de bash
est plutôt bonne mais
il vaut mieux aller la chercher dans le système d'aide info
que
dans les pages de manuel. Pour la lire, tapez info bash
. Voir la
partie 16.2 pour les instructions pour se servir de la commande
info
. bash
contient aussi une très bonne
documentation en ligne accessible via la commande help
.
help
renvoie une liste de sujets disponibles. On peut accéder
directement à l'information en tapant help sujet en question
.
Essayez help cd
par exemple. Cela vous fournira des détails sur
les arguments -L
et -P
reconnus par cd
.
bash
Cette partie mentionne rapidement quelques fonctionnalités couramment utilisées
sous bash
. Pour une discussion plus complète, reportez-vous au
chapitre 8.
Le shell bash
est capable de deviner quel fichier ou commande vous
êtes en train de taper et les compléter automatiquement pour vous. Il suffit
simplement de taper le début de la commande ou du fichier et d'appuyer sur la
touche de tabulation. Si bash
trouve un complètement unique, il
finira le mot et ajoutera un espace à la fin. S'il trouve de multiples
complètements[37], il propose
l'ensemble de ses choix possibles en émettant un signal sonore. Vous pouvez
alors entrer le nombre de lettres suffisantes pour le rendre unique et appuyez
sur la touche de tabulation à nouveau. S'il n'existe pas de complètement,
bash
émet simplement un signal sonore.
Les systèmes de type Unix sont multi-utilisateurs et vous avez donc votre
propre identité comme utilisateur sur le système. Tapez finger
votrenomdutilisateur
pour voir les informations qui sont publiquement
disponibles. Pour changer le nom et le shell affichés ici, vous pouvez
utiliser la commande chfn
et chsh
. Seul root peut
vous changer votre login et votre répertoire d'attache. Vous devez avoir vu
No plan. Un plan est une simple information que vous voulez
rendre publique. Pour créer un plan, vous placer toute l'information que vous
voulez montrer aux autres dans un fichier appelé .plan
. Pour le
faire, vous devrez vous servir d'un éditeur de texte (voir chapitre 10.2).
Ensuite, utilisez à nouveau finger
pour observer le résultat. Les
autres peuvent utiliser finger sur vous pour voir votre plan ou
vérifier si vous avez reçu ou lu votre courrier électronique.
Remarquez bien que l'information de finger
est disponible à
travers tout l'Internet par défaut. Si vous ne le voulez pas, lisez la
documentation de inetd
et le fichier /etc/services
.
Éventuellement, la page de manuel peut décrire la mise en oeuvre mais il n'est
pas évident que cela puisse réellement vous aider.
p.karatchentzeff@free.fr