315 lines
8.6 KiB
XML
315 lines
8.6 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||
<!DOCTYPE html
|
||
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
||
"tuteurs://DTD/tml.dtd">
|
||
<html>
|
||
<head>
|
||
<title>ls</title>
|
||
</head>
|
||
<body>
|
||
|
||
<h1>Corrigé des exercices sur <code>ls</code></h1>
|
||
|
||
<p>Ces exercices sont des questions de cours : les solutions se trouvent
|
||
toutes dans les pages de man des commandes en question. On suppose donc
|
||
connues les commandes de <code>less</code>, qui servent à se déplacer dans les
|
||
pages de man... et la commande servant à chercher un mot. Testez les
|
||
commandes sur des fichiers et répertoires d'essai pour vous faire la main et
|
||
comprendre ce qui se passe.</p>
|
||
|
||
<ol>
|
||
|
||
<li><a name="ls1"> <strong>Affichez le contenu de
|
||
<code>/usr/local/games/bin</code> </strong> </a>
|
||
|
||
<pre>
|
||
ls /usr/local/games/bin
|
||
</pre>
|
||
|
||
<p>Vous obtenez une liste des jeux installés.</p></li>
|
||
|
||
<li><a name="ls2"> <strong>Quelle est la taille de votre
|
||
<code>.flnewsrc.forum</code></strong> </a> ?
|
||
|
||
|
||
<pre>ls -al .flnewsrc.forum</pre>
|
||
|
||
|
||
<p>
|
||
L'option <code>-a</code> fait apparaître les fichiers de configuration, qui
|
||
commencent par un point; l'option <code>-l</code> affiche plusieurs
|
||
renseignements, en particulier la taille. En fait, si vous indiquez le nom
|
||
complet du fichier cherché, avec le point, l'option <code>-a</code> est
|
||
inutile; c'est le cas ici.
|
||
</p>
|
||
|
||
<p>
|
||
Le <code>.flnewsrc.forum</code> contient la liste de continua de forum avec
|
||
des indications sur les contis auxquels vous êtes abonnés et les messages que
|
||
vous avez déjà lus. Il est remis à jour à chaque fois que vous lisez
|
||
forum : la date indiquée correspond donc à la dernière fois que vous avec
|
||
lancé (ou plus précisément, quitté...) forum.
|
||
</p></li>
|
||
|
||
|
||
<li><a name="ls3"> <strong>À quoi sert l'option <code>-R</code> de
|
||
<code>ls</code> ? </strong> </a>
|
||
|
||
<p>Cette option permet d'afficher une liste récursive, c'est-à-dire qui indique
|
||
le contenu des répertoires listés, ainsi que de leurs sous-répertoires. Si
|
||
vous tapez <code>ls -R</code> dans votre répertoire personnel, vous aurez une
|
||
liste de tout ce que vous avez chez vous.</p></li>
|
||
|
||
<li><a name="ls4"> <strong>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 ?</strong> </a>
|
||
|
||
<p>
|
||
Pour savoir cela, il faut chercher le mot <em>sort</em> dans le man de
|
||
<code>ls</code>. La première occurence vous dit que par défaut le résultat est
|
||
trié par ordre alphabétique, selon la première lettre des fichiers. De façon
|
||
plus précise, l'ordre est le suivant : ponctuations, chiffres,
|
||
majuscules, minuscules, selon l'ordre défini par la table des caractères
|
||
ASCII.</p>
|
||
|
||
<p>
|
||
En continuant à chercher, vous trouvez des options intéressantes :
|
||
<code>-r</code> (<em>reverse</em>), qui inverse l'ordre de classement,
|
||
<code>-t</code> (<em>time</em>) qui trie en fonction de la date de dernière
|
||
modification.</p>
|
||
</li>
|
||
|
||
<li><a name="ls5"> <strong>Affichez le contenu de votre répertoire courant de
|
||
telle sorte que les fichiers modifiés récemment apparaissent en
|
||
premier.</strong> </a>
|
||
|
||
<pre>
|
||
ls -t
|
||
</pre>
|
||
<p class="continue">
|
||
si vous voulez juste modifier le critère de tri, sans plus de renseignements;
|
||
ou encore</p>
|
||
<pre>ls -lt</pre>
|
||
<p class="continue">
|
||
si vous voulez une longue liste.
|
||
</p></li>
|
||
|
||
<li><a name="ls6"> <strong>Quels sont les droits de votre répertoire
|
||
<code>Mail</code> ? Qu'est-ce que cela signifie ?</strong> </a>
|
||
|
||
|
||
<p>
|
||
La ligne ressemble à ceci :
|
||
</p>
|
||
|
||
<pre>
|
||
drwx------ 2 toto litt98 512 Apr 2 19:02 Mail
|
||
</pre>
|
||
|
||
<p>
|
||
Le <code>d</code> indique qu'il s'agit d'un répertoire (<em>directory</em>).
|
||
Suivent ensuite neuf caractères, allant par trois; <code>r, w, x</code>
|
||
correspondent aux droits que vous avez sur le répertoire (ou le
|
||
fichier) : <code>r</code> (<em>read</em>) pour le droit de lecture,
|
||
<code>w</code> (<em>write</em>) pour le droit d'écriture, <code>x</code>
|
||
(<em>execute</em>) pour le droit d'exécution.
|
||
</p>
|
||
|
||
<p>
|
||
Les six tirets qui suivent correspondent aux droits qu'ont le groupe (ici
|
||
<code>litt98</code>) puis le reste des utilisateurs. Ici il y a des tirets, ce
|
||
qui signifie qu'ils n'ont aucun droit sur ce répertoire.
|
||
</p>
|
||
|
||
<p>
|
||
Cela veut dire que seul le propriétaire a le droit de lire et écrire dans son
|
||
répertoire <code>Mail/</code>, ainsi que d'y accéder. Les répertoires et les
|
||
fichiers de courrier sont protégés contre les indiscrétions.
|
||
</p>
|
||
|
||
<p>
|
||
Un fichier de texte standard a les droits suivants :
|
||
</p>
|
||
|
||
<pre>
|
||
-rw-r--r--
|
||
</pre>
|
||
|
||
|
||
<p> Il y a un tiret tout au début, ce qui signifie que c'est un fichier
|
||
normal; vous avez le droit d'écrire et de lire (<code>rw-</code>), votre
|
||
groupe et les autres utilisateurs ont le droit de lire le fichier
|
||
(<code>r--</code>). La commande <a
|
||
href="&url.tuteurs;unix/droits.html"><code>chmod</code></a> permet de
|
||
changer ces droits, si l'on veut restreindre la lecture, ou rendre un
|
||
fichier exécutable. </p>
|
||
|
||
|
||
<p>
|
||
Remarque : ne cédez pas à la paranoïa... vos camarades ne passent pas
|
||
leur temps à farfouiller sur les comptes des voisins, donc vous n'avez pas
|
||
besoin d'interdire à la lecture tout ce que vous avez chez vous.
|
||
</p></li>
|
||
|
||
<li><a name="ls7"> <strong>Décrivez le résultat de la commande
|
||
<code>ls -l</code>. </strong> </a>
|
||
|
||
<ul>
|
||
|
||
<li>
|
||
|
||
<pre>
|
||
<strong>-rw-r--r--</strong> 1 robin litt95 754 Mar 22 11:59 projet.aux
|
||
</pre>
|
||
|
||
<p>Les dix premiers caractères détaillent les droits du fichier. Le premier
|
||
caratère identifie le type du fichier : ici, rien n'est spécifié, c'est
|
||
donc un fichier normal. L'exercice précédent détaille la signification des
|
||
lettres suivantes. Ce sont les droits normaux d'un fichier standard :
|
||
tout le monde (propriétaire, groupe et autres utilisateurs) peut lire le
|
||
fichier, seul le propriétaire peut écrire dedans.
|
||
</p>
|
||
</li>
|
||
|
||
|
||
<li>
|
||
<pre>
|
||
-rw-r--r-- <strong>1</strong> robin litt95 754 Mar 22 11:59 projet.aux
|
||
</pre>
|
||
|
||
<p>
|
||
Le chiffre indique le nombre de liens. Nous vous renvoyons aux exercices sur
|
||
les liens pour plus d'explications (qui peuvent attendre à un niveau
|
||
débutant...).
|
||
</p></li>
|
||
|
||
<li>
|
||
<pre>
|
||
-rw-r--r-- 1 <strong>robin</strong> litt95 754 Mar 22 11:59 projet.aux
|
||
</pre>
|
||
<p>
|
||
Le troisième champ donne le nom du propriétaire du fichier. Ici, il s'agit de
|
||
l'utilisateur <code>robin</code>.</p></li>
|
||
|
||
<li>
|
||
<pre>
|
||
-rw-r--r-- 1 robin <strong>litt95</strong> 754 Mar 22 11:59 projet.aux
|
||
</pre>
|
||
|
||
<p>
|
||
Ce champ indique le groupe de l'utilisateur. Ici, nous apprenons qu'Émilia est
|
||
une littéraire de la promotion 1995.
|
||
</p></li>
|
||
|
||
<li>
|
||
<pre>
|
||
-rw-r--r-- 1 robin litt95 <strong>754</strong> Mar 22 11:59 projet.aux
|
||
</pre>
|
||
|
||
<p>
|
||
Ce chiffre donne la taille en octets du fichier considéré. Ici, le fichier
|
||
fait 754 octets, soit moins d'un Ko (1000 octets). C'est un petit fichier.
|
||
</p>
|
||
|
||
<pre>
|
||
-rw-r--r-- 1 robin litt95 754 <strong>Mar 22 11:59</strong> projet.aux
|
||
</pre>
|
||
|
||
|
||
<p>Ce champ indique la date de dernière modification du fichier, ici le 22 mars
|
||
de l'année courante, à 11h59. Quand le fichier date d'une année antérieure,
|
||
celle-ci est indiquée et l'heure ne figure plus.</p>
|
||
|
||
<pre>
|
||
-rw-r--r-- 1 robin litt95 754 Mar 22 11:59 <strong>projet.aux</strong>
|
||
</pre>
|
||
<p>
|
||
Vient enfin le nom du fichier. Le suffixe <code>.aux</code> montre qu'il s'agit
|
||
d'un fichier produit par LaTeX lors de la compilation d'un fichier
|
||
<code>projet.tex</code>.</p></li>
|
||
|
||
</ul></li>
|
||
|
||
<li><a name="ls8"> <strong> Comment afficher les droits d'un répertoire
|
||
donné ? </strong> </a>
|
||
|
||
<p>
|
||
Si on tape
|
||
</p>
|
||
|
||
<pre>
|
||
ls -l repertoire/
|
||
</pre>
|
||
|
||
<p>
|
||
c'est le contenu du répertoire qui s'affiche, et pas son statut à lui.
|
||
L'option <code>-d</code> (<em>directory</em>) permet de lister le répertoire
|
||
lui-même.
|
||
</p></li>
|
||
|
||
<li><a name="ls9"> <strong>Caractères identifiant les fichiers </strong> </a>
|
||
<p>
|
||
Ce sont les caractères suivants :
|
||
</p>
|
||
|
||
|
||
<table class="tableau">
|
||
<tr>
|
||
<td>slash</td>
|
||
<td>(<code>/</code>)</td>
|
||
<td>pour un répertoire</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td>arobase</td>
|
||
<td>(<code>@</code>)</td>
|
||
<td>pour un lien symbolique</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td>étoile</td>
|
||
<td>(<code>*</code>)</td>
|
||
<td>pour un exécutable</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td><em>pipe</em></td>
|
||
<td>(<code>|</code>)</td>
|
||
<td>pour un <em>pipe</em> nommé</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td>égal</td>
|
||
<td>(<code>=</code>)</td>
|
||
<td>pour un socket</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<p>
|
||
C'est l'option <code>-F</code> qui permet de les afficher.
|
||
</p></li>
|
||
|
||
|
||
<li><a name="ls10"> <strong>Droits sur un répertoire </strong> </a>
|
||
|
||
<p>
|
||
Avoir le droit d'«exécuter» un répertoire, c'est avoir le droit d'y accéder,
|
||
de s'y déplacer; mais je n'ai pas le droit de «lire» son contenu. Donc, à
|
||
moins d'en être propriétaire, je ne peux pas afficher le contenu d'un
|
||
répertoire ayant comme droits :
|
||
</p>
|
||
|
||
<pre>
|
||
drwx--x--x
|
||
</pre>
|
||
</li>
|
||
|
||
</ol>
|
||
|
||
<div class="metainformation">
|
||
Auteur : Émilia Robin, Joël Riou. Dernière modification le 2002-12-08.
|
||
</div>
|
||
|
||
</body>
|
||
</html>
|
||
|