Premières applications utilisateurs
A l'issue de ce TP vous montrerez que vous
êtes capable :
- d'utiliser toutes les commandes de base Unix afin de
résoudre des problèmes simples posés à un
utilisateur :
- en décomposant chaque problème en une suite
d'actions simples,
- en traduisant chaque action en une commande (et ses options)
reconnue du système,
- en organisant le traitement des données par
l'enchaînement ordonné des commandes.
- d'être des utilisateurs avertis de votre système.
Le but de ce TP est de mettre en oeuvre les commandes de base pour
effectuer des micros applications utiles pour un utilisateur. Vous
allez tout d'abord manipuler des éditeurs de texte en mode console sans
interface. Dans un deuxième temps, vous allez apprendre à sauvegarder,
archiver et restaurer des fichiers. Enfin, vous implémenterez une
poubelle intelligente.
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).
1 machine sous LINUX
1. Traitement du texte en mode texte
vi (pour "visual") est un éditeur de texte conçu
pour des terminaux textes. Il possède les commandes de :
déplacement : (flèches de
déplacement)
insertion avant le curseur :
i puis
esc
pour sortir de ce mode
insertion après le curseur :
a puis
esc
pour sortir de ce mode
insertion de texte avant la ligne courante :
O puis
esc
pour sortir de ce mode
insertion de texte après la ligne courante :
opuis
esc
pour sortir de ce mode
destruction du caractère courant :
x
destruction de la ligne courante :
dd
joindre la ligne courante et la ligne suivante :
J
recherche en avant de "chaîne" (chaîne =
expression régulière) :
/chaîne
recherche en arrière de "chaîne"
(chaîne = expression régulière) :
?chaîne
continuer la recherche :
n
remplacer le caractère courant :
r puis le
caractère à remplacer
remplacer les caractères (limité
à la fin de ligne ou avant avec
esc):
R
substitution de la première occurence de la
chaîne1 en chaîne2 :
:s/chaîne1/chaîne2/
substitution de toutes les occurences de
chaîne1 en chaîne2 :
:s/chaîne1/chaîne2/g
substitution la chaîne1 en
chaîne2 partout dans le fichier :
:1,$s/chaîne1/chaîne2/g
sauvegarde et quitte :
:wq puis
entrée
abandone et quitte :
:q! puis
entrée
=> Copiez le fichier html de ce TP
dans le répertoire TP4 de votre compte, et effectuez
à l'aide de
l'éditeur vi les
modifications suivantes :
Insérez l'image
suivante sous l'image qui se trouve
en haut du sujet alignée à droite
Remplacez le fond d'écran
par
celui-ci
Recherchez les mots "expressions"
et remplacez-les par "Expressions"
ed est un éditeur de texte qui, bien que ne fonctionnant
qu'en ligne de commande, tire sa puissance de la prise en
compte des expressions régulières. Il possède les
commandes de :
affichage de la ligne courante :
p
affichage de la ligne courante avec les
caractères de contrôle :
l
affichage de la ligne courante et de son
numéro :
n
destruction de la ligne courante :
d
ajout de <texte> après la ligne
courante :
a <texte>
ajout de <texte> avant la ligne courante :
i
<texte>
remplacement de la ligne courante par <texte>
:
c <texte>
insere <fichier> après la ligne
courante :
r <fichier>
substitution de la première occurence de
la chaîne1 en chaîne2 :
s/chaîne1/chaîne2/
substitution de toutes les occurences de
chaîne1 en chaîne2 :
s/chaîne1/chaîne2/g
execution de <commande> pour
toutes les lignes qui contiennent chaîne :
g/chaîne/<commande>;
cette <commnde> est une des commandes de
ed
sauvegarde dans le fichier édité :
w
sauvegarde le fichier sous le nom
<fichier> :
w <fichier>
quitte :
q
rem : il est possible de faire précéder les commandes
par des préfixes (. = ligne courante, +n = n lignes
après la ligne courante, -n = n lignes avant la ligne courante,
$ = dernière ligne, 1,$ = de la première à la
dernière ligne)
=> Créez un fichier
texte ("entete") contenant le texte suivant :
//****************//
// methode d'instance //
//****************//
=> Créez un fichier
texte (commandes.ed) contenant les commandes (1 par ligne)
permettant, sur un fichier source java personnel, de
repérer les méthodes d'instances et de les faire
précéder par l'entête décrite dans le
fichier "entete".
=> Appliquez ces commandes par :
ed<votre_source.java>
< commandes.ed
2. Ecrire son journal
=> Créez un fichier
d'archive de votre compte.
=> Créez un fichier texte,
que l'on appellera
fichier_de_log, qui contiendra la liste des
fichiers avec la date de dernière modification et la taille.
=> Modifiez le contenu d'un fichier
source de votre compte (un commentaire par exemple)
=> Trouvez les commandes permettant
de mettre à jour votre archive si nécessaire, ainsi
que le
fichier_de_log (sans tout recréer !!!)
=> Associez cette comande à
l'alias
journal
3. Gestion de poubelles
=> Créez un
répertoire "Poubelle" dans la racine de votre compte. Il servira
de poubelle et contiendra les fichiers "supprimés" et un journal
de bord permettant une récupération éventuelle,
=> Créez une ligne de
commande qui déplace un fichier d'un répertoire à
l'autre et qui génére la ligne suivante dans le fichier de
log
poubelle_log :
<nom de
fichier> <emplacement_origine> (sans les caractères <
et >)
=> Créez un alias
efface
corespondant à cette ligne de commande,
=> Créez une ligne de
commande qui déplace un fichier depuis le répertoire
Poubelle vers son répertoire d'origine et supprime la ligne
corespondante dans le fichier de log,
=> Créez un alias
restaure
corespondant à cette ligne de commande
[ Noubliez pas
d'envoyer votre compte-rendu et de le compléter pour la séance suivante
]