td2

5
Initiation ` a l’informatique II. Commandes Unix Universit´ e de Provence Licence Sciences et Technologies & PEI Ann´ ee 2011-2012 Principales commandes Manipulations de r´ epertoires pwd affiche le nom du r´ epertoire courant cd change le r´ epertoire courant mkdir cr´ ee un r´ epertoire rmdir supprime un r´ epertoire (s’il est vide) ls affiche la liste des fichiers et sous-r´ epertoires d’un r´ epertoire Manipulation de fichiers cp copie un fichier source dans un fichier ou r´ epertoire destination mv change le nom d’un fichier ou le d´ eplace rm supprime un ou plusieurs fichiers et sous-r´ epertoires cat affiche le contenu d’un fichier texte head affiche le d´ ebut d’un fichier tail affiche la fin d’un fichier wc compte les mots, lignes ou caract` eres d’un fichier more affiche le contenu d’un fichier texte page par page chmod modifie les droits d’un fichier umask positionnement des droits par d´ efaut chown changement du propri´ etaire d’un fichier chgrp changement du groupe d’un fichier Gestion des processus ps affiche les informations sur les processus en m´ emoire top idem de fa¸ con dynamique et tri´ ee kill envoie un signal ` a un processus nice modifie la priorit´ e d’un processus Commandes diverses man affiche l’aide sur les commandes unix clear efface l’´ ecran (C-l) set affiche les variables d’environnement alias efinition de synonymes ln lie un fichier ` a un autre at ex´ ecution diff´ er´ ee d’une commande grep recherche d’une chaˆ ıne dans un fichier diff compare le contenu de deux fichiers date affiche la date courante time affiche l’heure du syst` eme ou le temps d’ex´ ecution d’une commande du espace occup´ e sur le disque find recherche d’un fichier sort filtre permettant l’affichage selon un crit` ere de tri Exercice II.1 (Chemins absolus et relatifs) Nous consid´ erons l’arborescence d´ ecrite dans la figure 1. 1. Le r´ epertoire courant ´ etant /home/etud/info1/dupont/sys, donner pour chaque r´ ef´ erence relative son ´ equivalence en absolu : (a) . (b) .. (c) ../../FORUM 1

description

2222

Transcript of td2

  • Initiation a` linformatique

    II. Commandes Unix

    Universite de ProvenceLicence Sciences et Technologies & PEI

    Annee 2011-2012

    Principales commandes

    Manipulations de repertoirespwd ache le nom du repertoire courantcd change le repertoire courantmkdir cree un repertoirermdir supprime un repertoire (sil est vide)ls ache la liste des fichiers et sous-repertoires dun repertoire

    Manipulation de fichierscp copie un fichier source dans un fichier ou repertoire destinationmv change le nom dun fichier ou le deplacerm supprime un ou plusieurs fichiers et sous-repertoirescat ache le contenu dun fichier textehead ache le debut dun fichiertail ache la fin dun fichierwc compte les mots, lignes ou caracte`res dun fichiermore ache le contenu dun fichier texte page par pagechmod modifie les droits dun fichierumask positionnement des droits par defautchown changement du proprietaire dun fichierchgrp changement du groupe dun fichier

    Gestion des processusps ache les informations sur les processus en memoiretop idem de facon dynamique et trieekill envoie un signal a` un processusnice modifie la priorite dun processus

    Commandes diversesman ache laide sur les commandes unixclear eace lecran (C-l)set ache les variables denvironnementalias definition de synonymesln lie un fichier a` un autreat execution dieree dune commandegrep recherche dune chane dans un fichierdiff compare le contenu de deux fichiersdate ache la date courantetime ache lheure du syste`me ou le temps dexecution dune commandedu espace occupe sur le disquefind recherche dun fichiersort filtre permettant lachage selon un crite`re de tri

    Exercice II.1 (Chemins absolus et relatifs)Nous considerons larborescence decrite dans la figure 1.

    1. Le repertoire courant etant /home/etud/info1/dupont/sys, donner pour chaque reference relativeson equivalence en absolu :

    (a) .

    (b) ..

    (c) ../../FORUM

    1

  • /dev home var

    etud lib bin share

    info1 info2 info3

    dupont

    tmp Mail sys prog

    FORUM

    pub

    CSH

    liste.t demo.c

    SYS PROG

    CSH

    tp1.tx tp2.tx

    Figure 1 Exemple darborescence

    (d) ../../../info2

    (e) ../../../../../var/lib

    (f) CSH/liste.t

    (g) ../prog

    2. Le repertoire courant etant /home/etud/info1/dupont/sys, donner pour chaque reference absolueson equivalence en relatif :

    (a) /home/etud/info1/dupont

    (b) /home/etud/info1/dupont/sys

    (c) /home/etud/info1/dupont/sys/CSH/demo.c

    (d) /home/etud

    (e) /

    (f) /var/share

    (g) /home/etud/info1/FORUM

    (h) /home/etud/info2

    Exercice II.2 (Operations sur les fichiers)Nous considerons larborescence decrite dans la figure 1. Le repertoire courant etant /home/etud/info1/dupont/sys,donner les instructions pour eectuer les operations suivantes (dans lordre) :

    1. copier le fichier /home/etud/info1/dupont/sys/CSH/liste.t dans le repertoire /home/etud/info2

    2. supprimer le fichier /home/etud/info1/dupont/sys/CSH/demo.c

    3. se deplacer dans le repertoire /home/etud/info1/dupont/sys/CSH

    4. renommer le fichier liste.t en liste.txt

    5. deplacer le fichier tp1.tx du repertoire /home/etud/info1/FORUM/pub/SYS/CSH dans le repertoire/home/etud/info1/dupont/tmp

    6. deplacer le fichier tp2.tx du repertoire /home/etud/info1/FORUM/pub/SYS/CSH dans le repertoire/home/etud/info1/dupont/tmp mais en le renommant exo.txt

    7. se deplacer dans /

    8. se deplacer dans le repertoire de connexion

    2

  • Caracte`res generiques

    Les caracte`res speciaux ou generiques (wildcard characters) permettent de designer un ensemble dob-jets et notamment un ensemble de noms de fichiers. Ils sappliquent donc aux parame`tres de commandesdesignant des noms de fichiers.

    Ils peuvent aussi designer un ensemble de chanes de caracte`res. On parle alors dexpressions regulie`resqui sappliquent aux commandes deditions (ex. vi, sed, ...) ou a` des filtres (grep, awk, ...).

    Les caracte`res associes a` des noms de fichiers * designe toutes les chanes de caracte`res, y compris la chane vide ; ? designe un caracte`re quelconque ; [c1 . . . cn] designe un caracte`re quelconque appartenant a` la liste c1, . . . , cn. Deux caracte`res separes

    par un tiret ([c1c2]) definissent une liste de caracte`res ranges selon lordre ASCII, dont le premierelement est le caracte`re c1 et le dernier element le caracte`re c2 ;

    [^c1 . . . cn] designe une liste de caracte`re a` exclure ; {s1, ..., sn} designe une liste de chanes de caracte`res.

    Il est possible dannuler linterpretation dun caracte`re special en le faisant preceder de lantislash (\).Lannulation de plusieurs caracte`res speciaux se fait en les encadrant de lapostrophe () ou de lapostrophedouble (").

    Exercice II.3 (Caracte`res generiques)Le repertoire courant contient les fichiers suivants : abc.s, a?c.svt, a\?c.svt, codage, codage.c, fichier.txt,texte.

    A quels fichiers correspondent les commandes suivantes :

    1. ls *

    2. ls *.*

    3. ls *.?

    4. ls ?.?

    5. ls f*.txt

    6. ls f*r

    7. ls *c*t

    8. ls a?c*

    9. ls a/?c.*

    10. ls a\?c.*

    11. ls a\\\?c.*

    12. ls *[ac]*

    13. ls *[^ac]*

    Exercice II.4 (Caracte`res generiques, bis)Donner la commande qui permet dacher les fichiers ayant les caracteristiques suivantes :

    1. un nom commencant et finissant par f

    2. un nom commencant par f et finissant par a ou b

    3. un nom commencant par f et ne finissant ni par a ni par b

    4. un nom de trois lettres

    5. un nom de trois lettres commencant par a, b ou c

    6. un nom avec un suxe de trois lettres

    7. un nom commencant par un chire

    8. un nom contenant la chane abc ou def

    9. un nom ayant a en premie`re ou deuxie`me position

    3

  • Droits dacce`s

    A` chaque fichier est associe un ensemble dindicateurs precisant qui peut acceder au fichier et selonquel mode. Pour chaque fichier, il existe 3 types dutilisateurs :

    le proprietaire du fichier (u pour user) les membres du groupe proprietaire du fichier (g pour group) les autres utilisateurs du syste`me (o pour others)Pour chaque fichier et par type dutilisateur, il existe 3 modes dacce`s : autorisation de lecture (r pour read) autorisation decritre (w pour write) autorisation dexecution (x pour execute)Pour un repertoire, les modes dacce`s ont un sens lege`rement dierent : r autorise a` lister le contenu du repertoire par la commande ls w autorise la creation et suppression de fichiers dans le repertoire x autorise a` acceder au repertoire par la commande cd

    Exercice II.5 (Droits dacce`s)

    1. Determiner les types et les droits dacce`s de chaque utilisateur pour chaque entree :- r w x - - - - - - essai- r w - r - - r - - resume.txtd r w x r - x - - x bilanl r w x r w - r w - raccourci

    2. Quels sont les droits donnes au fichier essai par les commandes suivantes : chmod 700 essai ; chmod 601 essai ; chmod 754 essai ; chmod 234 essai

    3. Quels sont les droits donnes au fichier essai par les commandes suivantes (on conside`re que lescommandes sont donnees les unes apre`s les autres) : chmod a-rwx essai ; chmod u+r,go+x essai ; chmod g+w,o=w essai ; chmod u+x,go-x essai

    Exercice II.6 (Droits dacce`s, bis)On commence par taper les commandes suivantes :$ who am [email protected]$ ls -l

    - r w x - - - - - - dupond codage- r - x r - - r - - dupont pgcdd r - - - - - - - - dupont reserve- r w x r - - r - - dupont resume.txt- - - - - - - - - - dupont secret.txtd - - - - - - - - - dupont vided r w x - - x - - x dupond bilan

    Que font alors les instructions suivantes ? Fonctionnent-elles ? Si non, pourquoi ?$ cat resume.txt$ more secret.txt$ ./pgcd$ ./codage$ chmod 777 codage$ ls reserve$ cp resume.txt pgcd$ rm pgcd$ ls bilan$ cd bilan

    4

  • Redirections

    Les commandes Unix utilisent 3 fichiers standards pour leurs entrees-sorties : stdin : le fichier dentree standard, canal 0 stdout : le fichier de sortie standard, canal 1 stderr : le fichier de sortie derreur standard, canal 2. Quand une commande produit une erreur, le

    message derreur est envoye sur cette sortie.

    Cependant il est possible de recuperer le contenu des sorties standards dans des fichiers, ainsi que deprendre le contenu dun fichier comme entree standard. Ces operations sont appelees des redirections.

    < fichier : redirection de lentree standard a` partir de fichier > fichier : redirection de la sortie standard vers fichier 2> fichier : redirection de la sortie derreur standard vers fichier >> fichier : redirection de la sortie standard vers fichier en ajout cmd1 | cmd2 : redirection de la sortie standard de la commande cmd1 vers lentree standard de la

    commande cmd2

    Exercice II.7 (Redirections)Le repertoire courant contient les fichiers suivants : essai.c, essai, essai.o, script.pl et script.res.

    Pour chacune des instructions suivantes, que contiennent les fichiers de sortie ?

    1. ls > f1

    2. wc -w < f1

    3. ls >> f1

    4. wc -l < f1 > f2

    5. (ls *.java > f1) 2> f2

    6. (ls -l essai vide > f1) 2> f2

    7. (ls -l essai.c > f1) 2> f2

    8. ls -l | wc -l > f1

    Exercice II.8 (cat et redirections)La commande cat lit les donnees sur lentree standard jusqua` la rencontre dune marque de fin de fichier,marquee par (C-d) et les place sur la sortie standard. La commande sort trie les donnees de lentreestandard vers la sortie standard. En utilisant lune ou lautre de ces deux commandes et les redirections,

    1. comment faire la saisie dun fichier ?

    2. comment copier un fichier ?

    3. comment fusionner deux fichiers vers un troisie`me ?

    4. comment trier les donnees saisies au clavier ?

    5. comment trier les donnees dun fichier vers un autre ?

    6. comment fusionner deux fichiers en triant leurs donnees ?

    5