tuteurs.ens.fr/unix/exercices/solutions/ls-sol.tml

316 lines
8.6 KiB
Text
Raw Normal View History

<?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<69> des exercices sur <code>ls</code></h1>
<p>Ces exercices sont des questions de cours<72>: 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 <20> se d<>placer dans les
pages de man... et la commande servant <20> 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<6C>s.</p></li>
<li><a name="ls2"> <strong>Quelle est la taille de votre
<code>.flnewsrc.forum</code></strong> </a><3E>?
<pre>ls -al .flnewsrc.forum</pre>
<p>
L'option <code>-a</code> fait appara<72>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<63>, 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 <20>tes abonn<6E>s et les messages que
vous avez d<>j<EFBFBD> lus. Il est remis <20> jour <20> chaque fois que vous lisez
forum<EFBFBD>: la date indiqu<71>e correspond donc <20> la derni<6E>re fois que vous avec
lanc<EFBFBD> (ou plus pr<70>cis<69>ment, quitt<74>...) forum.
</p></li>
<li><a name="ls3"> <strong><3E> quoi sert l'option <code>-R</code> de
<code>ls</code><3E>? </strong> </a>
<p>Cette option permet d'afficher une liste r<>cursive, c'est-<2D>-dire qui indique
le contenu des r<>pertoires list<73>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<73>s par d<>faut? Quelles sont les options qui peuvent servir <20>
modifier ce crit<69>re de classement<6E>?</strong> </a>
<p>
Pour savoir cela, il faut chercher le mot <em>sort</em> dans le man de
<code>ls</code>. La premi<6D>re occurence vous dit que par d<>faut le r<>sultat est
tri<EFBFBD> par ordre alphab<61>tique, selon la premi<6D>re lettre des fichiers. De fa<66>on
plus pr<70>cise, l'ordre est le suivant<6E>: ponctuations, chiffres,
majuscules, minuscules, selon l'ordre d<>fini par la table des caract<63>res
ASCII.</p>
<p>
En continuant <20> chercher, vous trouvez des options int<6E>ressantes<65>:
<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<6E>re
modification.</p>
</li>
<li><a name="ls5"> <strong>Affichez le contenu de votre r<>pertoire courant de
telle sorte que les fichiers modifi<66>s r<>cemment apparaissent en
premier.</strong> </a>
<pre>
ls -t
</pre>
<p class="continue">
si vous voulez juste modifier le crit<69>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><3E>? Qu'est-ce que cela signifie<69>?</strong> </a>
<p>
La ligne ressemble <20> ceci<63>:
</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<63>res, allant par trois; <code>r, w, x</code>
correspondent aux droits que vous avez sur le r<>pertoire (ou le
fichier)<29>: <code>r</code> (<em>read</em>) pour le droit de lecture,
<code>w</code> (<em>write</em>) pour le droit d'<27>criture, <code>x</code>
(<em>execute</em>) pour le droit d'ex<65>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<72>taire a le droit de lire et <20>crire dans son
r<EFBFBD>pertoire <code>Mail/</code>, ainsi que d'y acc<63>der. Les r<>pertoires et les
fichiers de courrier sont prot<6F>g<EFBFBD>s contre les indiscr<63>tions.
</p>
<p>
Un fichier de texte standard a les droits suivants<74>:
</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'<27>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<65>cutable. </p>
<p>
Remarque<EFBFBD>: ne c<>dez pas <20> la parano<6E>a... vos camarades ne passent pas
leur temps <20> farfouiller sur les comptes des voisins, donc vous n'avez pas
besoin d'interdire <20> 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<6C>-l</code>. </strong> </a>
<ul>
<li>
<pre>
<strong>-rw-r--r--</strong><3E>1<EFBFBD>robin<69><6E><EFBFBD><EFBFBD>litt95<39><35><EFBFBD><EFBFBD><EFBFBD>754<35>Mar<61>22<32>11:59<35>projet.aux
</pre>
<p>Les dix premiers caract<63>res d<>taillent les droits du fichier. Le premier
carat<EFBFBD>re identifie le type du fichier<65>: ici, rien n'est sp<73>cifi<66>, c'est
donc un fichier normal. L'exercice pr<70>c<EFBFBD>dent d<>taille la signification des
lettres suivantes. Ce sont les droits normaux d'un fichier standard<72>:
tout le monde (propri<72>taire, groupe et autres utilisateurs) peut lire le
fichier, seul le propri<72>taire peut <20>crire dedans.
</p>
</li>
<li>
<pre>
-rw-r--r--<2D><strong>1</strong><3E>robin<69><6E><EFBFBD><EFBFBD>litt95<39><35><EFBFBD><EFBFBD><EFBFBD>754<35>Mar<61>22<32>11:59<35>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 <20> un niveau
d<EFBFBD>butant...).
</p></li>
<li>
<pre>
-rw-r--r--<2D>1<EFBFBD><strong>robin</strong><3E><><EFBFBD><EFBFBD>litt95<39><35><EFBFBD><EFBFBD><EFBFBD>754<35>Mar<61>22<32>11:59<35>projet.aux
</pre>
<p>
Le troisi<73>me champ donne le nom du propri<72>taire du fichier. Ici, il s'agit de
l'utilisateur <code>robin</code>.</p></li>
<li>
<pre>
-rw-r--r--<2D>1<EFBFBD>robin<69><6E><EFBFBD><EFBFBD><strong>litt95</strong><3E><><EFBFBD><EFBFBD><EFBFBD>754<35>Mar<61>22<32>11:59<35>projet.aux
</pre>
<p>
Ce champ indique le groupe de l'utilisateur. Ici, nous apprenons qu'<27>milia est
une litt<74>raire de la promotion 1995.
</p></li>
<li>
<pre>
-rw-r--r--<2D>1<EFBFBD>robin<69><6E><EFBFBD><EFBFBD>litt95<39><35><EFBFBD><EFBFBD><EFBFBD><strong>754</strong><3E>Mar<61>22<32>11:59<35>projet.aux
</pre>
<p>
Ce chiffre donne la taille en octets du fichier consid<69>r<EFBFBD>. Ici, le fichier
fait 754 octets, soit moins d'un Ko (1000 octets). C'est un petit fichier.
</p>
<pre>
-rw-r--r--<2D>1<EFBFBD>robin<69><6E><EFBFBD><EFBFBD>litt95<39><35><EFBFBD><EFBFBD><EFBFBD>754<35><strong>Mar<61>22<32>11:59</strong><3E>projet.aux
</pre>
<p>Ce champ indique la date de derni<6E>re modification du fichier, ici le 22 mars
de l'ann<6E>e courante, <20> 11h59. Quand le fichier date d'une ann<6E>e ant<6E>rieure,
celle-ci est indiqu<71>e et l'heure ne figure plus.</p>
<pre>
-rw-r--r--<2D>1<EFBFBD>robin<69><6E><EFBFBD><EFBFBD>litt95<39><35><EFBFBD><EFBFBD><EFBFBD>754<35>Mar<61>22<32>11:59<35><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<EFBFBD><EFBFBD>? </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 <20> 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<63>res identifiant les fichiers </strong> </a>
<p>
Ce sont les caract<63>res suivants<74>:
</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><3E>toile</td>
<td>(<code>*</code>)</td>
<td>pour un ex<65>cutable</td>
</tr>
<tr>
<td><em>pipe</em></td>
<td>(<code>|</code>)</td>
<td>pour un <em>pipe</em> nomm<6D></td>
</tr>
<tr>
<td><3E>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'<27>ex<65>cuter<65> un r<>pertoire, c'est avoir le droit d'y acc<63>der,
de s'y d<>placer; mais je n'ai pas le droit de <20>lire<72> son contenu. Donc, <20>
moins d'en <20>tre propri<72>taire, je ne peux pas afficher le contenu d'un
r<EFBFBD>pertoire ayant comme droits<74>:
</p>
<pre>
drwx--x--x
</pre>
</li>
</ol>
<div class="metainformation">
Auteur<75>: <20>milia Robin, Jo<4A>l Riou. Derni<6E>re modification le <date value="$Date: 2007-07-17 10:03:38 $"/>.
</div>
</body>
</html>