1.1 Manipulation du système de fichiers
Pour préparer notre travail, nous allons configurer notre
environnement. Pour se faire, nous utiliserons les commandes shell :
cat, cd, cp, df, du, grep, less, ls, mkdir, tar.
Ce document ne donne pas d'indication sur ces commandes mais vous
êtes incité à utiliser l'aide en ligne man afin d'en
obtenir.
Exercice 1.0 --- Construire une arborescence.
Créer un répertoire C qui contiendra l'ensemble des fichiers
associés au cours. Dans ce répertoire, créer les
répertoires projet et tp.
Exercice 1.1 --- Droits d'accès.
En utilisant la commande ls -l, déterminez les droits
d'accès des sous répertoires de ma racine (~sedoglav).
Construisez vous un répertoire public dans lequel les membres de
votre groupe pourrons lire mais pas écrire.
Exercice 1.2 --- La commande ls.
La commande ls permet d'examiner le contenu des répertoires. Il
est utile de connaître certaines de ces options.
Déterminez l'effet des options suivantes de ls :
a d l r t
Remarquez que ces options sont cumulables.
Comment visualiser la date de création de l'ensemble des sous
répertoires de votre racine.
Exercice 1.3 --- Configurer la taille des polices par défaut.
Votre professeur a l'intention d'économiser le peu de forces qui
lui restent ; par exemple, il n'a pas l'intention de se fatiguer les
yeux à chercher des erreurs dans vos codes sources alors que les
polices de caractères utilisées sont minuscules.
Sans éditeur de texte, afficher le contenu du fichier
.Xdefaults (s'il existe). Ce fichier permet de fixer des
paramètres par défaut --- comme la taille des polices
utilisées --- pour certaines applications --- comme xterm, emacs,
etc.
Vous trouverez dans le répertoire ~sedoglav/public/ un
fichier qui contient la chaîne de caractères r24. Ce
dernier fixe quelques réglages qui faciliterons vos rapports avec
votre enseignant de C préféré.
Copier ce fichier sur votre racine et ajouter ses réglages à
votre fichier .Xdefaults (si possible sans user d'un éditeur
de texte). Si ce dernier n'existe pas, créer le.
Pour vérifier que tout va bien, utiliser la commande xrdb .Xdefaults dans votre shell et lancer un xterm
en arrière fond.
Exercice 1.4 --- Gestion de l'espace disque.
Votre espace disque est limité (et généralement pollué par
votre butineur).
Déterminer le répertoire occupant le plus d'espace disque.
Quels sont les droits du répertoire /tmp/ ?
Combien d'espace disque est disponible dans ce répertoire (dont le
contenu n'est malheureusement pas sauvegardé) ?
Exercice 1.5 --- La commande tar.
Des archives sont disponibles dans le répertoire
~sedoglav/public/. Par convention, une archive se termine par
le suffixe tar (tgz si elle est compressée).
-
Listez le contenu de l'archive non compressée (commande
tar tvf <nomarchive>).
- Extrayez de l'archive non compressée celle qui est
compressée (commande
tar xvf <nomarchive> <fichieraextraire>).
- Listez le contenu de l'archive compressée (ajoutez un z à
la liste des options ci-dessus).
- Décompressez et ouvrez l'archive compressée afin d'obtenir son
contenu (commande
tar xvfz <nomarchive> <nomrep>).
- Utilisez la commande
tar cvfz <nomarchive> <nomrep> pour faire
une archive compressée d'un de vos répertoires.
Exercice 1.6 --- Liens symboliques.
Vous avez peut être déjà été surpris par le fait que nos
voisins flamands s'obstinent --- outre à parler une langue
incompréhensible --- à affubler certaines villes de noms
impossibles. Par exemple :
| Nom français |
Nom flamand |
| Anvers |
Antwerpen |
| Bruxelles |
Brussel |
| Gand |
Gent |
| La haye |
Den Haag |
| Lille |
Rijsel |
| Paris |
Paris |
| Tournai |
Doornik |
Nous allons profiter de cet état de fait pour nous exercer à
faire des liens symboliques. Ces liens permettent le partage
de fichiers sans duplication de ces derniers (man ln).
-
Construisez un répertoire villes contenant un fichier pour
chaque nom de ville en français (man touch).
- Construisez un répertoire steden contenant un lien
symbolique pour chaque nom de ville en flamand et qui pointe vers
le fichier correspondant dans le répertoire villes.
Pour tout commentaire : Alexandre Sedoglavic.