unité libre: scripts sous unix/ TD No1
Objectifs du TD : commandes sur les fichiers et commandes de base
Exercice 1: Dossiers, inodes
- Tapez les commandes ls, ls -l, ls -a,
et ls -i. Combinez les options en tapant ls -lai.
Expliquez
les différentes sorties obtenues.
- Créez un sous-dossier Scripts-Unix dans votre dossier
personnel avec la commande "mkdir Scripts-Unix"
- Déplacez vous dans le dossier Scripts-Unix à l'aide
de la commande "cd Scripts-Unix" et créez y les trois dossiers
"Td1", "test", unTest.
- Dans quel ordre s'affiche les fichiers lorsqu'on les liste avec
la commande ls ? Une convention usuelle (non
respectée pour les dossiers systèmes) est que la
première lettre du
nom des dossiers soient une majuscule tandis que celle du nom des
fichiers est une minuscule. Qu''estce qui motive cette convention ?
- Tapez "cd Scripts-unix; cd Scripts-Unix; ls -la; cd ..; ls -l.
A quoi est du le message d'erreur que vous avez eu ? Que
représentent les dossiers '.' et '..' ? Utilisez la commande pwd
pour
connaitre le dossier courant.
- Comparez le numéro d'inode du dossier Scripts-Unix et du
dossier "." situé dans le dossier Scripts-Unix. Expliquez.
Exercice 2: arborescence de fichier, notion de chemin
- Explorez le système. Regardez par exemple ce qui se
trouve à la
racine (dossier /).
- citez trois méthodes pour retourner dans votre dossier
personnel à l'aide de la commande cd et appliquez l'une d'entre
elle.
- on considère l'arborescence suivante:

- quel est le chemin absolu du dossier dudulle ?
- quel est le chemin de ce même dossier par rapport à
/etc ?
- quel est son chemin si vous êtes dans dudulle ?
- Donnez la suite de commandes nécessaires pour créer
l'arborescence suivante :

- Donnez la ou les commande(s) pour supprimer les dossiers Flan et
Pipo.
- Essayez de supprimer le dossier TravauxPratiques à l'aide
de rmdir. Que se passe-t-il ?
- Donnez la commande pour supprimer en une seule fois
TravauxPratiques et ses sous dossiers de TravauxPratiques.
Exercice 3 cp, mv: le retour des inodes
- Allez dans le dossier Td1 et créez un
fichier test.txt avec votre éditeur de texte favori
(par exemple: xemacs test.txt). Utilisez votre
imagination pour écrire quelques
lignes dans votre fichier et enregistrez-le (CTRL-x puis CTRL-s
ou via les menus) et quittez (CTRL-x puis CTRL c. ou via les menus).
- Visualisez le contenu du fichier avec les commandes cat,
more, less et tac (utilisez le man
pour en savoir plus sur ces
commandes). Indiquez dans votre rapport de td ce que fait chacune de
ses commandes.
- Renommez votre fichier avec la commande mv test.txt
test_2.txt. Observez le résultat avant et après avec
ls et
ls -i. Que constatez-vous ?
- Créez un dossier Test ainsi qu'un sous-dossier
Test/Tst et copiez-y le fichier avec la commande cp
test_2.txt Test/Tst/. Tapez ls -l; ls -l Test/Tst/.
- Tapez ls -Rlai. Observez les numéros des inodes
dans
la colonne de gauche. Chaque fichier est associé à un
inode
(noeud d'information).
- Déplacez/renommez le dossier Tst
avec la commande mv Test/Tst Nouveau_Tst. Utilisez ls
-Rlai pour
observer que les inodes n'ont pas changé.
- Faites de même en le déplaçant dans le
dossier /tmp. Utilisez "ls -li /tmp" pour observer les inodes.
Que constatez-vous ?
- Dupliquez le fichier avec la commande cp
Nouveau_Tst/test_2.txt test_3.txt. Utilisez ls -Rlai
pour
vérifier que le nouveau fichier a bien un nouveau numéro
d'inoeud.
- Créez un lien physique sur le fichier test_3.txt
avec
la commande "ln test_3.txt phy_ln.txt". Comparez les inodes
de
ces deux fichiers. Observez également la seconde colonne du
résultat de ls -l.
- créez un nouveau fichier test_4.txt contenant le texte
"Salut les TEPOS !" par le moyen de votre choix. Copiez test_4.txt sur
test_3.txt à l'aide de la commande cp. comparez les
numéros d'inode de test_3.txt avant et après la
copie. Affichez le contenu de phy_ln.txt. Expliquez.
- Créez un lien symbolique sur le fichier test_3.txt
avec
la commande ln -s test_3.txt sym_ln.txt. Comparez les inodes
de ces deux fichiers. Observez aussi comment ce nouveau fichier
apparaît au travers des commandes ls , ls -l,
cat et les
modifications éventuelles au niveau de test_3.txt.
Exercice 4: droits d'accès
Commande chmod
- Tapez ls -l dans le dossier Scrits-Unix/TD1.
Observez les
droits des fichiers et des dossiers. Ils sont classés dans
l'ordre {utilisateur, groupe, autres}, r étant le
droit de
lecture, w le droit d'écriture et x celui
d'exécution.
- Tapez chmod -r test_2.txt; ls -l test_2.txt; more test_2.txt.
Restaurez l'ancien état avec chmod +r test_2.txt.
- Tapez chmod -w test_2.txt; ls -l test_2.txt. Essayez
de
modifier le fichier via l'éditeur de texte. Restaurez l'ancien
état
par chmod +w test_2.txt.
- Dupliquez le fichier test_2.txt, supprimez les droits
d'écriture et supprimez le fichier avec la commande rm.
Expliqez pourquoi les droits
d'écriture n'empêchent pas la suppression.
- Tapez chmod -w .; ls -l. Essayez de créez un
nouveau fichier
dans le dossier Test. Essayez de créez un nouveau
fichier dans le dossier Nouveau_Tst. Restaurez l'ancien
état par
chmod +w .
- ràf: Tapez chmod -x Nouveau_Tst; cd Nouveau_Tst.
- Tapez less Nouveau_Tst/test_2.txt. Restaurez l'ancien
état
par chmod +x Nouveau_Tst.
- Comment sont gérés les droits sur les liens
physiques ?
- Créez à votre racine un dossier incoming
où n'importe
quel membre de votre groupe puisse y déposer des fichiers mais
sans pouvoir
lire le contenu ni du dossier ni des fichiers déposés.
Vous devez
disposer de tous les droits sur ce dossier et les utilisateurs qui
ne font pas partie de votre groupe ne doivent disposer d'aucun droit.
Commande umask
- La commande umask contrôle les droits par
défaut des
fichiers crées. Sa syntaxe est umask 0ooo avec 0ooo
un nombre
octal commençant par un 0 et comprenant les droits ugo
avec
read=4, write=2, execute=1.
- Tapez umask pour voir votre masque courant.
- Tapez umask 124; mkdir T; ls -l.
- Créez et sauvegardez un nouveau fichier texte avec un
éditeur de
texte lancé depuis le shell. Observez ses droits.
- Créez et sauvegardez un nouveau fichier texte mais avec
un
éditeur de texte lancé depuis un autre shell.
Que dire du umask dans ce cas ?
- on souhaite que les fichiers créés aient par
défaut comme droits: RXWR-----. Quelle valeur de umask doit-on
prendre ?
- Restaurez votre ancien masque (probablement par umask 022).
Sources
une partie des exercices du présent TD s'inspire des sources
suivantes :