Ajout des énoncés de quelques exercices.

This commit is contained in:
jriou 2002-12-07 05:40:50 +00:00
parent 1eb57bb176
commit c20a20905f
9 changed files with 577 additions and 13 deletions

View file

@ -50,7 +50,7 @@ les diff
</ol>
<div class="metainformation"> Auteur : Émilia Robin, Joël Riou.
Dernière modification le 2002-11-02. </div>
Dernière modification le 2002-12-07. </div>
</body>
</html>

118
unix/exercices/cp_mv.tml Normal file
View file

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>cp et mv</title>
</head>
<body>
<h1>Exercices sur <code>cp</code> et <code>mv</code></h1>
<p> Ces exercices sont des questions de cours : les solutions se
trouvent toutes dans les <a
href="&url.tuteurs;unix/divers.html#man">pages de man</a> des commandes
en question. On suppose donc connues les commandes de <a
href="&url.tuteurs;unix/fichiers.html#less">less</a>, qui servent à se
déplacer dans les pages de man... Testez les commandes sur des fichiers
et répertoires d'essai pour vous faire la main et comprendre ce qui se
passe. </p>
<p>
Pour voir la solution, cliquer sur le bouton &icone.solution;.
</p>
<h2><a name="cp"><code>cp</code></a></h2>
<ol>
<li> <a href="solutions/cp_mv-sol.html#cp1">&icone.solution;
</a> Est-il possible de faire une copie d'un répertoire et de
l'ensemble de ses sous-répertoires en une seule ligne de commande, sans
d'abord faire une copie de chacun des fichiers l'un après l'autre ?</li>
<li> <a href="solutions/cp_mv-sol.html#cp2">&icone.solution;
</a> Que se passe-t-il si l'on veut faire une copie appelée
<code>tentative/</code> de son répertoire <code>essai/</code>, et que le
répertoire <code>tentative/</code> existe déjà ?</li>
<li> <a href="solutions/cp_mv-sol.html#cp3">&icone.solution;
</a> Que se passe-t-il si vous voulez faire une copie d'un
fichier dans un répertoire où il existe déjà un fichier de ce nom ?</li>
<li> <a href="solutions/cp_mv-sol.html#cp4">&icone.solution;
</a> Est-il possible de
taper une ligne du genre de :
<pre>
cp fichier1 fichier2 fichier3 repertoire/
</pre>
<p class="continue">
Quel est l'effet de cette ligne ?
</p>
</li>
</ol>
<h2><a name="mv">mv</a></h2>
<ol>
<li> <a href="solutions/cp_mv-sol.html#mv1">&icone.solution;
</a> La syntaxe de <code>mv</code> est <code>mv fichier1
fichier2</code>; <code>fichier1</code> est renommé en <code>fichier2</code>.
Mais que se passe-t-il si <code>fichier2</code> existe déjà ?</li>
<li> <a href="solutions/cp_mv-sol.html#mv2">&icone.solution;
</a> Supposez que vous avez chez vous l'arborescence <a
href="mkdir_cd.html#arbo">que voici</a>, et que vous vous trouvez dans
<code>~/Rapport/docs/</code>.
<p>
Comment faites-vous pour y amener <code>Rapport.tex</code> qui se trouve dans
le répertoire père ?</p>
<p>
Comment faites-vous ensuite pour ramener ce fichier à son emplacement
d'origine ?
</p></li>
<li> <a href="solutions/cp_mv-sol.html#mv3">&icone.solution;
</a> Comment renommer un répertoire <code>bla</code> en
<code>blo</code> ? Que se passe-t-il si le répertoire <code>blo</code>
existe déjà ?</li>
<li> <a href="solutions/cp_mv-sol.html#mv4">&icone.solution;
</a> Comment faire pour à la fois déplacer un fichier et
changer son nom ? Que se passe-t-il si il existe déjà un fichier de ce
nom dans le répertoire d'arrivée ?</li>
<li> <a href="solutions/cp_mv-sol.html#mv5">&icone.solution;
</a> Mêmes questions avec un répertoire.</li>
<li> <a href="solutions/cp_mv-sol.html#mv6">&icone.solution;
</a>Que se passe-t-il si on lance <code>mv</code> avec les
options <code>-i</code> et <code>-f</code> ensemble ?</li>
</ol>
<div class="metainformation">
Auteur : Émilia Robin, Joël Riou. Dernière modification le 2002-11-07.
</div>
</body>
</html>

BIN
unix/exercices/exocd.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

71
unix/exercices/find.tml Normal file
View file

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>find</title>
</head>
<body>
<h1>Exercices sur <code>find</code></h1>
<p> Ces exercices sont des questions de cours : les solutions se
trouvent toutes dans les <a
href="&url.tuteurs;unix/divers.html#man">pages de man</a> des commandes
en question. On suppose donc connues les commandes de <a
href="&url.tuteurs;unix/fichiers.html#less">less</a>, qui servent à se
déplacer dans les pages de man... Testez les commandes sur des fichiers
et répertoires d'essai pour vous faire la main et comprendre ce qui se
passe. Pour une présentation élémentaire de <code>find</code>, vous
pouvez aller lire le <a
href="&url.tuteurs;unix/chercher.html#find">cours</a>.
</p>
<p>
Pour voir la solution, cliquer sur le bouton &icone.solution;.
</p>
<ol>
<li> <a href="solutions/find-sol.html#find1">&icone.solution;
</a> Comment chercher tous les
fichiers commençant par un «a» majuscule ou une minuscule, suivi
d'éventuellement quelques lettres ou chiffres, par un chiffre entre 3 et
6 ?</li>
<li> <a href="solutions/find-sol.html#find2">&icone.solution;
</a> Comment fait-on pour
indiquer que le fichier recherché a été modifié il y a plus de 30 jours ?
Il y a 30 jours ? Il y a moins de 30 jours?</li>
<li> <a href="solutions/find-sol.html#find3">&icone.solution;
</a> Comment faire pour dire
que le fichier a été modifié plus récemment qu'un autre fichier donné ?</li>
<li> <a href="solutions/find-sol.html#find4">&icone.solution;
</a> Comment fait-on pour
spécifier que le fichier recherché est un répertoire ? </li>
<li> <a href="solutions/find-sol.html#find5">&icone.solution;
</a> Comment indiquer que le
fichier recherché à une taille supérieure à une taille donnée ?</li>
<li> <a href="solutions/find-sol.html#find6">&icone.solution;
</a> Utiliser <tt>find</tt>
pour effacer tous vos fichiers de sauvegarde (terminés par un tilde) qui ont
plus d'un mois.</li>
</ol>
<div class="metainformation">
Auteur : Émilia Robin, Joël Riou. Dernière modification le 2002-12-07.
</div>
</body>
</html>

126
unix/exercices/grep.tml Normal file
View file

@ -0,0 +1,126 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>grep</title>
</head>
<body>
<h1>Exercices sur <code>grep</code></h1>
<p>
Ces exercices sont des questions de cours : les solutions se trouvent
toutes dans les <a href="&url.tuteurs;unix/divers.html#man"
target="_top">pages de man</a> des commandes en question. On suppose donc
connues les commandes de <a href="&url.tuteurs;unix/fichiers.html#less"
target="_top">less</a>, qui servent à se déplacer dans les pages de man...
Testez les commandes sur des fichiers et répertoires d'essai pour vous faire
la main et comprendre ce qui se passe. Pour une présentation élémentaire de
<code>grep</code>, vous pouvez aller lire le <a
href="&url.tuteurs;unix/chercher.html">cours</a>.
</p>
<p>
Pour voir la solution, cliquer sur le bouton &icone.solution;.
</p>
-<h2><a name="options">Les options de <code>grep</code></a></h2>
<ol>
<li> <a href="solutions/grep-sol.html#grep1">&icone.solution;
</a> Quelles sont les options de <code>grep</code> qui
permettent d'obtenir des lignes de contexte (qui précèdent et/ou suivent la
ligne où figure le mot) ?</li>
<li> <a href="solutions/grep-sol.html#grep2">&icone.solution;
</a> Comment faire apparaître le numéro de la ligne où figure
le mot recherché ? Que se passe-t-il quand on demande également des
lignes de contexte ?</li>
<li> <a href="solutions/grep-sol.html#grep22">&icone.solution;
</a> Comment faire pour afficher le nombre d'occurences du
mot recherché ?</li>
<li> <a href="solutions/grep-sol.html#grep23">&icone.solution;
</a> Comment faire pour que <code>grep</code> ignore la casse
des caractères (différence entre majuscules et minuscules) dans sa
recherche ?</li>
<li> <a href="solutions/grep-sol.html#grep4">&icone.solution;
</a> Comment faire pour faire apparaître non pas les lignes
où figurent le mot, mais les noms des fichiers ?</li>
<li> <a href="solutions/grep-sol.html#grep5">&icone.solution;
</a> Comment faire apparaître les lignes où ne figurent pas
le mot recherché ?</li>
<li> <a href="solutions/grep-sol.html#grep51">&icone.solution;
</a> Comment faire apparaître les noms des fichiers ne
contenant pas le mot recherché ?</li>
<li> <a href="solutions/grep-sol.html#grep6">&icone.solution;
</a> Comment faire pour que <code>grep</code> ne recherche
que les lignes où figure le mot tel quel, et non pas ses variantes ? Par
exemple : on cherche le mot «travail», mais pas «travailleur» ou
«travailler».</li>
<li> <a href="solutions/grep-sol.html#grep3">&icone.solution;
</a> Comment faire pour chercher plusieurs mots à la fois en
faisant apparaître les numéros des lignes ?</li>
</ol>
<h2><a name="regexp">Introduction aux expressions régulières</a></h2>
<ol>
<li> <a href="solutions/grep-sol.html#reg1">&icone.solution;
</a> Chercher toutes les lignes commençant par «a» ou «A».</li>
<li> <a href="solutions/grep-sol.html#reg2">&icone.solution;
</a> Chercher toutes les lignes finissant par «rs».</li>
<li> <a href="solutions/grep-sol.html#reg3">&icone.solution;
</a> Chercher toutes les lignes contenant au moins un
chiffre.</li>
<li> <a href="solutions/grep-sol.html#reg4">&icone.solution;
</a> Chercher toutes les lignes commençant par une majuscule.</li>
<li> <a href="solutions/grep-sol.html#reg5">&icone.solution;
</a> Chercher toutes les lignes commençant par «B», «E» ou
«Q».</li>
<li> <a href="solutions/grep-sol.html#reg6">&icone.solution;
</a> Chercher toutes les lignes finissant par un point
d'exclamation.</li>
<li> <a href="solutions/grep-sol.html#reg7">&icone.solution;
</a> Chercher toutes les lignes ne finissant pas par un signe
de ponctuation (point, virgule, point-virgule, deux-points, point
d'interrogation, point d'exclamation). </li>
<li> <a href="solutions/grep-sol.html#reg8">&icone.solution;
</a> Chercher tous les mots contenant un «r» précédé de
n'importe quelle lettre majuscule ou minuscule. </li>
<li> <a href="solutions/grep-sol.html#reg9">&icone.solution;
</a> Chercher tous les mots dont la seconde lettre est un
«r».</li>
</ol>
<div class="metainformation">
Auteur : Émilia Robin, Joël Riou. Dernière modification le 2002-12-07.
</div>
</body>
</html>

View file

@ -123,7 +123,7 @@ href="solutions/interface-sol.html#deloguer">&icone.solution;</a>Que
faut-il impérativement quitter ou fermer avant de se déloguer ?</p>
<div class="metainformation">
Auteur : Émilia Robin, Joël Riou. Dernière modification le 2002-11-02.
Auteur : Émilia Robin, Joël Riou. Dernière modification le 2002-12-07.
</div>
</body>

79
unix/exercices/less.tml Normal file
View file

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>less</title>
</head>
<body>
<h1>Exercices sur <code>less</code></h1>
<p>
La commande <code>less</code> sert à visualiser des fichiers sans les éditer.
<code>less</code> sert aussi à lire les pages de man. Pour une présentation
élémentaire de cette commande, allez lire le <a
href="&url.tuteurs;unix/fichiers.html#less">cours des
tuteurs</a>.
</p>
<ol>
<li> <a href="solutions/less_sol.html#less1">&icone.solution;
</a> Comment fait-on pour obtenir une page d'aide avec
<code>less</code> ?</li>
<li> <a href="solutions/less_sol.html#less2">&icone.solution;
</a> Comment examiner plusieurs fichiers à la suite ?
Comment passe-t-on au suivant ? Comment revient-on au précédent ?</li>
<li> <a href="solutions/less_sol.html#less3">&icone.solution;
</a> Quelles sont les commandes différentes qui permettent de
quitter <code>less</code> ?</li>
<li> <a href="solutions/less_sol.html#less4">&icone.solution;
</a> Comment dire à <code>less</code> d'ouvrir le fichier en
plaçant en haut de l'écran la ligne <em>n</em> ?</li>
<li> <a href="solutions/less_sol.html#less5">&icone.solution;
</a> Comment dire à <code>less</code> d'ouvrir le fichier en
plaçant en haut de l'écran la première ligne où apparaît un motif
donné ?</li>
<li> <a href="solutions/less_sol.html#less6">&icone.solution;
</a> Quelles sont les deux commandes de <code>less</code> qui
permettent de chercher un motif dans un fichier, respectivement après et avant
la position courante ?</li>
<li> <a href="solutions/less_sol.html#less7">&icone.solution;
</a> Comment dire à <code>less</code> de chercher le mot à
partir de la première ligne du fichier, et ce où que l'on soit dans le
fichier ?</li>
<li> <a href="solutions/less_sol.html#less8">&icone.solution;
</a> Que se passe-t-il si l'on cherche le motif
suivant : «toTo» en donnant l'option <code>-i</code> à
<code>less</code> ? Quelle option faut-il mettre à la place de
<code>-i</code> pour chercher <code>toTo</code> tout en ignorant la casse des
caractères ?</li>
<li> <a href="solutions/less_sol.html#less9">&icone.solution;
</a> Quelles sont les commandes qui permettent d'aller à la
prochaine (resp. précédente) occurence du motif recherché à travers tous les
fichiers édités ?</li>
<li> <a href="solutions/less_sol.html#less10">&icone.solution;
</a> Comment chercher dans un fichier le caractère
<code>/</code> ?</li>
</ol>
<div class="metainformation">
Auteur : Émilia Robin, Joël Riou. Dernière modification le 2002-12-07.
</div>
</body>
</html>

View file

@ -25,48 +25,48 @@ href="&url.tuteurs;unix/repertoires.html#ls">cours sur
<ol>
<li> <a href="ls_sol.html#ls1">&icone.solution;
<li> <a href="solutions/ls-sol.html#ls1">&icone.solution;
</a> Affichez le contenu de
<code>/usr/local/games/bin</code>.</li>
<li> <a href="ls_sol.html#ls2"> &icone.solution;
<li> <a href="solutions/ls-sol.html#ls2"> &icone.solution;
</a> Quelle est la taille de votre
<code>.flnewsrc.forum</code> ?</li>
<li> <a href="ls_sol.html#ls3">&icone.solution;
<li> <a href="solutions/ls-sol.html#ls3">&icone.solution;
</a> À quoi sert l'option <code>-R</code> de
<code>ls</code> ?</li>
<li> <a href="ls_sol.html#ls4">&icone.solution;
<li> <a href="solutions/ls-sol.html#ls4">&icone.solution;
</a> Dans quel ordre les fichiers et répertoires sont-ils
classés par défaut? Quelles sont les options qui peuvent servir à modifier ce
critère de classement ? Indice : «trier» se dit <em>to sort</em> en
anglais.</li>
<li> <a href="ls_sol.html#ls5">&icone.solution;
<li> <a href="solutions/ls-sol.html#ls5">&icone.solution;
</a> Affichez le contenu de votre répertoire courant de telle
sorte que les fichiers modifiés récemment apparaissent en premier.</li>
<li> <a href="ls_sol.html#ls6">&icone.solution;
<li> <a href="solutions/ls-sol.html#ls6">&icone.solution;
</a> Quels sont les droits de votre répertoire
<code>Mail</code> ? Qu'est-ce que cela signifie ?</li>
<li> <a href="ls_sol.html#ls7">&icone.solution;
<li> <a href="solutions/ls-sol.html#ls7">&icone.solution;
</a> Décrivez le résultat de la commande
<code>ls -l</code>.</li>
<li> <a href="ls_sol.html#ls8">&icone.solution;
<li> <a href="solutions/ls-sol.html#ls8">&icone.solution;
</a> Comment afficher les droits d'un répertoire donné ?</li>
<li> <a href="ls_sol.html#ls9">&icone.solution;
<li> <a href="solutions/ls-sol.html#ls9">&icone.solution;
</a> Votre <code>ls</code> vous affiche le contenu de votre
répertoire avec des signes distinctifs qui permettent d'identifier plus vite
le type de fichiers (slash <code>/</code> pour les répertoires, arobase
<code>@</code> pour les liens, etc). Quelle est l'option qui ajoute ces
caratères ?</li>
<li> <a href="ls_sol.html#ls10">&icone.solution;
<li> <a href="solutions/ls-sol.html#ls10">&icone.solution;
</a> Un répertoire a les droits suivants :
<pre>
@ -81,7 +81,7 @@ Je ne suis pas propri
<div class="metainformation">
Auteur : Joël Riou. Dernière modification le 2002-11-06.
Auteur : Joël Riou. Dernière modification le 2002-12-07.
</div>
</body>

170
unix/exercices/mkdir_cd.tml Normal file
View file

@ -0,0 +1,170 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Répertoires</title>
</head>
<body>
<h1>Exercices sur les répertoires (<code>mkdir</code>,
<code>rmdir</code>, <code>cd</code>)</h1>
<p> Ces exercices sont des questions de cours : les solutions se
trouvent toutes dans les <a
href="&url.tuteurs;unix/divers.html#man">pages de man</a> des commandes
en question. On suppose donc connues les commandes de <a
href="&url.tuteurs;unix/fichiers.html#less">less</a>, qui servent à se
déplacer dans les pages de man... Testez les commandes sur des fichiers
et répertoires d'essai pour vous faire la main et comprendre ce qui se
passe. Vous pouvez aussi aller lire le <a
href="&url.tuteurs;unix/repertoires.html">cours sur les répertoires</a>.
</p>
<h2><a name="mkdir"><code>mkdir</code> et <code>rmdir</code></a></h2>
<ol>
<li> <a href="solutions/mkdir_cd-sol.html#mk1">&icone.solution;
</a> Créez trois répertoires en une seule ligne de commande.</li>
<li> <a href="solutions/mkdir_cd-sol.html#mk2">&icone.solution;
</a> Effacez ces trois répertoires en une seule ligne de
commande.</li>
<li> <a href="solutions/mkdir_cd-sol.html#mk3">&icone.solution;
</a> Que se passe-t-il si vous tapez
<pre>
mkdir mkdir
</pre></li>
<li> <a href="solutions/mkdir_cd-sol.html#mk4">&icone.solution;
</a> Vous voulez détruire un répertoire <code>bla/</code>,
dont <code>ls</code> vous dit qu'il est vide. Cependant, quand vous tapez
<pre>
rmdir bla
</pre>
<p class="continue">la machine vous répond : </p>
<pre>
rmdir: bla: Directory not empty
</pre>
<p class="continue">
Que faut-il faire ?
</p>
</li>
<li> <a href="solutions/mkdir_cd-sol.html#mk5">&icone.solution;
</a> Est-ce que <code>rmdir</code> peut prendre des
options ?</li>
<li> <a href="solutions/mkdir_cd-sol.html#mk6">&icone.solution;
</a> À quelle condition est-ce que la ligne de commande
<pre>
mkdir Rapport/annexes
</pre>
<p class="continue">
peut fonctionner et créer effectivement ce sous-répertoire ?
</p>
</li>
<li> <a href="solutions/mkdir_cd-sol.html#mk7">&icone.solution;
</a> Y a-t-il une option de <code>mkdir</code> qui permette
de créer à la fois un répertoire et un sous-répertoire de ce
répertoire ?</li>
<li> <a href="solutions/mkdir_cd-sol.html#mk8">&icone.solution;
</a> Comment créer un répertoire en spécifiant des
droits ?</li>
<li> <a href="solutions/mkdir_cd-sol.html#mk9">&icone.solution;
</a> Quel est l'effet de la commande suivante : </li>
<pre>rmdir -p toto/tata/tutu/
</pre>
<li> <a href="solutions/mkdir_cd-sol.html#mk10">&icone.solution;
</a> Vous voulez créer à la fois un répertoire
<code>toto/</code> et un sous répertoire <code>tutu/</code> dans
<code>toto/</code>. Quelle option faut-il utiliser pour que :
<ol>
<li> Si <code>toto/</code> n'existe pas, le répertoire et son sous-répertoire
soient créés;</li>
<li> Si <code>toto/</code> existe déjà, le sous-répertoire <code>tutu/</code>
soit créé, sans message d'erreur.</li>
</ol></li>
</ol>
<h2><a name="cd"><code>cd</code></a></h2>
<p>
But de l'exercice : apprendre à se servir de <code>.</code> et
<code>..</code> («point» et «point point»). Supposons que vous avez
l'arborescence suivante chez vous :
</p>
<p class="centre">
<a name="arbo">
<img src="exocd.png" alt="[Exemple d'arborescence]" />
</a></p>
<ol>
<li> <a href="solutions/mkdir_cd-sol.html#cd1">&icone.solution;
</a> Dans quel répertoire vous trouvez-vous quand vous vous
loguez ?</li>
<li> <a href="solutions/mkdir_cd-sol.html#cd2">&icone.solution;
</a> Allez directement dans
<code>~/Rapport/docs/afaire/</code>.</li>
<li> <a href="solutions/mkdir_cd-sol.html#cd3">&icone.solution;
</a> De là, passez dans <code>~/Rapport/docs/fait/</code>.</li>
<li> <a href="solutions/mkdir_cd-sol.html#cd4">&icone.solution;
</a> Revenez dans <code>~/Rapport/</code>.</li>
<li> <a href="solutions/mkdir_cd-sol.html#cd5">&icone.solution;
</a> Sans changer de répertoire, regardez avec
<code>less</code> le contenu de <code>~/www/index.html</code>.</li>
<li> <a href="solutions/mkdir_cd-sol.html#cd6">&icone.solution;
</a> Passez dans <code>~/Rapport/docs/</code>.</li>
<li> <a href="solutions/mkdir_cd-sol.html#cd7">&icone.solution;
</a> En restant là où vous êtes, affichez les droits de
<code>~/Mail/</code> </li>
<li> <a href="solutions/mkdir_cd-sol.html#cd8">&icone.solution;
</a> Revenez dans votre répertoire principal.</li>
<li> <a href="solutions/mkdir_cd-sol.html#cd9">&icone.solution;
</a> Que se passe-t-il si vous vous déloguez alors que vous
n'êtes pas dans votre répertoire principal ?</li>
</ol>
<div class="metainformation">
Auteur : Joël Riou. Dernière modification le 2002-12-07.
</div>
</body>
</html>