Outils pour utilisateurs

Outils du site


tp4

Ceci est une ancienne révision du document !


Table des matières

TP 3 : Archivage

Durée

6 heures

Archivage

Le but de ce TP est de développer un outil d'agrégation de plusieurs fichiers sous la forme d'archive. Par ailleurs, les archives que vous aller construire devront être exécutables et auto-désarchivables. Cet archiver sera écrit en bash-script. Vous progresserez par paliers. Vous travaillerez dans un répertoire de votre compte nommé se1/tp2.

Sujet

La redirection “en-place” permet de faire en sorte que le contenu du shell-script en cours d'éxécution devienne l'entrée standard courante d'une commande. La syntaxe à utiliser est la suivante :

commande << TAG_DE_FIN
...
... Ici se trouve l'entrée standard de 'commande' ...
...
TAG_DE_FIN

A titre d'exemple, et sachant que wc -l compte le nombre de lignes venant de stdin tapez la commande suivante :

wc -l << TAG_WC
l1 : azerty
l2 : uiop
l3 : qsdfg
l4 : hjklm
l5 : wxcvv
l6 : bn
TAG_WC

Vous pouvez renouveller l'expérience avec la commande :

cat << TAG_CAT
Ceci est un message
TAG_CAT
  1. En vous basant sur l'exemple précédent, tapez la commande à l'invite shell permettant de créer le fichier my-id.txt et contenant votre nom, votre prénom ainsi que votre adresse mail. Chacune des informations doit être sur une ligne différente. Vous n'avez donc pas le droit d'utiliser la commande echo.
  2. Insérez cette commande dans un script-shell nommé my-ball.sh. Lancez my-ball.sh pour vous assurez de son bon fonctionnement.
  3. Toujours en suivant la même démarche, écrivez un script-shell nommé create-ball.sh qui aura pour objectif de créer my-ball.sh (avec les droits d'exécution adéquat)
    • Vous venez de créer un script A qui génére un script B. Lorsque B s'éxécute, il crée à son tour un fichier C. B est donc une archive auto-décompactable. A est un archiveur. Le fichier C est généré à partir de l'archive B. A est create-ball.sh, B est my-ball.sh, C est my-id.txt.
  4. Effacez my-id.txt. Lancer la commande my-ball.sh. Elle génère my-id.txt. Copiez my-id.txt en my-id2.txt. Editez my-id2.txt et ajoutez-y votre date de naissance et votre lieu de naissance.
  5. Modifiez create-ball.sh afin qu'il accepte un nom de fichier en paramètre. L'archive my-ball.sh générée aura pour objectif de recréer le fichier passé en paramètre. Vous testerez votre script create-ball.sh avec les fichiers my-id.txt et my-id2.txt. Attention à préserver les droits d'accès lors du désarchivage.
  6. Modifiez create-ball.sh afin qu'il admette plusieurs fichiers en paramètre. L'archive créée my-ball.sh, recréera l'ensemble des fichiers en paramètres lors de son exécution.
  7. Faites en sorte que create-ball.sh soit en mesure d'archiver (et de désarchiver) des fichiers binaires.
  8. Apportez à votre archiver la fonctionnalité d'archivage d'une branche de l'arborescence
tp4.1548162098.txt.gz · Dernière modification : 2019/01/22 13:01 de gilles