tuteurs.ens.fr/unix/exercices/solutions/contact-sol.tml

349 lines
9.8 KiB
Text
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Prise de contact</title>
</head>
<body>
<h1>Corrigés des exercices de prise de contact</h1>
<p>&icone.note; Les paragraphes signalés par
cette icône sont des explications plus techniques pour donner une réponse
exacte à certaines questions. Si vous êtes débutant, ce n'est pas nécessaire
de les lire maintenant.</p>
<h2><a name="prompt">1- Comment s'appelle votre machine ?</a></h2>
<p>Le nom de votre machine est indiqué dans le prompt (la série de
caractères qui précède le curseur dans une fenêtre où on peut taper des
commandes). Par exemple, le prompt de <code>chaland</code> est, avec la
config conscrits :</p>
<pre>
<span class="prompt">bireme ~ $</span> 
</pre>
<p>
Le prompt (en bon français : l'invite) affiche également le répertoire où
vous vous trouvez; par exemple, si vous travaillez sur <code>drakkar</code> et
que vous êtes dans votre répertoire <code>Rapport</code>, le prompt
sera :</p>
<pre>
<span class="prompt">bireme ~/Rapport $</span> 
</pre>
<p>&icone.note; Évidemment, tout dépend de votre configuration; il se peut
qu'elle n'affiche pas le nom de la machine, et se limite à un
<code>$</code>. Pour afficher le nom de la machine si celui-ci n'est pas
indiqué par défaut, vous avez plusieurs solutions : </p>
<ol>
<li>Taper
<pre>
uname -n
bireme
</pre>
La commande <code>uname</code> affiche diverses informations sur le système;
l'option <code>-a</code> donne l'ensemble de ces informations (nom de la
machine, système d'exploitation et sa version, etc).</li>
<li>Taper
<pre>
<code>hostname</code>
bireme
</pre>
affiche le nom de la machine sur laquelle vous êtes logué. Cette commande fait
en fait appel à <code>uname</code>, et est parfaitement standard.</li>
<li>Afficher le contenu de la variable <code>HOSTNAME</code> avec
<code>echo</code> :
<pre>
echo $HOSTNAME
bireme
</pre>
<em>Nota bene</em> : la variable <code>HOSTNAME</code> n'est pas définie
dans toutes les configurations. </li>
</ol>
<h2><a name="qui">2- Comment s'appellent les deux stations situées de part et
d'autre de l'imprimante ?</a></h2>
<p>
Repérez d'abord l'emplacement physique de l'imprimante. Ensuite tapez
<code>qui</code> et orientez vous.... L'imprimante est surnommée
<code>josianne</code>, vous n'aurez donc pas de mal à repérer
<code>prao</code> et <code>felouque</code>.
</p>
<h2> <a name="vedette">3- Y a-t-il quelqu'un de physiquement logué en ce
moment sur <code>vedette</code>, à Jourdan ?</a></h2>
<p>
Il faut utiliser les options de <code>qui</code> permettant de spécifier une
salle. Ici, c'est Jourdan qui nous intéresse; on tape donc :
</p>
<pre>
<span class="prompt">bireme ~ $</span> qui -jourdan
</pre>
<p class="continue">ou encore</p>
<pre>
<span class="prompt">bireme ~ $</span> qui j
</pre>
<p>
Si quelqu'un est logué, son nom figure en dessous du nom de la machine,
parfois entre crochets (s'il n'a pas touché son clavier depuis quelques
minutes, mais aussi s'il travaille avec <code>emacs</code>, s'il utilise
Netscape, ou s'il joue à un jeu...).
</p>
<h2><a name="tuteur">4- Y a-t-il un tuteur en salle du 46 en ce
moment ?</a> </h2>
<p>Cette fois-ci, c'est la carte de l'Infi que l'on demande. On tape :
</p>
<pre>
<span class="prompt">bireme ~ $</span> qui -46
</pre>
<p>
Avec la config conscrits, les tuteurs ont leur nom souligné, afin d'être
facilement localisables et joignables.
</p>
<h2> <a name="date">5- Quel jour sommes-nous ?</a></h2>
<p>Il suffit de taper <code>date</code>. Attention, par défaut la date est en
anglais...</p>
<p>
Avec la plupart des horloges numériques, la date apparaît quand on clique sur
l'horloge.</p>
<h2> <a name="pot">6- Qu'y avait-il au pot hier ?</a> </h2>
<div class="ens">
La commande <code>pot</code> par défaut affiche le menu du jour, midi et soir.
Elle peut prendre différentes options : <code>hier</code>,
<code>demain</code>, <code>semaine</code>. Pour savoir quel était le menu
d'hier, il faut taper :
<pre>
<span class="prompt">bireme ~ $</span> pot hier
</pre>
</div>
<h2><a name="cal">7- Quel jour de la semaine êtes-vous né ?</a></h2>
<p>
Vous disposez de la commande <code>cal</code> (calendrier) pour savoir cela.
Sans arguments, <code>cal</code> affiche le calendrier du mois en cours. On
peut aussi lui préciser le numéro du mois (entre 1 et 12) et l'année (entre 1
et 9999). Si vous êtes né en mars 1982, vous tapez donc :
</p>
<pre>
<span class="prompt">bireme ~ $</span> cal 3 1982
</pre>
<div class="ens">
Sur les machines FreeBSD de l'École, le programme <code>cal</code> lancé
par défaut est différent de celui des stations Sun et a tendance à mettre
des couleurs repoussantes. Pour pallier ce problème, tapez
<code>/usr/bin/cal</code> au lieu de <code>cal</code>.
</div>
<h2><a name="who">8- Qui est actuellement logué sur <code>drakkar</code>
 ?</a> </h2>
<p>
Vous voulez savoir qui se trouve présent informatiquement sur
<code>drakkar</code>; vous avez deux solutions :
</p>
<ol>
<li> Connectez-vous sur <code>drakkar</code>, en tapant :
<pre>
<span class="prompt">paquebot ~ $</span> drakkar
</pre>
<p>
Et tapez <code>who</code> : une liste s'affiche, indiquant le nom de
login de l'utilisateur, le type de terminal qu'il utilise, la date et l'heure
à laquelle il s'est logué et depuis où il est connecté. Repérez votre nom
dans cette liste...</p>
<p>
Les types de terminaux apparaissent sous la forme
<code>pts/<em>numéro</em></code> , à l'exception d'un seul, qui s'appelle
<code>console</code> : c'est le terminal associé physiquement à la
machine; la personne loguée sur la console est donc celle qui est physiquement
loguée sur <code>drakkar</code>. </p></li>
<li> Vous pouvez aussi vous servir de la commande <code>finger</code>, sous la
forme suivante :
<pre>
<span class="prompt">paquebot ~ $</span> finger @drakkar
</pre>
<p>
Vous obtenez ainsi des renseignements sur les personnes présentes sur
<code>drakkar</code>, de façon un peu plus complète qu'avec
<code>who</code> : nom de login, nom complet, type de terminal
(<code>TTY</code> -«ti ti ouaille»; <em>TeleTYpe</em>), <em>idle time</em>,
date et heure du login, endroit depuis lequel la personne est loguée.
</p>
<p>
L'<em>idle time</em> est théoriquement le temps depuis lequel la personne n'a
pas touché son clavier; c'est cependant une donnée peu fiable, dans la mesure
où des «jeux» comme <code>xkobo</code>, <code>emacs</code> ou
<code>Netscape</code> ne sont pas considérés comme utilisant le clavier.
</p></li>
</ol>
<p>
Vous auriez pu utiliser ces méthodes pour savoir qui se trouvait physiquement
sur <code>vedette</code>, dans l'exercice 3, en regardant qui se trouvait sur
la console.
</p>
<h2><a name="finger">9- Quel est le nom complet de la personne dont le login
est <code>mlnguyen</code> ? De quelle promotion est-elle ?</a> </h2>
<p>Il faut taper</p>
<pre>
finger mlnguyen
</pre>
<p>
Dans le texte qui s'affiche figurent divers renseignements : le nom de
login (<code>Login name: mlnguyen</code>), le nom complet (<code>In real
life: Marie-Lan Nguyen</code>) ainsi que la promotion et la
branche : </p>
<pre>
Directory: /users/98/litt/mlnguyen
</pre>
<p>
C'est une littéraire de la promotion 1998.
</p>
<p>
Il y a aussi diverses indications : dernière fois qu'elle s'est logué sur
la machine sur laquelle vous vous trouvez, si elle a lu son mail récemment.
</p>
<p>
Il y a aussi une ligne <code>Plan</code>, et une autre <code>Project</code>.
Elles correspondent à deux fichiers qui se trouvent sur le compte de
l'utilisateur, qui y fait figurer diverses informations personnelles. Le
<code>.plan</code> contient plusieurs lignes, et le <code>.project</code> en
contient une seule.
</p>
<h2><a name="whoami">10- Affichez votre nom de login</a> </h2>
<p>C'est la commande <code>whoami</code> qui permet de faire cela. </p>
<p>&icone.note; Autres manières de procéder : </p>
<ol>
<li> Vous pouvez afficher le contenu de la variable <code>USER</code>, de la
façon suivante :
<pre>
echo $USER
</pre>
<p>
Cependant, celle-ci n'est pas nécessairement toujours définie.
</p></li>
<li>Vous pouvez taper <code>id</code>, qui affiche le login et le groupe de
l'utilisateur, accompagné de deux numéros, l'<em>uid</em> (<em>user
identification</em> : le numéro de l'utilisateur) et le <em>gid</em>
(<em>group identification</em> : numéro du groupe). <code>id</code> se
prononce <em>aille-di</em>.</li>
</ol>
<h2><a name="diff">11- Quelles sont les différences entre <code>rwrite</code> et
<code>talk</code> ? </a> </h2>
<p><code>rwrite</code> envoie des messages qui apparaissent dans la console du
destinataire (il faut donc qu'il soit logué). Exemple
d'utilisation :</p>
<pre>
<span class="prompt">bireme ~ $</span>  rwrite toto@drakkar
Salut, tu manges au pot?
^D
</pre>
<p>
De son côté, Toto voit apparaître ceci dans sa console :
</p>
<pre>
Message from titi@corvette on /dev/pts/4 at 15:12 ...
Salut, tu manges au pot?
&lt;EOT&gt;
</pre>
<p>
<code>talk</code> (ou mieux : <code>ytalk</code>) est une conversation
interactive entre deux personnes ou plus. La demande de talk se fait de la
même façon que pour écrire un <code>rwrite</code> : </p>
<pre>
<span class="prompt">bireme ~ $</span> ytalk toto@drakkar
</pre>
<p>
Toto reçoit un message dans sa console, et répond par
</p>
<pre>
<span class="prompt">drakkar ~ $</span> ytalk titi@corvette
</pre>
<p>On quitte la conversation en tapant <code>^C</code>.
</p>
<p>
Pour une présentation complète de ce programme, allez voir le cours des
tuteurs sur <a href="&url.tuteurs;internet/ytalk.html">ytalk</a>.
</p>
<div class="metainformation">
Auteur : Émilia Robin, Joël Riou. <date value="from git" />
</div>
</body>
</html>