Les commandes de base :
notion de fichiers et droits
A l'issue de ce TP vous
montrerez que vous êtes capable :
- de faire la différence entre les principaux système
d'exploitation existant lors de la création d'un fichier de type texte,
- de gérer des périphériques dans un environnement
Unix,
- de créer, visualiser, modifier, renommer fichiers ou répertoires
- d'obtenir de l'aide pour toute commande Unix
- de gérer les droits et d'exploiter des fichiers
issus de systèmes d'exploitation différents.
Ce deuxième TP vous permet d'écrire et d'exécuter vos premières
commandes dans un terminal sous le système d'exploitation Linux. Ces
commandes de base vont vous permettre d'assimiler la notion de fichiers
et de parcourir l'arborescence classique du système. Cette notion très
importante permet d'accéder à tout type de ressources (disques, réseau,
...). Etant un système multi-utilisateurs, nous introduisons tout de
suite la notion de droits d'accès à une ressource (ici les fichiers ou
répertoires).
Vous rédigerez un
compte rendu dans lequel vous justifierez les options des commandes que
vous avez utilisé pour réaliser les actions demandées et repérées par
=>.
Rappel : Les contenus des cours, des TD et des TP précédents sont
nécessaires pour faire les TP. Vous devez impérativement les avoir avec
vous et les connaitre pour chaque séance de TP (et avoir revu les TP
précédents).
Matériel nécessaire : 1 disquette par binôme
Condition de départ : vous avez démarré votre session sous Windows.
1. Préparation du support
=> Depuis le poste de travail
(Windows),
formattez la disquette,
=> Créez un fichier texte,
par binôme, avec un éditeur de texte simple (Notepad)
contenant
vos coordonnées, en
respectant scrupuleusement la syntaxe suivante :
# 1er membre du binôme
<Nom> <Prénom>
<Adresse>
<Code postal> <Ville>
<Adresse mél>
# 2eme membre du binôme
<Nom> <Prénom>
<Adresse>
<Code postal> <Ville>
<Adresse mél>
# Fin de fichier
rem : se limiter uniquement à une ligne par item; chaque
ligne commence par un caractère (# pour un commentaire) et non un
espace.
=> Sauvegardez sur disquette ce
fichier sous le nom : <N° de binôme>.txt,
ex: B3.txt
=> Enlevez la disquette, puis
redémarrer votre ordinateur en ouvrant une session Linux.
2. Montage de périphériques de données
Linux considére tout périphérique de
données comme un répertoire ajouté à
l'arborescence du système.
Pour accéder à un périphérique, il convient
de le "monter" : le nom du périphérique est alors
associé à un point "d'encrage" dans l'arborescence.
Il suffit ensuite de parcourir cette branche de l'arborescence pour
lire, copier, déplacer, ... les données du
périphérique.
IMPORTANT : En fin d'utilisation, vous devez
impérativement
"démonter" les périphériques que
vous
avez "montés".
=> Visualisez et notez la liste des
périphériques (et leurs points d'encrage) accessibles ou
disponibles dans le fichier
/etc/fstab,
=> Commentez chaque ligne
de ce fichier,
Pour récupérer les données du fichier qui se
trouve sur la disquette, il faut les transférer dans votre
arborescence.
=> Montez la disquette à
l'aide de la commande :
mount
=> Copiez le fichier <N° de
binôme>.txt dans votre répertoire de login,
=> Démontez la disquette
à l'aide de la commande :
umount
=> Créer à l'aide d'
emacs une copie du
fichier <N° de binôme>.txt que vous
nomerez <N° de binôme>lnx.txt
en copiant le texte de <N° de
binôme>.txt vers le nouveau fichier <N° de
binôme>lnx.txt par l'intermédiaire d'un buffer, puis
sauvegardez ce nouveau fichier dans votre répertoire de login,
=> Copiez ce nouveau fichier sur
votre disquette,
=> A l'aide de l'outil
approprié, comparez le contenu de ces deux fichiers, observez les
codes ASCII de ces deux fichiers,
=> Allez sur le
poste de l'enseignant pour visualiser son contenu et valider votre
travail,
=> Formattez votre disquette (qui
s'appelle sous Linux
/dev/fd0)
au format
ext3 à l'aide
de la commande :
/sbin/mkfs.ext3 /dev/fd0
rem : la commande
mkfs.ext3
se trouve dans le répertoire /sbin. Le système
n'accède pas à ce répertoire par défaut,
c'est pour cela qu'il faut lui préciser le chemin complet de
cette commande.
=> Copiez le fichier <N° de
binôme>lnx.txt sur votre disquette,
=> Allez sur le poste de
l'enseignant pour visualiser le contenu de la disquette et du fichier
et
faites valider votre travail,
=> Reprenez ces manipulations
(formattage au format
vfat,
copie de fichier, lecture) avec l'outil graphique lancé par la
commande :
usermount
3. Mise en oeuvre des redirections
Vous allez créer un guide de commandes unix (
guide.cmd.unix) au fur et à
mesure de l'utilisation des commandes au cours de ce TP.
Pour cela vous utiliserez les redirections vues en
TD.
=> Testez la création
de votre guide en le "remplissant" par le listage de votre
répertoire courant.
=> Visualisez son contenu à
l'aide de
la commande
more.
=> Essayez d'y ajouter le
résultat de l'éxecution de la commande
dire
=> Essayez d'y ajouter le
résultat de l'éxecution de la commande
dire,
en utilisant la commande
dire 2>guide.cmd.unix
=> Essayez d'y ajouter le
résultat de l'éxecution de la commande
dire,
en utilisant la commande
dire &>guide.cmd.unix
=> Testez la redirection de
l'entrée avec la commande
cat
<guide.cmd.unix.
=> Effacez ce guide.
4. Mise en oeuvre de la commande man
De nombreuses commandes sont
détaillées dans les pages de manuel (pages man)
disponibles par la commande
man <nom
de commande>.
On navigue dans le manuel à l'aide des
flèches de déplacement, on quitte cette commande à
l'aide de la touche
Q.
=> Consultez le manuel de la
commande man
=> Créez votre guide en
y écrivant les commandes vues en TD (cd, pwd, mkdir, rmdir, ls,
rm, alias...) par redirection
=> A l'aide d'un
éditeur de texte simple (kedit ou gedit par exemple) consultez
votre guide
5. Etude de l'arborescence : chemin absolu / chemin relatif et
affichage
A l'aide des pages du manuel Linux,
=> Etudiez les commandes
cp et
mv
A l'aide des commandes de navigation et de
création de répertoire dans l'arborescence de votre
compte,
=> Créez l'arborescence
suivante:
~/Systeme1/Tp1/ ;
~/Systeme1/Tp2/ ; ... ~/Systeme1/Tp7/
~/Reseau1/Tp1/ ;
~/Reseau1/Tp2/ ; ... ~/Reseau1/Tp15/
~/Algo1/Tp1/ ; ~/Algo1/Tp2/
; ... ~/Algo1/Tp15/
~/Archi1/Tp1/ ;
~/Archi1/Tp2/ ; ... ~/Archi1/Tp15/
~/EU1/Tp1/ ;
~/EU1/Tp2/ ; ... ~/EU1/Tp15/
~/Telecom1/Tp1/ ; ~/Telecom1/Tp2/
; ... ~/Telecom1/Tp15/
A l'aide des commandes de navigation, de
déplacement et de destruction de répertoire dans
l'arborescence de votre compte,
=> Rangez tous les fichiers
relatifs aux TP déjà réalisés dans la
nouvelle arborescence,
=> Contrôllez le travail
réalisé à l'aide des outils graphiques
konqueror et
nautilus,
=> Supprimez, avec ces
mêmes outils graphiques, l'ancienne arborescence de votre compte.
6. Gestion des fichiers : création, visualisation, copie,
changement et effacement
A l'aide des pages du manuel Linux,
=> étudiez les commandes
touch,
echo,
quota, et
more.
=> que se passe-t-il lorsqu'une
commande est suivi du caractère
&
?
=> créez, modifiez des
fichiers texte à l'aide des commandes tappées dans un
terminal et visualisez les à l'aide des éditeurs
gedit et khexedit.
=> étudiez les commandes
principales de l'interpréteur de commande
bash
=> imprimez votre compte
rendu à l'aide de la commande
a2ps
7. Notions de droits et de propriété
Le système Linux est un système multi-utilisateurs.
Certains utilisateurs ont des droits particuliers (ex:
root) . Les droits se
décomposent en 3 catégories : lecture, écriture et
exécution, pour trois types d'utilisateur : le
propriétaire, le groupe, les autres.
En mode console :
=> Positionez les droits en lecture
seule pour le propriétaire et lui seul sur le répertoire
~/Systeme1. Que pouvez-vous (vous et votre binôme) faire du répertoire
Systeme1 et des
fichiers qu'il contient ?
=> Que devez-vous faire pour lister
le contenu de ~/Systeme1 ?
=> Que devez-vous faire pour que
votre binôme puisse lister
le contenu de ~/Systeme1 ? N'y-a-t-il que votre binôme qui peut lister
ce répertoire ?
=> Copiez le fichier <N° de
binôme>lnx.txt dans ~/Systeme1,
=> Positionez les droits en
écriture seule pour le propriétaire et lui seul sur le
répertoire ~/Systeme1. Que pouvez-vous faire du répertoire
Systeme1 et des fichiers qu'il contient ?
=> Copiez le fichier <N° de
binôme>.txt dans ~/Systeme1,
=> Créez un
sous-répertoire Temp dans ~/Systeme1,
=> Que devez-vous faire pour
vérifier la présence du fichier copié et du
répertoire créé ?
=> Que devez-vous faire pour
que votre binôme puisse ajouter un fichier dans ~/Systeme1 ?
=> Dans ce cas, peut-il
supprimer le fichier qu'il vient de copier ?
=> Peut-il supprimer d'autres
fichiers ? Dans quels cas ?
=> Positionez les droits en
exécution seule pour le propriétaire et lui seul sur le
répertoire ~/Systeme1.
=> Que pouvez-vous (vous et votre
binôme) faire du
répertoire Systeme1 et des fichiers et répertoires qu'il
contient ?
=> Copiez les fichiers <N°
de binôme>.txt et <N° de binôme>lnx.txt
présents dans votre répertoire de login vers
~/Systeme1/Temp,
=> Vérifiez la
présence des fichiers copiés.
Vous savez maintenant gérer
vos droits sur un répertoire.
En mode graphique :
=> Créez le fichier cmd dans
~/Systeme1/Temp qui contient le texte "date",
=> Modifiez les droits de ce
fichier du répertoire ~/Systeme1/Temp en :
lecture seule
=> testez les possilités d'accès à ce fichier,
lecture et
écriture seule => testez les possilités d'accès
à ce fichier,
exécution
=> testez les possilités d'utilisation de ce fichier (qui est
exécutable ...).
Vous savez maintenant gérer
les droits d'un fichier.
En mode console :
=>
Créez le
répertoire Partage dans ~,
=> Mettre les droits minimum sur ~
et Partage afin de permettre l'accès en écriture seule
pour les membres du groupe gtr1 et l'accès complet pour
vous,
=> Copiez le fichier <N° de
binôme>lnx.txt vers le répertoire Partage de votre
voisin, qui fera de même,
=> Visualisez le contenu du fichier
reçu dans votre répertoire Partage,
=> Créez un nouveau fichier
<N° de binôme>2.txt copiez-y les données de votre
voisin puis insérez (en respectant la même syntaxe) vos
données. Votre voisin fera de même.
=> Vérifiez que ce fichier
ne possède pas les droits en écriture pour le groupe,
=> Copiez le
fichier <N° de binôme>2.txt dans le
répertoire Partage de votre voisin, qui fera de même,
=> Sauvegardez le fichier
reçu dans votre répertoire TP,
=> Est-il possible de supprimer
votre répertoire Partage ?
=> Changez le propriétaire
du fichier dans le répertoire Partage de votre voisin, qui fera
de même.
=> Supprimez le répertoire
Partage.
Vous savez maintenant gérer
les propriétaires et les groupes d'un fichier.
En mode console :
=> Quels sont les droits
nécessaires pour un fichier et un répertoire pour pouvoir
appliquer la commande
chown ?
=> Changer le propriétaire
d'un de vos fichiers pour l'attribuer à votre voisin, qui le
copiera dans son répertoire Partage,
=> Quels sont les droits
nécessaires pour un fichier et un répertoire pour pouvoir
appliquer la commande
chgrp ?
Vous savez maintenant gérer les propriétaires et les
groupes d'un fichier.
8. Alias
=> Visualisez les
alias prédéfinis à l'aide de la commande :
alias
=> Déterminez visuellement
la commande passée la plus utilisée et créez un
alias correspondant :
alias <nom_alias>='<commande>'
[ Noubliez pas
d'envoyer votre compte-rendu et de le compléter pour la séance suivante
]