Buts des séances 1 et 2
Depuis un PC
Lorsque vous arrivez devant un PC
et qu'il est allumé, vous vous trouvez face à une bannière
avec deux choix : s'enregistrer avec Unix, et connection NT.
Lors de votre premier accès, vous devez sélectionner le choix s'enregistrer avec Unix, et remplir ensuite deux champs qui sont login et passwd. Une fois que vous avez tapé votre nom d'utilisateur et votre mot de passe, vous disposez d'un login dans l'environnement Windows ainsi que dans l'environnement Unix. Ce login sera valide durant toute l'année.
Après avoir effectué l'étape précédente, vous devez sélectionner le choix connection NT. Il en sera de même lors de vos accès suivants aux postes de travail. Le choix connection NT implique de remplir trois champs qui sont login, passwd et domaine. Vous devez sélectionner IMA-ENS pour le domaine. A partir de là, vous vous trouvez face à une page d'acceuil de Windows, sur laquelle il faut cliquer sur Fermer. Vous vous retrouvez alors dans l'environnement Windows, depuis lequel vous pouvez utiliser les outils Windows (word, excel, etc), ou bien ouvrir une fenêtre " Unix ", permettant de se connecter sur un serveur Unix de l'UFR et de travailler ensuite dans l'environnement Unix.
Dans l'environnement Windows, se trouvent une série d'icônes placées à gauche de l'écran. Ces icônes permettent d'ouvrir des applications (par double clic). L'icône Poste de travail donne accès aux données que vous pouvez manipuler (disquette, disque dur). L'icône Netscape lance le browser WWW, que nous manipulerons lors d'une prochaine séance.
Pour passer dans l'environnement Unix, cliquez sur l'icône PC Xware Connection. Une fenêtre s'ouvre avec une icône nommée XDM Tardieu. Cliquez dessus, et vous allez vous trouver face à une bannière de connection avec le serveur Unix tardieu. Après avoir donné votre login et passwd, vous disposez d'une fenêtre vous permettant de travailler sur Unix. A gauche de l'écran, se trouve un menu présentant un bouton par serveur de l'UFR. En cliquant avec le bouton gauche de la souris, vous pouvez ouvrir une fenêtre Unix sur le serveur de l'UFR de votre choix.
Démarrage depuis
un Terminal X (Tx)
Lorsque vous arrivez devant un Tx
et qu'il est allumé, vous vous trouvez face à une bannière
vous permettant de vous connecter avec les serveurs Unix de l'UFR. Après
avoir donné votre login et passwd, vous disposez d'une
fenêtre vous permettant de travailler sur l'un de ces serveurs. L'enseignant
présent dans la salle est disponible pour vous expliquer comment
vous connecter aux autres serveurs Unix.
EXERCICE
Depuis un PC, connectez-vous, puis passez dans l'environnement Unix en vous connectant au serveur hoff par exemple. Depuis un Tx, connectez-vous au également serveur hoff. |
2 -Terminer une session de travail
Il suffit de cliquer sur l'icône
Démarrer en bas à gauche de votre écran, puis
de sélectionner le choix Arrêter.
3- Manipulation de fenêtres
Dans l'environnement Windows, vous
pouvez manipuler plusieurs fenêtres. Dans une fenêtre, on peut
différencier plusieurs zones :
EXERCICE
b. Changez la taille de quelques fenêtres c. Iconifiez et réaffichez quelques fenêtres |
4- L'interprête de commandes
(shell)
L'interprête de commande Unix
(ou shell Unix) est un programme qui est exécuté lorsqu'on
se connecte dans l'environnement Unix. Il exécute les commandes
qui sont tapées par l'utilisateur. A chaque fois que le shell attend
une commande, il le notifie en affichant un prompt, comme par exemple {1}hoff
:.
Pour donner une commande à
exécuter au shell, il suffit de préciser le nom de la commande,
éventuellement suivi d'arguments. Le shell peut ensuite vous demander
des informations supplémentaires si nécessaire.
5- Manipulation des utilisateurs
au travers du shell
Tout utilisateur est repéré
dans le système Unix par un identificateur unique appelé
user-id (uid). Dans Unix, les utilisateurs appartiennent
également à des groupes, identifiés par d'autres identificateurs
uniques (group-id ou gid).
La commande who permet de connaître la liste des utilisateurs connectés au système à l'instant courant.
La commande id permet d'obtenir l'uid et le gid de l'utilisateur courant.
La commande passwd permet de changer le mot de passe Unix de l'utilisateur courant. Pour cela, il suffit de taper à la suite du prompt la commande passwd, et de suivre les instructions qui vous sont fournies.
EXERCICE
b. Changez votre mot de passe en essayant d'en trouver un ayant de préférence entre 6 et 8 caractères. |
6- Manipulation de fichiers au travers du shell
6.1 Répertoire de travail
(home directory)
Quand vous vous connectez dans un
environnement Unix, vous vous retrouvez dans un environnement de travail
composé d'un répertoire qui vous est propre et d'informations
vous concernant (nom d'utilisateur, droits, etc). Chaque connexion vous
placera toujours dans ce même environnement.
Pour l'instant, nous allons nous
intéresser à la notion de répertoire. Un répertoire
contient un ensemble de fichiers et/ou de sous-répertoires, un fichier
étant composé d'un nom et d'un ensemble de données
stockées sur disque.
Vu par l'utilisateur, le système
de fichiers est donc organisé comme une arborescence dont les noeuds
sont des répertoires et les feuilles des fichiers simples.
6.2 Désignation des fichiers
et répertoires
Un fichier ou répertoire
est désigné au moyen d'un chemin d'accès, qui indique
sa position dans l'arborescence globale qui contient tous les répertoires
gérés par le serveur.
Il existe deux moyens de désigner
des objets (fichiers ou répertoires) dans une arborescence : la
désignation absolue et la désignation relative.
La désignation absolue indique le chemin à suivre dans l'arborescence globale (depuis la racine /), pour accéder à l'objet voulu. Par exemple, /a/u1/durand désigne l'objet durand situé dans le répertoire u1 lui-même situé dans le répertoire a sous /.
La désignation relative précise
le chemin à suivre pour accéder à l'objet voulu, à
partir du répertoire courant. Par exemple, si vous vous trouvez
dans le répertoire /a/u1, le nom durand/programs désigne
l'objet programs situé dans le répertoire durand
lui-même situé dans le répertoire courant.
Le nom ../ est un nom générique,
qui désigne toujours le répertoire père du répertoire
courant. Avec l'exemple précédent, ../ désigne tous
les objets situés dans le répertoire /a.
../../u2 désigne un
objet de nom u2 situé dans le répertoire /a.
6.3 Changement de répertoire
courant
Au moment de votre connexion, vous
vous retrouvez dans votre répertoire de travail (qui est à
ce moment votre répertoire courant). Vous pouvez changer
de répertoire courant via la commande cd (Change Directory).
En tapant cd nom_rep, (nom_rep étant un nom absolu ou relatif de répertoire), votre répertoire courant devient nom_rep.
La commande cd sans arguments
permet de revenir à tout moment à votre répertoire
de travail.
La commande cd ~ nom d'utilisateur
permet d'aller, si les droits le permettent, au répertoire de travail
de l'utilisateur donné.
La commande cd / permet d'aller
au sommet de l'arborescence.
La commande cd .. permet
de remonter au répertoire père du répertoire courant.
Comme dit précédemment, quelque soit le répertoire
courant, la chaîne .. désigne en effet toujours le
répertoire père.
6.4 Connaissance du répertoire
courant
La commande pwd (print working
directory) permet de savoir dans quel répertoire courant on se situe
à un instant donné (cette commande affiche le nom absolu
du répertoire courant).
EXERCICE
b. Descendez et remontez dans les répertoires à l'aide de la commande cd. c. Revenez à votre répertoire de travail avec la commande cd. |
6.5 Copie d'un répertoire
La commande cp, utilisée
avec l'option r, permet de copier récursivement le contenu
d'un répertoire (c.a.d l'arborescence complète des sous-répertoires
et fichiers). Par exemple, cp -r rép1 rép2 crée
une copie de rép1 dans rép2 si rép2
existe déjà, sinon cette commande crée une copie de
rép1 appelée rép2.
6.6 Consultation d'un répertoire
La commande ls (list directory)permet
de lister le contenu d'un répertoire. Cette commande, comme presque
toutes celles du shell unix, a la possibilité d'être utilisée
avec des options qui permettent de spécialiser la commande .
La commande ls sans options affiche en colonne les noms des objets (fichiers et sous-répertoires) dont le premier caractère est différent du point.
L'option a ( ls -a ) affiche tous les noms des objets du répertoire courant, quelquesoit leur nom.
L'option l (ls -l, ou ls -al) liste les fichiers sur une colonne, avec des informations sur les droits d'accès, sur le propriétaire de l'objet, la taille et la date de dernière modification.
Enfin, parmi les principales options,
R permet de visualiser le contenu d'un répertoire ainsi que
celui de ses sous-répertoires (affichage récursif).
La commande ls peut également avoir plusieurs noms d'objets en paramètre. Par exemple, ls exemple.texte affiche le nom de l'objet du répertoire courant qui est exemple.texte s'il existe, sinon il indique qu'aucun objet de ce nom n'existe sous le répertoire courant. De même que pour toutes les commandes qui acceptent des listes de noms en paramètre, on peut utiliser des caractères spéciaux pour faciliter l'écriture de la commande.
EXERCICE
b. Essayez la commande ls avec les options -a, -l et -R. c. Utilisez également les options de factorisation d'écriture de ls : |
6.7 Complétion
Il s'agit d'un moyen qu'offre l'interprête
de commandes pour compléter automatiquement les noms de fichiers
intervenants dans une commande shell. On dispose de 2 caractères
qui dans des situations de complétion ont les significations suivantes
:
EXERCICE
Testez la possibilité de complétion
avec diverses commandes (cd, ls)
|
6.8 Création de répertoire
Pour créer un répertoire
de nom nomrep, il faut utiliser la commande mkdir nomrep.
Le répertoire crée permettra de stocker des fichiers ou des
sous-répertoires, de la même façon que votre répertoire
racine.
6.9 Copie de fichiers
La commande cp permet de
copier le contenu d'un fichier dans un autre. Par exemple ; cp f1 f2
copie le contenu de f1 dans le fichier de nom f2. Si f2
n'existe pas déjà, il est automatiquement créé.
6.10 Renommage d'un fichier
La commande mv permet de
changer le nom d'un fichier. Par exemple, mv f1 f2 renomme f1 en
f2. Il n'existe alors plus de fichier de nom f1.
EXERCICE
b. Copiez le fichier de nom hello.c (qui se trouve sous votre répertoire RENTREE1) dans le répertoire PROGRAMS c. Renommez le fichier de nom hello.c en hello2.c |
6.11 Consultation du contenu d'un
fichier
Pour visualiser le contenu d'un
fichier qui contient du texte, il existe la commande cat. Cette
commande est utilisée en fournissant en paramètre le(s) nom(s)
du ou des fichiers que l'on souhaite visualiser. Dans notre environnement,
si le fichier dépasse en longueur la taille de la fenêtre,
il faut utiliser l'ascenseur situé verticalement sur le coté
de la fenêtre.
Pour visualiser plus facilement les fichiers de grande taille, il existe une autre commande appelée more. Cette commande affiche le fichier page par page, une page correspondant à la quantité de données visualisable dans la fenêtre courante. Les commandes suivantes sont disponibles :
EXERCICE
b. Détruisez le fichier hello2.c. |
6.13 Destruction d'un répertoire
On peut détruire des répertoires
par rmdir (remove directory). Cette commande implique que les répertoires
à détruire soient vides (attention aux fichiers cachés
dont le nom commence par un point).
EXERCICE
b. Visualiser le résultat de vos opérations à l'aide de la commande ls -R c. Testez la commande de copie récursive de répertoire, que vous aurez à utiliser souvent par la suite d. Détruisez les fichiers et répertoires que vous venez de créer |
6.14 Recherche par rapport au
contenu d'un fichier
La commande grep permet de
rechercher une chaine de caractères dans un ou plusieurs fichiers.
Plus précisément, étant donné une chaîne
de caractères et un ensemble de noms de fichiers, grep va
rechercher quels fichiers contiennent cette chaîne. Par exemple :
grep f1( *.c recherche quels sont les fichiers suffixés par .c qui contiennent la chaîne f1(
EXERCICE
b. Le fichier /etc/passwd contient la base de donnée sur les utilisateurs du système (nom, uid, gid, mot de passe, etc). Donnez la commande affichant la ligne du fichier /etc/passwd vous concernant. |
La commande find noms_de_fichiers expression parcourt récursivement l'arborescence de fichiers définie par les répertoires ou fichiers fournis en paramètre, en évaluant l'expression booléénne formée à partir des opérateurs donnés ci-dessous pour chaque fichier.
-user nom d'utilisateur : vrai si le fichier appartient à cet utilisateur
-group nom_de_groupe : vrai si le fichier appartient à ce groupe
-type T : vrai si le fichier est de type T, où T est f pour fichier ordinaire, d pour répertoire.
-print : toujours vrai, permet de visualiser les fichiers consultés par la commande find
-atime n : vrai si le fichier a été accédé depuis n jours
-mtime n : vrai si le fichier a été modifié depuis n jours
-exec commande : exécute la commande donnée, qui doit se terminer par \; ( {} est le symbole à utiliser pour désigner le fichier).
EXERCICE
Que fait la commande find . -name "*~" -exec rm {} \; ? |
6.16 Tri de fichier
L'opération de tri d'un fichier
est fournie par la commande sort. Cette commande tri le contenu
du fichier selon une ou plusieurs clés, identifiées par leur
positions dans les lignes du fichier.
Par exemple, sort +3 nom_fichier,
va effectuer un tri portant sur le 3ème mot de chaque ligne du fichier
nom_fichier. La comparaison des mots s'appuie sur le codage ASCII
des caractères, qui est conforme à l'ordre lexocographique.
Par défaut, le caractère considéré comme séparateur
entre mots est l'espace ou la tabulation. Si l'on souhaite utiliser d'autres
caractères, alors il faut les spécifier avec l'option -t
de la commande sort.
Par exemple, sort -t ';' +3 nom_fichier,
effectue le même tri en considérant le ; comme le caractère
séparateur entre mots.
EXERCICE
|
6.17 Deux fichiers sont-ils identiques
?
La commande diff f1 f2
imprime les lignes qui diffèrent entre deux fichiers f1 et
f2.
7. Droits associés aux
fichiers et répertoires
Les fichiers et répertoires
sont associés à des droits de manipulation qui dépendent
de l'utilisateur courant.
Tout utilisateur possédant un login est identifié au niveau du système Unix par son numéro d'utilisateur qui est unique. En outre, afin de pouvoir classifier les utilisateurs et leur donner des droits d'accès en fonction de leur rôle, ceux-ci appartiennent à des groupes.
Le système Unix permet de restreindre les droits d'accès à un fichier ou répertoire en fonction du groupe de l'utilisateur courant, si celui-ci n'est pas le propriétaire du fichier ou répertoire.
Plus précisément, la ligne suivante, obtenue avec la commande ls -l indique (de droite à gauche) :
1. le fichier TD1 a été modifié le 24 septembre à 17H54
2. sa taille en octets est 12543
3. le groupe associé au fichier est staff
4. l'utilisateur qui possède ce fichier est durand
5. le fichier est un fichier " normal " (un répertoire est représenté par d, un lien par l)
6. durand a le droit de lire, modifier et exécuter TD1 (rwx pour read write execute)
7. les membres du groupe staff ont le droit de lire et exécuter TD1 (r-x)
8. les autres utilisateurs n'ont
que le droit de lire (r--)
On peut également utiliser le codage octal (utile pour exprimer une valeur sur 3 bits). Par exemple, chmod 754 TD1 effectue les opérations suivantes :
EXERCICE
b. Analysez la session suivante : $ -rw-r-r-1 genthial interv 147 oct 10 16 :55 essai $ essai $ sh : essai : cannot execute |
Il est possible, par la commande man, d'obtenir des informations sur le fonctionnement d'une commande (en particulier, sur les options disponibles). Pour ceci, il faut taper man numéro-du-manuel nom-de-la-commande. Le numéro du manuel est optionnel. La commande particulière man intro donne la liste des commandes disponibles. Les manuels sont organisés de la manière suivante :
EXERCICE
Lire les explications associées à différentes commandes (par exemple, ls, cp, chmod) au travers de man et xman. |
9- L'éditeur de texte Axe
Avec l'environnement Unix, un éditeur assez simple d'utilisation pour écrire des programmes est axe. Pour lancer cet éditeur, il suffit de taper axe au niveau du shell. On peut d'ailleurs appeler axe avec un ou plusieurs fichiers initiaux (axe peut manipuler plusieurs fichiers en parallèle, dans une ou plusieurs fenêtres).
Quand la fenêtre initiale
de l'éditeur s'affiche et que vous l'avez lancée sans nom
de fichier, il faut cliquer sur edit pour aller dans l'éditeur.
A partir de ce moment :
EXERCICE
b. Créez un nouveau fichier et effectuez des copies de données entre exemple.texte et ce nouveau fichier c. Faites des manipulations de buffers et de fenêtres |
10- Commandes d'impression
On peut imprimer un fichier texte par la commande lp nom-de-fichier. Il est possible de savoir si une impression a été lancée par la commande lpstat. La réponse indique les impressions " en attente d'être traitées ". Pour retirer un fichier de la file d'attente, il faut utiliser la commande lpstat, noter le numéro associé au fichier, puis taper cancel numéro-associé-au-fichier.
11. Messagerie électronique
Le mail est un programme qui permet
d'envoyer et de recevoir du courrier par voie électronique.
Une interface conviviale pour traiter
son courrier est celle fournie par le navigateur Netscape,
dont l'utilisation est la suivante :
Un autre outil de messagerie électronique est dtmail (/usr/dt/bin/dtmail, disponible sur certains serveurs seulement), dont les principales commandes sont les suivantes :
EXERCICE
b. Recevez le message que l'on vous a envoyé c. Répondez au message d. Placez ce message dans un folder donné, ou bien détruisez-le |
12- Archivage et compression de
répertoires et fichiers
L'archivage et la compression de
répertoires et fichiers peuvent être requis pour effectuer
des sauvegardes de données, ou bien pour transférer des données
sur le réseau, par exemple d'un utilisateur à un autre. La
commande tar permet de produire une archive à partir d'un
répertoire donné :
tar cvf nom_archive nom_répertoire
L'archive créée contient toutes les données se trouvant sous nom_répertoire, et mémorise l'organisation en fichiers de ces données. La commande qui permet de reproduire cette organisation a partir de l'archive produite est la suivante :
tar xvf nom_archive nom_répertoire
La compression est un mécanisme qui permet de réduire la taille mémoire occupée par des données en leur appliquant un algorithme de compression. La commande gzip effectue de la compression.
gzip
nom_fichier
produit le fichier compressé de nom nom_fichier.gz
gunzip nom_fichier.gs
reproduit le fichier nom_fichier
EXERCICE
Creez un nouveau répertoire temporaire (TEST) Copiez RENTREE1.tar.gz dans TEST Allez dans TEST et reproduisez le répertoire RENTREE1 à partir de son archive. Par mail, envoyez a vous-même ou a un autre binome l'archive compréssée RENTREE1.tar.gz, au moyen d'un attachement de fichier. Vérifiez en décompréssant et "désarchivant" que les données recues sont correctes. |
La plupart des informations concernant la vie du DESS IDC sont accessibles au travers du réseau Intranet de l'UFR IMA, à l'adresse http///www-ufrima.imag.fr.
Pour accéder à cette adresse, il faut lancer le navigateur puis taper l'adresse dans le champ de saisie nommé location. La validation de cette saisie par un return entraîne automatiquement la connexion aux informations IDC.
Ensuite, vous pouvez vous balader
parmi les divers menus proposés. Cliquer en particulier sur Infos
Dess Idc, puis sur accès local.
EXERCICE
Cliquez sur RENTREE2.tar.gz, qui représente l'archive compréssée des fichiers requis pour les séances 3 et 4 du stage de rentrée Rapatriez cette une archive chez vous (par exemple, dans un répertoire RENTREE2). Décompréssez et "désarchivez" ces données recues. |