# Prise de contact

# Corrigés des exercices de prise de contact

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

## 1- Comment s'appelle votre machine ?

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 `chaland` est, avec la config conscrits :

    bireme ~ $

Le prompt (en bon français : l'invite) affiche également le répertoire où vous vous trouvez; par exemple, si vous travaillez sur `drakkar` et que vous êtes dans votre répertoire `Rapport`, le prompt sera :

    bireme ~/Rapport $

&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 `$`. Pour afficher le nom de la machine si celui-ci n'est pas indiqué par défaut, vous avez plusieurs solutions :

1. Taper

       uname -n
       bireme

   La commande `uname` affiche diverses informations sur le système; l'option `-a` donne l'ensemble de ces informations (nom de la machine, système d'exploitation et sa version, etc).
2. Taper

       hostname
       bireme

   affiche le nom de la machine sur laquelle vous êtes logué. Cette commande fait en fait appel à `uname`, et est parfaitement standard.
3. Afficher le contenu de la variable `HOSTNAME` avec `echo` :

       echo $HOSTNAME
       bireme

   Nota bene : la variable `HOSTNAME` n'est pas définie dans toutes les configurations.

## 2- Comment s'appellent les deux stations situées de part et d'autre de l'imprimante ?

Repérez d'abord l'emplacement physique de l'imprimante. Ensuite tapez `qui` et orientez vous.... L'imprimante est surnommée `josianne`, vous n'aurez donc pas de mal à repérer `prao` et `felouque`.

## 3- Y a-t-il quelqu'un de physiquement logué en ce moment sur `vedette`, à Jourdan ?

Il faut utiliser les options de `qui` permettant de spécifier une salle. Ici, c'est Jourdan qui nous intéresse; on tape donc :

    bireme ~ $ qui -jourdan

ou encore

    bireme ~ $ qui j

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 `emacs`, s'il utilise Netscape, ou s'il joue à un jeu...).

## 4- Y a-t-il un tuteur en salle du 46 en ce moment ?

Cette fois-ci, c'est la carte de l'Infi que l'on demande. On tape :

    bireme ~ $ qui -46

Avec la config conscrits, les tuteurs ont leur nom souligné, afin d'être facilement localisables et joignables.

## 5- Quel jour sommes-nous ?

Il suffit de taper `date`. Attention, par défaut la date est en anglais...

Avec la plupart des horloges numériques, la date apparaît quand on clique sur l'horloge.

## 6- Qu'y avait-il au pot hier ?

La commande `pot` par défaut affiche le menu du jour, midi et soir. Elle peut prendre différentes options : `hier`, `demain`, `semaine`. Pour savoir quel était le menu d'hier, il faut taper :

    bireme ~ $ pot hier

## 7- Quel jour de la semaine êtes-vous né ?

Vous disposez de la commande `cal` (calendrier) pour savoir cela. Sans arguments, `cal` 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 :

    bireme ~ $ cal 3 1982

Sur les machines FreeBSD de l'École, le programme `cal` 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 `/usr/bin/cal` au lieu de `cal`.

## 8- Qui est actuellement logué sur `drakkar` ?

Vous voulez savoir qui se trouve présent informatiquement sur `drakkar`; vous avez deux solutions :

1. Connectez-vous sur `drakkar`, en tapant :

       paquebot ~ $ drakkar

   Et tapez `who` : 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...

   Les types de terminaux apparaissent sous la forme `pts/numéro` , à l'exception d'un seul, qui s'appelle `console` : c'est le terminal associé physiquement à la machine; la personne loguée sur la console est donc celle qui est physiquement loguée sur `drakkar`.

2. Vous pouvez aussi vous servir de la commande `finger`, sous la forme suivante :

       paquebot ~ $ finger @drakkar

   Vous obtenez ainsi des renseignements sur les personnes présentes sur `drakkar`, de façon un peu plus complète qu'avec `who` : nom de login, nom complet, type de terminal (`TTY` -«ti ti ouaille»; TeleTYpe), idle time, date et heure du login, endroit depuis lequel la personne est loguée.

   L'idle time 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 `xkobo`, `emacs` ou `Netscape` ne sont pas considérés comme utilisant le clavier.

Vous auriez pu utiliser ces méthodes pour savoir qui se trouvait physiquement sur `vedette`, dans l'exercice 3, en regardant qui se trouvait sur la console.

## 9- Quel est le nom complet de la personne dont le login est `mlnguyen` ? De quelle promotion est-elle ?

Il faut taper

    finger mlnguyen

Dans le texte qui s'affiche figurent divers renseignements : le nom de login (`Login name: mlnguyen`), le nom complet (`In real life: Marie-Lan Nguyen`) ainsi que la promotion et la branche :

    Directory: /users/98/litt/mlnguyen

C'est une littéraire de la promotion 1998.

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.

Il y a aussi une ligne `Plan`, et une autre `Project`. Elles correspondent à deux fichiers qui se trouvent sur le compte de l'utilisateur, qui y fait figurer diverses informations personnelles. Le `.plan` contient plusieurs lignes, et le `.project` en contient une seule.

## 10- Affichez votre nom de login

C'est la commande `whoami` qui permet de faire cela.

&icone.note; Autres manières de procéder :

1. Vous pouvez afficher le contenu de la variable `USER`, de la façon suivante :

       echo $USER

   Cependant, celle-ci n'est pas nécessairement toujours définie.

2. Vous pouvez taper `id`, qui affiche le login et le groupe de l'utilisateur, accompagné de deux numéros, l'uid (user identification : le numéro de l'utilisateur) et le gid (group identification : numéro du groupe). `id` se prononce aille-di.

## 11- Quelles sont les différences entre `rwrite` et `talk` ?

`rwrite` envoie des messages qui apparaissent dans la console du destinataire (il faut donc qu'il soit logué). Exemple d'utilisation :

    bireme ~ $  rwrite toto@drakkar
    Salut, tu manges au pot?
    ^D

De son côté, Toto voit apparaître ceci dans sa console :

    Message from titi@corvette on /dev/pts/4 at 15:12 ...
    Salut, tu manges au pot?
    <EOT>

`talk` (ou mieux : `ytalk`) 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 `rwrite` :

    bireme ~ $ ytalk toto@drakkar

Toto reçoit un message dans sa console, et répond par

    drakkar ~ $ ytalk titi@corvette

On quitte la conversation en tapant `^C`.

Pour une présentation complète de ce programme, allez voir le cours des tuteurs sur ytalk.

Auteur : Émilia Robin, Joël Riou.