Exercices sur les commandes Unix
[tab name=’♣ Exercices Unix’]
Exercice 1 (joe,less,ls)
- Créez un fichier
premiertexte
contenant une ou deux phrases. - Visualisez le contenu de
premiertexte
sans l’éditer. - Quelle est la taille de
premiertexte
? - Éditez
PREMIERTEXTE
. Que constatez-vous ?
Exercice 2 (cp,ls, mv)
- Faites une copie de
premiertexte
appeléedouble
. - Comparez leurs tailles.
- Renommez
double
enintroduction
. - Quelle différence y a-t-il entre mv double introduction et cp double introduction
Exercice 3 ( mkdir, mv,cp,ls,cd)
- Créez un répertoire
essai/
. - Déplacez
introduction
dansessai/
. - Faites une copie de
premiertexte
appeléecopie
, et placez-la également dansessai/
. - Affichez une liste de ce que contient
essai/
.
Exercice 4 (rmdir, cd, rm)
- Essayez de détruire
essai/
. Que se passe-t-il ? Que faut-il faire pour détruire un répertoire ? - Détruisez tout ce que contient
essai/
. - Détruisez
essai/
.
[/tab][tab name=’Correction’]
Exercice 1 (joe,less,ls)
- Créez un fichier
premiertexte
contenant une ou deux phrases.Pour créer un fichier et écrire du texte de dans, il faut l’éditer avec un éditeur de votre choix. Nous proposonsnano
aux débutants. Il faut donc taperbireme ~ $ 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 faireCtrl-O
pour enregistrer etCtrl-X
pour quitter.Vous pouvez maintenant taper ce que vous voulez et quitter en enregistrant (
Ctrl-X
puis répondrey
au moment oùnano
vous demande si vous voulez enregistrer le texte). - Visualisez le contenu de
premiertexte
sans l’éditerC’est la commandeless
qui permet de faire cela (oumore
, siless
n’est pas installée là où vous vous trouvez). Pour lire le contenu depremiertexte
, il faut taperbireme ~ $ less premiertexte
Pour quitter
less
oumore
, taperq
. - Quelle est la taille de
premiertexte
?C’est l’option-l
dels
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, tapezbireme ~ $ ls -l premiertexte
La config conscrits propose l’alias
ll
pourls -l
. - Éditez
PREMIERTEXTE
. Que constatez-vous ?Pour éditerPREMIERTEXTE
, vous tapezbireme ~ $ 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 pourquoipremiertexte
etPREMIERTEXTE
sont deux fichiers différents.
Exercice 2 (cp,ls, mv)
- Faites une copie de
premiertexte
appeléedouble
C’est la commandecp
(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
- Comparez leurs taillesComme dans l’exercice 1, c’est l’option
-l
dels
qui va servir. En tapantls -l
sans argument, vous affichez le contenu du répertoire en entier. Si vous voulez limiter l’affichage aux deux fichiers souhaités, tapezbireme ~ $ ls -l premiertexte double
- Renommez
double
enintroduction
C’est la commandemv
(move) qui sert à renommer un fichier. Pour renommerdouble
, il faut donc taper :bireme ~ $ mv double introduction
En tapant
ls
, vous pouvez vérifier que le fichierdouble
a disparu au profit d’un fichierintroduction
. - Quelle différence y a-t-il entre
mv double introduction
etcp 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 deintroduction
.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
etintroduction
existent de façon parallèle.
Exercice 3 ( mkdir, mv,cp,ls,cd)
- Créez un répertoire
essai/
Il faut taperbireme ~ $ mkdir essai
(make directory «essai»)
Vous pouvez vérifier en tapant
ls
que le répertoire a bien été créé. - Déplacez
double
dansessai/
C’estmv
(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 fichiersC’est l’option
-F
dels
qui fait apparaître ce symbole; vous avez en fait un alias dels
surls -F
). - Faites une copie de
premiertexte
appeléecopie
, et placez-la également dansessai/
.On peut faire ça de plusieurs façons :- Faire la copie dans le répertoire courant, puis déplacer cette copie dans le sous-répertoire
essai/
:bireme ~ $ cp premiertexte copie bireme ~ $ mv copie essai/
- Faire directement la copie dans le sous-répertoire
essai/
:bireme ~ $ cp premier texte essai/copie
- N’oublions pas le cas où nous ne serions pas dans le répertoire d’accueil, mais dans
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
- Faire la copie dans le répertoire courant, puis déplacer cette copie dans le sous-répertoire
- Affichez une liste de ce que contient
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
Exercice 4 (rmdir, cd, rm)
- Essayez de drétuire
essai/
. Que se passe-t-il ? Que faut-il faire pour détruire un répertoire ?C’est la commandermdir
(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épondrmdir: essai: directory not empty
Il faut donc vider le répertoire pour pouvoir le détruire.
- Détruisez tout ce que contient
essai/
C’est la commanderm
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 *
Attention
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
surrm -i
; l’option-i
est l’option «interactive», qui demande confirmation.Soyez donc prudents : on a vite fait de confondre
mv
(move) etrm
(remove), et l’option-i
n’est pas systématiquement mise. - Détruisez
essai/
Revenez dans le répertoire père (cd ..
) et tapez :bireme ~ $ rmdir essai/
(remove directory «essai»)
Exercices sur les commandes Unix
[/tab][end_tabset skin= »lightness » ]