Vous êtes sur la page 1sur 7

Vergne A. Voirin R.

Semaine du 18/10/10 IUT Clermont 1 Dpartement Rseaux et Tlcommunications

Soutien I1 - Sance 1
PARTIE 1 : Crer larborescence suivante : Sur le bureau : soutien-s1 dossier1 sousdossier1-1 fichier1-1.txt sousdossier1-2 dossier2 sousdossier2-1 sousdossier2-1-1 dossier3 Afficher larborescence 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 dafficher le rpertoire courant savre trs utile. PARTIE 2 : Afficher les droits sur fichiers1-1.txt Modifier les droits de fichier1-1.txt pour que le propritaire ait le droit en lecture, criture et excution, pour que le groupe ait les droits en lecture et criture et pour que les autres naient que le droit en lecture. PARTIE 3 : (pour les plus rapides cette partie figurera dans le prochain cours de soutien) Dans dossier2, crer un lien symbolique du fichier1-1.txt, visualiser son contenu ainsi que ses droits. Le supprimer. Quest-il arriv au fichier1-1.txt ? Dans dossier2, crer un lien symbolique du fichier1-1.txt. Dplacer le fichier1-1.txt. Que se passe-t-il au niveau du lien ?

Vergne A. Voirin R.

Semaine du 18/10/10 IUT Clermont 1 Dpartement Rseaux et Tlcommunications

Explications sur les droits


Les droits sont visibles grce la commande : $ ls l Il existe trois droits diffrents que lon peut assigner pour trois types dutilisateurs r : droit en lecture w : droit en criture x : droit en excution rwx rwx rwx propritaire (u) : quivaut la personne qui a crer le fichier ; utilisateur unique groupe (g) : utilisateurs membre du mme groupe que le propritaire du fichier. A lIUT, les 1re annes ont leur propre groupe. De mme pour les 2me annes et les licences. autres (o) : utilisateurs qui ne sont pas dans le mme groupe que le propritaires Attribution des droits : r 0 0 0 0 1 1 1 1 w 0 0 1 1 0 0 1 1 x 0 1 0 1 0 1 0 1 En dcimal 0 1 2 3 4 5 6 7

Donner un droit = le mettre 1

Pour donner tous les droits tous le monde : rwx rwx rwx 7 7 7 $ chmod 777 fichier1-1.txt Pour que seul le propritaire est le droit dexcution en plus des droits de lecture et dcriture, 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 dcriture et de lecture. rw- rw- rw6 6 6 $ chmod 666 fichier1-1.txt Autre mthode : Pour donner tous les droits tous le monde : rwx rwx rwx $ chmod ugo=rwx fichier1-1.txt Pour que seul le propritaire est le droit dexcution en plus des droits de lecture et dcriture (les autres droits sont laisss par dfaut). rwx r-- r-- $ chmod u+x fichier1-1.txt Pour donner tout le monde le droit dcriture et de lecture. rw- rw- rw- $ chmod ugo=rw fichier1-1.txt (NB : si le propritaire avait le droit x, celui-ci est enlev)

Vergne A. Voirin R.

Semaine du 02/11/10 IUT Clermont 1 Dpartement Rseaux et Tlcommunications

Soutien I1 - Sance 2
PARTIE I : liens
Crer larborescence suivante sur votre bureau : soutien-s1 dossier1 dossier2 Dans dossier1, crer le fichier fic.txt. Dans dossier2, faire un lien symbolique vers fic.txt. Ce lien sappellera lienfic.txt. Faire un $ cat nom_du_lien. Que saffiche-t-il ? Renommer fic.txt en fic2.txt. Le lien symbolique (lienfic.txt) fonctionne-t-il toujours ? Comment le vrifier ?

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 numro dinode de fic2.txt et lienphys.txt ?

Remarque : le numro dinode correspond au numro demplacement dun fichier sur le disque
Supprimer fic2.txt. Quarrive-t-il lienphys.txt ?

PARTIE 2 : processus
Donner une commande permettant dafficher tous les processus, avec au minimum son PID, son PPID et lutilisateur auquel ils appartiennent. Lancer xeyes laide dun autre terminal. Quel est le PID de xeyes ? Quel est son PPID ? Trouver le nom du processus pre de xeyes grce la commande donne au point prcdent. Que fait la commande $ kill -9 PID ? L'utiliser sur xeyes.

Indices : Le PPID est le PID du processus pre. L'utilisation de grep pour isoler une chaine de caractres quelconque s lors d'une recherche est trs pratique.

PARTIE 3 : script shell


Rappel : ne pas oublier dajouter le droit dexcution au fichier ! $ chmod u+x script.sh
crire un script qui affiche le nombre darguments passs en paramtre. Le complter pour quil calcule la somme de ses paramtres et laffiche. Exemple : $ ./script.sh 8 4 6 2 4 20

Vergne A. Voirin R.

Semaine du 08/11/10 IUT Clermont 1 Dpartement Rseaux et Tlcommunications

Soutien I1 - Sance 3
Rappel : ne pas oublier dajouter le droit dexcution au fichier ! $ chmod u+x nom_du_script.sh
PARTIE I : Comprendre les diffrentes entres d'un script 1/ Lecture des paramtres (identique la sance 2) Les nombres additionner sont passs en paramtres c'est--dire qu'ils sont crits juste aprs le nom du programme et spars par un espace. crire un script qui affiche le nombre darguments passs en paramtre. Le complter pour quil calcule la somme de ses paramtres et laffiche. Exemple : $ ./script.sh 8 4 6 2 4 20 2/ Lecture de l'entre standard Les nombres additionner sont saisis au fur et mesure par l'utilisateur. La saisie se passe de la faon suivante : l'utilisateur tape un chiffre puis fait " Enter" et ainsi de suite. Pour terminer la saisie, il 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 paramtre au script. Il contient un nombre par ligne. 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

Vergne A. Voirin R.

Semaine du 08/11/10 IUT Clermont 1 Dpartement Rseaux et Tlcommunications

Soutien I1 - Sance 3 (correction)


PARTIE I : Comprendre les diffrentes entres d'un script 1/ Lecture des paramtres (identique la sance 2) #!/bin/bash echo $# param=$1 somme=0 for param in $* do somme=$(($somme+$param)) done echo $somme exit 0 2/ Lecture de l'entre 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

Vergne A. Voirin R.

Semaine du 15/11/10 IUT Clermont 1 Dpartement Rseaux et Tlcommunications

Soutien I1 - Sance 4
Rappel : ne pas oublier dajouter le droit dexcution au fichier ! $ chmod u+x nom_du_script.sh
PARTIE I : cette partie est identique la PARTIE II de la sance 3 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


PARTIE II : Test de condition crire un script qui : - teste si son nombre de paramtres est gal 2 et l'affiche. - teste si le premier paramtre est plus petit que le second, les paramtres sont affichs puis additionns. - sinon ils sont affichs puis soustrait. Exemples : $ ./test.sh 2 8 Nombre de paramtres : 2 Paramtre 1 : 2 Paramtre 2 : 8 Addition : 10 $ ./test.sh 9 4 Nombre de paramtres : 2 Paramtre 1 : 9 Paramtre 2 : 4 Soustraction : 5

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

Rappel : dans un if, il faut mettre un crochet si l'on compare deux lments. Il faut mettre deux crochets si on teste un lment. Exemples : - pour comparer si le premire paramtre est plus grand que 2 : if [$1 lt 2] - pour tester l'existence d'un fichier nomm fichier1.txt : if [[ -e fichier1.txt ]]
PARTIE III : Avez-vous des questions sur vos cours, TD ou TP ?

Vergne A. Voirin R.

Semaine du 15/11/10 IUT Clermont 1 Dpartement Rseaux et Tlcommunications

Soutien I1 - Sance 4 (correction)


PARTIE II : Test de condition #!/bin/bash if [ $# -eq 2 ] then echo "Nombre de paramtres : 2" if [ $1 -lt $2 ] then echo "Paramtre 1 : $1" echo "Paramtre 2 : $2" somme=$(($1+$2)) echo "Addition : $somme" else echo "Pamtre 1 : $1" echo "Paramtre 2 : $2" soustraction=$(($1-$2)) echo "Soustraction : $soustraction" fi else echo "Le nombre de paramtres n'est pas le bon !" fi exit 0