diff --git a/unix/exercices/solutions/interface-sol.tml b/unix/exercices/solutions/interface-sol.tml index ab38148..49d6a8b 100644 --- a/unix/exercices/solutions/interface-sol.tml +++ b/unix/exercices/solutions/interface-sol.tml @@ -131,7 +131,7 @@ en urgence ; inutile de dire qu'il ne l'appr
Les choses se
passent particulièrement mal avec pine
: c'est pendant la
seconde qui s'écoule entre le moment où vous tapez q
et le moment
diff --git a/unix/exercices/solutions/unix_deb-sol.tml b/unix/exercices/solutions/unix_deb-sol.tml
new file mode 100644
index 0000000..0a97973
--- /dev/null
+++ b/unix/exercices/solutions/unix_deb-sol.tml
@@ -0,0 +1,387 @@
+
+
+
+
&icone.note; Les paragraphes signalés par cette icône sont des + explications plus techniques pour donner une réponse exacte à certaines +questions. Si vous êtes débutant, ce n'est pas nécessaire de les lire +maintenant.
+ +joe
, less
,
+ls
)premiertexte
contenant une ou
+deux phrases.
+
+
+Pour créer un fichier et écrire du texte dedans, il faut l'éditer avec un
+éditeur de votre choix. Nous proposons nano
aux débutants. Il
+faut donc taper
+bireme ~ $ nano premiertexte
+
+
+Utilisation de nano
: le prompt
+affichant le nom de la machine disparaît; vous avez à la place une page
+blanche où vous pouvez taper du texte. Le nom du fichier que vous éditez
+et le nom de l'éditeur sont affichés en haut.
+La liste des commandes disponibles est écrite en bas. Vous pouvez faire
+Ctrl-O
pour enregistrer et Ctrl-X
pour
+quitter.
+Vous pouvez maintenant taper ce que vous voulez et quitter en
+enregistrant (Ctrl-X
puis répondre y
au moment
+où nano
vous demande si vous voulez enregistrer le texte).
+
premiertexte
sans
+l'éditer
+
+
+C'est la commande less
qui permet de faire cela (ou
+more
, si less
n'est pas installée là où vous vous
+trouvez). Pour lire le contenu de premiertexte
, il faut taper
+
+bireme ~ $ less premiertexte
+
+
+
+Pour quitter less
ou more
, taper q
.
+
premiertexte
?
+
+
+C'est l'option -l
de ls
qui permet de savoir la
+taille d'un fichier, sa date de dernière modification, etc. Vous tapez
+donc :
+bireme ~ $ ls -l
+
+
+
+Cette commande sans arguments vous donne la liste de tous vos fichiers. Si
+vous voulez connaître les caractéristiques de premiertexte
et rien
+d'autre, tapez
+
+bireme ~ $ ls -l premiertexte
+
+
+
+La config conscrits propose l'alias ll
pour
+ls -l
.
+
PREMIERTEXTE
. Que
+constatez-vous ?
+
+
+Pour éditer PREMIERTEXTE
, vous tapez
+
+bireme ~ $ joe PREMIERTEXTE
+
+
+
+Vous constatez qu'il s'agit d'un nouveau fichier, et que vous ne retrouvez pas
+le contenu de premiertexte
. C'est normal : Unix est case
+sensitive, c'est-à-dire sensible à la casse des
+caractères : majuscules et minuscules ne sont pas interchangeables. C'est
+pourquoi premiertexte
et PREMIERTEXTE
sont deux
+fichiers différents.
+
cp
, ls
,
+mv
)premiertexte
appelée
+double
+
+
+C'est la commande cp
(copy) qui sert à faire une copie
+d'un fichier, en indiquant le nom du fichier à copier puis nom du nouveau
+fichier. Il faut donc taper :
+bireme ~ $ cp premiertexte double
+
+Comme dans l'exercice 1, c'est l'option -l
de ls
qui
+va servir. En tapant ls -l
sans argument, vous affichez le
+contenu du répertoire en entier. Si vous voulez limiter l'affichage aux deux
+fichiers souhaités, tapez
+
+bireme ~ $ ls -l premiertexte double
+
double
en
+introduction
+
+
+C'est la commande mv
(move) qui sert à renommer un
+fichier. Pour renommer double
, il faut donc taper :
+
+bireme ~ $ mv double introduction
+
+
+
+
+En tapant ls
, vous pouvez vérifier que le fichier
+double
a disparu au profit d'un fichier
+introduction
.
mv double introduction
et
+cp double introduction
?
+
+
+mv
(move) renomme un fichier : seul son nom est
+modifié, son contenu reste inchangé et aucun autre fichier n'est créé.
+double
disparaît au profit de introduction
.
+
+cp
(copy) fait une copie du premier fichier : un
+nouveau fichier est créé, son contenu est identique à celui du fichier
+d'origine, mais leurs noms sont différents. double
et
+introduction
existent de façon parallèle.
+
mkdir
,
+mv
, cp
, ls
,
+cd
)essai/
+
+ +Il faut taper +
+ +
+bireme ~ $ mkdir essai
+
+(make directory «essai»)
+ +
+Vous pouvez vérifier en tapant ls
que le répertoire a bien été
+créé.
+
double
dans essai/
+
+
+C'est mv
(move) qui sert à déplacer des fichiers, ainsi
+qu'à les renommer :
+bireme ~ $ mv double essai/
+
+
+
+Le slash (/
) n'est pas obligatoire, c'est en fait un agrément
+pour identifier plus vite les répertoires dans une liste de fichiers
+
&icone.note; C'est l'option -F
de ls
qui
+fait apparaître ce symbole; vous avez en fait un alias de ls
+sur ls -F
).
premiertexte
appelée
+copie
, et placez-la également dans
+essai/
.
+
++On peut faire ça de plusieurs façons : +
+ +essai/
:
+
++bireme ~ $ cp premiertexte copie +bireme ~ $ mv copie essai/ +
essai/
:
+
+
+bireme ~ $ cp premier texte essai/copie
+
essai/
. On pourrait d'abord faire la copie
+dans le répertoire père, puis amener cette copie là où on se trouve :
+
++bireme ~/essai $ cp ../premier texte ../copie +bireme ~/essai $ mv ../copie . ++ +
Ou plus simplement, on pourrait copier le fichier du répertoire père +directement dans le répertoire courant :
+ +
+bireme ~/essai $ cp ../premiertexte copie
+
essai/
+
++Si l'on est dans le répertoire personnel, on tape : +
+ +
+bireme ~ $ ls essai
+
+
+
+pour avoir une liste de ce que contient essai
. Le résultat
+ressemblera à ça :
+bireme ~ $ ls essai
+copie double
+
+
+
+Et si vous vous trouvez alors dans essai/
, le résultat sera le
+suivant :
+bireme ~/essai $ ls
+copie double
+
rmdir
, cd
,
+rm
)essai/
. Que se
+passe-t-il ? Que faut-il faire pour détruire un
+répertoire ?
+
+ C'est la commande rmdir
(remove directory) qui
+sert à détruire les répertoires. Cependant, on ne peut détruire un
+répertoire qu'à condition qu'il soit entièrement vide, c'est pourquoi le
+programme vous répond
+
+rmdir: essai: directory not empty ++ +
+Il faut donc vider le répertoire pour pouvoir le détruire.
essai/
+
+
+C'est la commande rm
qui permet de détruire des fichiers. Il faut
+donc taper :
+bireme ~/essai $ rm double copie
+
+
+
+
+Vous pouvez aussi vous servir de certains caractères spéciaux; ici, c'est
+*
(étoile) qui est utile. «Étoile» signifie «Tout chaîne de
+caractères ne commençant pas par un point». Donc, pour effacer d'un seul coup
+tous les fichiers du répertoire, vous pouvez taper :
+
+bireme ~/essai $ rm *
+
+
+ Il se trouve que votre configuration est ainsi faite
+que le programme demande confirmation avant d'effacer des fichiers . Cela
+vient de ce qu'il y a un alias de rm
sur
+rm -i
; l'option -i
est l'option «interactive»,
+qui demande confirmation.
+Soyez donc prudents : on a vite fait de confondre mv
+(move) et rm
(remove), et l'option
+-i
n'est pas systématiquement mise.
+
essai/
+
+
+Revenez dans le répertoire père (cd ..
) et tapez :
+
+bireme ~ $ rmdir essai/
+
+(remove directory «essai»)
+joe
, less
,
+ls
)premiertexte
contenant une ou deux
+phrases.premiertexte
sans
+l'éditer.premiertexte
?PREMIERTEXTE
. Que constatez-vous ?cp
, ls
,
+mv
)premiertexte
appelée
+double
.double
en introduction
.+mv double introduction ++
et
++cp double introduction +
mkdir
,
+mv
, cp
, ls
, cd
)essai/
.introduction
dans essai/
.premiertexte
appelée copie
,
+et placez-la également dans essai/
.essai/
.rmdir
,
+cd
, rm
)essai/
. Que se passe-t-il ? Que
+faut-il faire pour détruire un répertoire ?essai/
.essai/
.