IUT de Villetaneuse GTR 2ième année

Introduction au Système UNIX

E. Viennet 15/09/03

TP No 1 - Rappels : utilisation de base
Le support de cours “Introduction à UNIX” est disponible au format HTML dans le répertoire : /home/users/TPGTR/CoursUnixGTR Le fichier toc.html contient la table des matières, et le fichier index.html l’index des commandes. Nous vous conseillons de supprimer les signets (bookmarks) originaux de votre navigateur (netscape), et d’ajouter des signets vers les pages du cours fréquement consultées. Les termes et commandes inconnus utilisés dans ce sujet sont définis dans le support de cours. On pourra aussi utiliser avec profit la commande man, qui permet d’afficher la documentation des commandes UNIX. EXERCICE 1 - Connexion au système Chaque étudiant possède un “compte” UNIX à son nom. Connectez vous à votre compte en suivant les indications de votre enseignant. Changez votre mot de passe, et notez-le en lieu sûr afin de ne jamais l’oublier (sans quoi vous ne pourriez plus travailler). Vérifiez (echo $SHELL) que votre shell de connexion (celui lancé par défaut) est /bin/bash. Si ce n’est pas le cas, changez le avec la commande ypchsh. Vous pouvez ouvrir une (ou plusieurs) fenêtres d’interpréteurs de commandes (shell). Attention, UNIX fait la différence entre les majuscules et les minuscules. La plupart des commandes doivent s’écrire en minuscules. Séparez toujours la commande de ses arguments par un ou plusieurs espaces (par exemple, écrire ls -l et non pas ls-l). 1- Commandes de base : révisez l’utilisation des commandes cd, mkdir, ls, rmdir, rm, cp, man, date, pwd, mv, echo. Si nécessaire, utilisez les pour faire le ménage sur votre compte. Organisez vos fichiers pour gagner du temps lors des différents TP. Vous devez avoir dans votre répertoire de connexion les répertoires suivants : – bin : scripts et commandes personnels ; – tmp : essais temporaires, à effacer régulièrement. – TP01, TP02, ... : exercices du TP 1, 2 ... Evitez toujours de laisser des fichiers dans votre répertoire de connexion. Utilisez les sousrépertoires. Cette discipline vous fera gagner du temps à long terme. EXERCICE 2 - Redirections, méta-caractères, divers... 1- Quelles différences voyez-vous entre les ls * et echo * ? Expliquez.
GTR2 2003-04 - E. Viennet

1

argv[1]) for i in range(n): f = open( ’f’ + str(i). afficher le nombre de lignes du fichier tous qui contiennent le chiffre 1.A l’aide d’une ligne de commande (redirection) et du programme somme.py dans votre répertoire de TP. 1. Faire la même chose avec un tube (commande cat). puis lancez python genf. 6. faire afficher la somme des nombres contenus dans le fichier tous. Le module os a une fonction listdir( rep ) qui retourne la liste des noms des fichiers et répertoires présents dans le répertoire rep. GTR2 2003-04 .close() Créez un fichier genf. EXERCICE 3 .2. sum Que fait ce programme ? Essayez le. Qu’observez-vous ? Quelle est la taille en octets des fichiers créés ? Pourquoi ? 3. 4.Quelle est la taille du fichier tous ? Combien de lignes comporte-t-il ? 5.Créer un répertoire “ProgPy” et le fichier source “nbfich. ’w’ ) f. Viennet 2 . créez un fichier “tous” dont le contenu soit la concaténation des fichiers précédement créés.Saisir le programme suivant dans le fichier somme.Que fait le programme Python suivant ? import sys n = int(sys.py. on va écrire un programme en langage Python qui affiche le nombre de fichiers et répertoires présents dans le répertoire courant.write( ’%s\n’ % i ) f.E. sum = 0 try: while 1: x = float(raw_input("entrez un nombre: ")) sum = sum + x except: print ’somme= ’.Rappel : Langage Python Dans cet exercice.A l’aide d’une seule commande shell.A l’aide des commandes grep et wc.py. y saisir le code du programme.py 16. 7.py” avec emacs .

py (nous étudierons cette commande en détail plus tard). GTR2 2003-04 . EXERCICE 4 . afficher toutes les lignes contenant le mot include dans les fichiers d’extension . La valeur des variables d’environnement est de type chaîne de caractère. il faut indiquer sur la première ligne du fichier . Pour cela : 1.Afficher (avec find) les noms de tous les fichiers du répertoire /usr ayant une taille supérieure à 250Ko. les fonctions de base sont getenv() et setenv() (voir les pages de manuel pour plus d’informations).py” 3. EXERCICE 5 .environ[’HOST’] est une chaine de caractères donnant le nom de la machine. le module os contient un dictionnaire nommé environ qui associe à chaque nom de variable d’environnement sa valeur. après le PATH : export PATH="$PATH":. il faut indiquer au système que ce fichier est exécutable. En langage Python. En langage C.Commande find 1. os. Par exemple. La commande env affiche toutes les variables d’environnement. La commande export permet d’indiquer qu’une variable doit être “exportée” vers les processus fils (elle est placée dans “l’environnement”).Variables d’environnement en shell (sh) Les variables d’environnement sont des variables transmises par le système d’exploitation à tous les processus.py qu’il s’agit d’un programme python : la première ligne du fichier doit être #!/usr/bin/env python 2. on identifie les variables par leur nom précédé d’un $.A l’aide des commandes find et grep. Depuis le shell sh ou bash. 2. Ensuite. Les programmes écrits dans des langages compilés ou interprétés peuvent accéder aux variables d’environnement dont ils héritent. qui vaut “hello” : TRUC=hello (Attention : pas d’espaces autour du signe égal !) – Exporter la variable TRUC : export TRUC – Ajouter le répertoire .h situés dans le répertoire /usr/include et tous ses sous-répertoires. ici en général le shell).2.Comment lancer l’exécution en partant d’un autre répertoire ? 4. 3. Exemples : – Affichage de la variable PATH : echo $PATH – Crée la variable TRUC. en entrant la commande shell : chmod a+x nbfich. Chaque processus hérite des variables de son père (le processus qui l’a lancé. on va le rendre “exécutable”.Tester le programme en tapant “python nbfich.E.Afficher les noms de tous les fichiers du répertoire /var ayant été modifiés après votre répertoire de connexion. Ces variables peuvent être consultées ou modifiées. Viennet 3 .Pour simplifier l’utilisation de ce programme.

?? Que se passe-t-il lors de la première commande (ligne 0) ? (comparer avec ce qui arrive lorsque Python évalue une variable qui n’existe pas). La commande sh (ligne 4) ouvre un nouveau shell. EXERCICE 6 . qui hérite des variables de l’ancien. l’affiche lance un nouveau shell affiche la valeur de TRUC ? une autre variable .py créé précedement).E. Étudier la séquence de commandes shell suivante : 0 1 2 3 4 5 6 7 8 9 10 11 echo $ZORGLUB export TRUC=machin TRAC=22 echo $TRUC $TRAC sh echo $TRUC ECHO $TRAC export TRUCBIS=hoho echo $TRUCBIS exit echo $TRUC echo $TRUCBIS . . 5. Pour modifier le PATH de façon permanente. Quelle est la valeur de PATH ? 2. vous pouvez placer vos exécutables préférés dans votre répertoire bin. cette var. A l’avenir.Le shell recherche les commandes dans la liste des répertoires indiqués dans la variable d’environnement PATH. Vérifier que vous pouvez maintenant lancer l’exécution de nbfich.Afficher la liste des variables d’environnement. Ajouter ce répertoire bin à votre PATH.bashrc). Viennet 4 . termine le second shell . . 4. placer la commande de modification (3) dans le fichier de configuration de votre shell (~/. cree la variable TRUC . Que s’affiche-t-il à la ligne 9 ? Expliquer pourquoi. Quel genre d’informations trouve-t-on ? 2. 3. n’existe pas ! . .py quel que soit le répertoire courant. Créer (s’il n’existe pas déjà) dans votre répertoire de connexion un sous-répertoire nommé bin et y placer un exécutable (par exemple le programme nbfich. .Propagation des variables d’environnement. GTR2 2003-04 . 1.1.

Sign up to vote on this title
UsefulNot useful