Soutien Informatique 1ère année de DUT Réseaux et Télécommunications - Université d'Auvergne

7

Click here to load reader

description

Cours de soutien d'informatique (module I1 du DUT Réseaux et Télécommunications) réalisé par Aurore Vergne et Rémi Voirin.Année scolaire 2010-2011

Transcript of Soutien Informatique 1ère année de DUT Réseaux et Télécommunications - Université d'Auvergne

Page 1: Soutien Informatique 1ère année de DUT Réseaux et Télécommunications - Université d'Auvergne

Vergne A. – Voirin R. Semaine du 18/10/10 IUT Clermont 1 – Département Réseaux et Télécommunications

Soutien I1 - Séance 1 PARTIE 1 : Créer l’arborescence suivante : Sur le bureau : soutien-s1 dossier1 sousdossier1-1 fichier1-1.txt sousdossier1-2 dossier2 sousdossier2-1 sousdossier2-1-1 dossier3 Afficher l’arborescence Écrire dans le fichier1-1.txt avec la commande ‘‘echo’’ Afficher le contenu de ce fichier. Écrire à la suite fichier1-1.txt avec la commande ‘‘echo’’ Afficher le contenu de ce fichier. Afficher le contenu de fichier1-1.txt en utilisant un chemin absolu. En étant dans sousdossier2-1-1, afficher le contenu de fichier1-1.txt en utilisant un chemin relatif. Copier dans le sousdossier1-2 le fichier1-1.txt Copier dans le sousdossier1-1 le fichier1.txt en le renommant en fichier1-2.txt Supprimer le fichier1-2.txt Perdu dans une arborescence ? La commande $ pwd qui permet d’afficher le répertoire courant s’avère très utile. PARTIE 2 : Afficher les droits sur fichiers1-1.txt Modifier les droits de fichier1-1.txt pour que le propriétaire ait le droit en lecture, écriture et exécution, pour que le groupe ait les droits en lecture et écriture et pour que les autres n’aient que le droit en lecture. PARTIE 3 : (pour les plus rapides… cette partie figurera dans le prochain cours de soutien) Dans dossier2, créer un lien symbolique du fichier1-1.txt, visualiser son contenu ainsi que ses droits. Le supprimer. Qu’est-il arrivé au fichier1-1.txt ? Dans dossier2, créer un lien symbolique du fichier1-1.txt. Déplacer le fichier1-1.txt. Que se passe-t-il au niveau du lien ?

Page 2: Soutien Informatique 1ère année de DUT Réseaux et Télécommunications - Université d'Auvergne

Vergne A. – Voirin R. Semaine du 18/10/10 IUT Clermont 1 – Département Réseaux et Télécommunications

Explications sur les droits Les droits sont visibles grâce à la commande : $ ls –l Il existe trois droits différents que l’on peut assigner pour trois ‘‘types d’utilisateurs’’ r : droit en lecture w : droit en écriture x : droit en exécution rwx rwx rwx propriétaire (u) : équivaut à la personne qui a créer le fichier ; utilisateur unique groupe (g) : utilisateurs membre du même groupe que le propriétaire du fichier. A l’IUT, les 1ère années ont leur propre groupe. De même pour les 2ème années et les licences. autres (o) : utilisateurs qui ne sont pas dans le même groupe que le propriétaires Attribution des droits : r w x En décimal 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7 Pour donner tous les droits à tous le monde : rwx rwx rwx 7 7 7 è $ chmod 777 fichier1-1.txt Pour que seul le propriétaire est le droit d’exécution en plus des droits de lecture et d’écriture, le groupe et les autres ont le droit de lecture. rwx r-- r-- 7 4 4 è $ chmod 744 fichier1-1.txt Pour donner à tout le monde le droit d’écriture et de lecture. rw- rw- rw- 6 6 6 è $ chmod 666 fichier1-1.txt Autre méthode : Pour donner tous les droits à tous le monde : rwx rwx rwx è $ chmod ugo=rwx fichier1-1.txt Pour que seul le propriétaire est le droit d’exécution en plus des droits de lecture et d’écriture (les autres droits sont laissés par défaut). rwx r-- r-- è $ chmod u+x fichier1-1.txt Pour donner à tout le monde le droit d’écriture et de lecture. rw- rw- rw- è $ chmod ugo=rw fichier1-1.txt (NB : si le propriétaire avait le droit x, celui-ci est enlevé)

Donner un droit = le mettre à 1

Page 3: Soutien Informatique 1ère année de DUT Réseaux et Télécommunications - Université d'Auvergne

Vergne A. – Voirin R. Semaine du 02/11/10 IUT Clermont 1 – Département Réseaux et Télécommunications

Soutien I1 - Séance 2 PARTIE I : liens

ü Créer l’arborescence suivante sur votre bureau : soutien-s1 dossier1 dossier2

Dans dossier1, créer le fichier fic.txt.

ü Dans dossier2, faire un lien symbolique vers fic.txt. Ce lien s’appellera lienfic.txt. Faire un $ cat nom_du_lien. Que s’affiche-t-il ?

ü Renommer fic.txt en fic2.txt. Le lien symbolique (lienfic.txt) fonctionne-t-il toujours ? Comment le vérifier ?

Indice : renommer un fichier revient à le changer de place.

ü Faire un lien physique dans dossier2. Il sera nommé lienphys.txt et pointe vers fic2.txt qui est dans dossier1. Entrer la commande $ ls –il dans dossier1 et dossier2. Que remarque-t-on au sujet du numéro d’inode de fic2.txt et lienphys.txt ?

Remarque : le numéro d’inode correspond au numéro d’emplacement d’un fichier sur le disque

ü Supprimer fic2.txt. Qu’arrive-t-il à lienphys.txt ? PARTIE 2 : processus

ü Donner une commande permettant d’afficher tous les processus, avec au minimum son PID, son PPID et l’utilisateur auquel ils appartiennent.

ü Lancer xeyes à l’aide d’un autre terminal.

Quel est le PID de xeyes ? Quel est son PPID ? Trouver le nom du processus père de xeyes grâce à la commande donnée au point précédent.

ü Que fait la commande $ kill -9 PID ? L'utiliser sur xeyes.

Indices :

Le PPID est le PID du processus père. L 'uti l isation de grep pour isoler une chaine de caractères quelconques lors d 'une

recherche est très pratique. PARTIE 3 : script shell Rappel : ne pas oublier d’ajouter le droit d’exécution au fichier ! $ chmod u+x script .sh

ü Écrire un script qui affiche le nombre d’arguments passés en paramètre. ü Le compléter pour qu’il calcule la somme de ses paramètres et l’affiche.

Exemple : $ ./script.sh 8 4 6 2 4 20

Page 4: Soutien Informatique 1ère année de DUT Réseaux et Télécommunications - Université d'Auvergne

Vergne A. – Voirin R. Semaine du 08/11/10 IUT Clermont 1 – Département Réseaux et Télécommunications

Soutien I1 - Séance 3 Rappel : ne pas oublier d’ajouter le droit d’exécution au fichier ! $ chmod u+x nom_du_script .sh PARTIE I : Comprendre les différentes entrées d'un script

1/ Lecture des paramètres (identique à la séance 2) Les nombres à additionner sont passés en paramètres c 'est-à-dire qu'i ls sont écrits juste après le nom du programme et séparés par un espace.

ü Écrire un script qui affiche le nombre d’arguments passés en paramètre. ü Le compléter pour qu’il calcule la somme de ses paramètres et l’affiche.

Exemple : $ ./script.sh 8 4 6 2 4 20

2/ Lecture de l'entrée standard Les nombres à additionner sont saisis au fur et à mesure par l 'uti l isateur. La saisie se passe de la façon suivante : l 'uti l isateur tape un chiffre puis fait "Enter" et ainsi de suite. Pour terminer la saisie, i l faut faire "Ctrl+D".

ü Écrire un script qui calcule la somme des nombres saisis par l'utilisateur et l'affiche. Exemple : $ ./script.sh 8 4 6 2 20

3/ Lecture d'un fichier Les nombres sont contenus dans un fichier que l 'on passe en paramètre au script . I l contient un nombre par l igne.

ü Écrire un script qui calcule la somme des nombres saisis par l'utilisateur et l'affiche. Exemple : $ ./script.sh nombres.txt 20 PARTIE II : Menu pour la commande ps

ü Écrire un script qui affiche un menu pour la commande $ ps. Exemple :

$ ./menups.sh Menu de la commande ps 1) ps 2) ps –e 3) ps –l 4) pstree 0) Quitter

 

Page 5: Soutien Informatique 1ère année de DUT Réseaux et Télécommunications - Université d'Auvergne

Vergne A. – Voirin R. Semaine du 08/11/10 IUT Clermont 1 – Département Réseaux et Télécommunications

Soutien I1 - Séance 3 (correction) PARTIE I : Comprendre les différentes entrées d'un script

1/ Lecture des paramètres (identique à la séance 2) #!/bin/bash echo $# param=$1 somme=0 for param in $* do somme=$(($somme+$param)) done echo $somme exit 0

2/ Lecture de l'entrée standard #!/bin/bash somme=0 while read nombre do somme=$(($somme+$nombre)) done echo $somme exit 0

3/ Lecture d'un fichier #!/bin/bash somme=0 for i in `cat $1` do somme=$(($somme+$i)) done echo $somme exit 0 PARTIE II : Menu pour la commande ps #!/bin/bash while echo "Menu de la commande ps" do echo '1) ps' echo '2) ps -e' echo '3) ps -l' echo '4) pstree' echo '0) quitter' read rep case $rep in 1) ps ;; 2) ps -e ;; 3) ps -l ;; 4) pstree ;; 0) exit 0 ;; esac done

Page 6: Soutien Informatique 1ère année de DUT Réseaux et Télécommunications - Université d'Auvergne

Vergne A. – Voirin R. Semaine du 15/11/10 IUT Clermont 1 – Département Réseaux et Télécommunications

Soutien I1 - Séance 4 Rappel : ne pas oublier d’ajouter le droit d’exécution au fichier ! $ chmod u+x nom_du_script .sh PARTIE I : cette partie est identique à la PARTIE II de la séance 3

ü Écrire un script qui affiche un menu pour la commande $ ps. Exemple : PARTIE II : Test de condition

ü Écrire un script qui : - teste si son nombre de paramètres est égal à 2 et l'affiche. - teste si le premier paramètre est plus petit que le second, les paramètres sont

affichés puis additionnés. - sinon ils sont affichés puis soustrait.

Exemples :

Rappel : dans un if , i l faut mettre un crochet si l 'on compare deux éléments. I l faut mettre deux crochets si on teste un élément. Exemples :

- pour comparer si le première paramètre est plus grand que 2 : i f [$1 –lt 2] - pour tester l 'existence d 'un fichier nommé fichier1 . txt : i f [ [ -e f ichier1 . txt ] ]

PARTIE III : Avez-vous des questions sur vos cours, TD ou TP ?

$ ./menups.sh Menu de la commande ps 1) ps 2) ps –e 3) ps –l 4) pstree 0) Quitter

 

$ ./test.sh 2 8 Nombre de paramètres : 2 Paramètre 1 : 2 Paramètre 2 : 8 Addition : 10

$ ./test.sh 9 4 Nombre de paramètres : 2 Paramètre 1 : 9 Paramètre 2 : 4 Soustraction : 5

$ ./test.sh 6 7 9 Le nombre de paramètres n'est pas le bon !

Page 7: Soutien Informatique 1ère année de DUT Réseaux et Télécommunications - Université d'Auvergne

Vergne A. – Voirin R. Semaine du 15/11/10 IUT Clermont 1 – Département Réseaux et Télécommunications

Soutien I1 - Séance 4 (correction) PARTIE II : Test de condition #!/bin/bash if [ $# -eq 2 ] then echo "Nombre de paramètres : 2" if [ $1 -lt $2 ] then echo "Paramètre 1 : $1" echo "Paramètre 2 : $2" somme=$(($1+$2)) echo "Addition : $somme" else echo "Pamètre 1 : $1" echo "Paramètre 2 : $2" soustraction=$(($1-$2)) echo "Soustraction : $soustraction" fi else echo "Le nombre de paramètres n'est pas le bon !" fi exit 0