2009-09-20 12:34:28 +02:00
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
<!DOCTYPE html
|
|
|
|
|
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
|
|
|
|
"tuteurs://DTD/tml.dtd">
|
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<title>ls</title>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<h1>Corrigé des exercices sur <code>ls</code></h1>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<p>Ces exercices sont des questions de cours : les solutions se trouvent
|
2002-12-09 04:39:15 +01:00
|
|
|
|
toutes dans les pages de man des commandes en question. On suppose donc
|
2009-09-20 12:27:14 +02:00
|
|
|
|
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
|
2002-12-09 04:39:15 +01:00
|
|
|
|
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>
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<p>Vous obtenez une liste des jeux installés.</p></li>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
|
|
|
|
|
<li><a name="ls2"> <strong>Quelle est la taille de votre
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<code>.flnewsrc.forum</code></strong> </a> ?
|
2002-12-09 04:39:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<pre>ls -al .flnewsrc.forum</pre>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
L'option <code>-a</code> fait apparaître les fichiers de configuration, qui
|
2002-12-09 04:39:15 +01:00
|
|
|
|
commencent par un point; l'option <code>-l</code> affiche plusieurs
|
|
|
|
|
renseignements, en particulier la taille. En fait, si vous indiquez le nom
|
2009-09-20 12:27:14 +02:00
|
|
|
|
complet du fichier cherché, avec le point, l'option <code>-a</code> est
|
2002-12-09 04:39:15 +01:00
|
|
|
|
inutile; c'est le cas ici.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Le <code>.flnewsrc.forum</code> contient la liste de continua de forum avec
|
2009-09-20 12:27:14 +02:00
|
|
|
|
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.
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</p></li>
|
|
|
|
|
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<li><a name="ls3"> <strong>À quoi sert l'option <code>-R</code> de
|
|
|
|
|
<code>ls</code> ? </strong> </a>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<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
|
2002-12-09 04:39:15 +01:00
|
|
|
|
liste de tout ce que vous avez chez vous.</p></li>
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<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>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Pour savoir cela, il faut chercher le mot <em>sort</em> dans le man de
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<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
|
2002-12-09 04:39:15 +01:00
|
|
|
|
ASCII.</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
En continuant à chercher, vous trouvez des options intéressantes :
|
2002-12-09 04:39:15 +01:00
|
|
|
|
<code>-r</code> (<em>reverse</em>), qui inverse l'ordre de classement,
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<code>-t</code> (<em>time</em>) qui trie en fonction de la date de dernière
|
2002-12-09 04:39:15 +01:00
|
|
|
|
modification.</p>
|
|
|
|
|
</li>
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<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
|
2002-12-09 04:39:15 +01:00
|
|
|
|
premier.</strong> </a>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
ls -t
|
|
|
|
|
</pre>
|
|
|
|
|
<p class="continue">
|
2009-09-20 12:27:14 +02:00
|
|
|
|
si vous voulez juste modifier le critère de tri, sans plus de renseignements;
|
2002-12-09 04:39:15 +01:00
|
|
|
|
ou encore</p>
|
|
|
|
|
<pre>ls -lt</pre>
|
|
|
|
|
<p class="continue">
|
|
|
|
|
si vous voulez une longue liste.
|
|
|
|
|
</p></li>
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<li><a name="ls6"> <strong>Quels sont les droits de votre répertoire
|
|
|
|
|
<code>Mail</code> ? Qu'est-ce que cela signifie ?</strong> </a>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
La ligne ressemble à ceci :
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
drwx------ 2 toto litt98 512 Apr 2 19:02 Mail
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
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.
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</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
|
2009-09-20 12:27:14 +02:00
|
|
|
|
qui signifie qu'ils n'ont aucun droit sur ce répertoire.
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
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.
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
Un fichier de texte standard a les droits suivants :
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
-rw-r--r--
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<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
|
2002-12-09 04:39:15 +01:00
|
|
|
|
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
|
2009-09-20 12:27:14 +02:00
|
|
|
|
fichier exécutable. </p>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
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.
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</p></li>
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<li><a name="ls7"> <strong>Décrivez le résultat de la commande
|
|
|
|
|
<code>ls -l</code>. </strong> </a>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
|
|
|
|
|
|
<li>
|
|
|
|
|
|
|
|
|
|
<pre>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<strong>-rw-r--r--</strong> 1 robin litt95 754 Mar 22 11:59 projet.aux
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</pre>
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<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.
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</p>
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li>
|
|
|
|
|
<pre>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
-rw-r--r-- <strong>1</strong> robin litt95 754 Mar 22 11:59 projet.aux
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Le chiffre indique le nombre de liens. Nous vous renvoyons aux exercices sur
|
2009-09-20 12:27:14 +02:00
|
|
|
|
les liens pour plus d'explications (qui peuvent attendre à un niveau
|
|
|
|
|
débutant...).
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</p></li>
|
|
|
|
|
|
|
|
|
|
<li>
|
|
|
|
|
<pre>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
-rw-r--r-- 1 <strong>robin</strong> litt95 754 Mar 22 11:59 projet.aux
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</pre>
|
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
Le troisième champ donne le nom du propriétaire du fichier. Ici, il s'agit de
|
2002-12-09 04:39:15 +01:00
|
|
|
|
l'utilisateur <code>robin</code>.</p></li>
|
|
|
|
|
|
|
|
|
|
<li>
|
|
|
|
|
<pre>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
-rw-r--r-- 1 robin <strong>litt95</strong> 754 Mar 22 11:59 projet.aux
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
Ce champ indique le groupe de l'utilisateur. Ici, nous apprenons qu'Émilia est
|
|
|
|
|
une littéraire de la promotion 1995.
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</p></li>
|
|
|
|
|
|
|
|
|
|
<li>
|
|
|
|
|
<pre>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
-rw-r--r-- 1 robin litt95 <strong>754</strong> Mar 22 11:59 projet.aux
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
Ce chiffre donne la taille en octets du fichier considéré. Ici, le fichier
|
2002-12-09 04:39:15 +01:00
|
|
|
|
fait 754 octets, soit moins d'un Ko (1000 octets). C'est un petit fichier.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
-rw-r--r-- 1 robin litt95 754 <strong>Mar 22 11:59</strong> projet.aux
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<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>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
|
|
|
|
|
<pre>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
-rw-r--r-- 1 robin litt95 754 Mar 22 11:59 <strong>projet.aux</strong>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</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>
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<li><a name="ls8"> <strong> Comment afficher les droits d'un répertoire
|
|
|
|
|
donné ? </strong> </a>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Si on tape
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
ls -l repertoire/
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
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.
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</p></li>
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<li><a name="ls9"> <strong>Caractères identifiant les fichiers </strong> </a>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
Ce sont les caractères suivants :
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<table class="tableau">
|
|
|
|
|
<tr>
|
|
|
|
|
<td>slash</td>
|
|
|
|
|
<td>(<code>/</code>)</td>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<td>pour un répertoire</td>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
|
<td>arobase</td>
|
|
|
|
|
<td>(<code>@</code>)</td>
|
|
|
|
|
<td>pour un lien symbolique</td>
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<td>étoile</td>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
<td>(<code>*</code>)</td>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<td>pour un exécutable</td>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
|
<td><em>pipe</em></td>
|
|
|
|
|
<td>(<code>|</code>)</td>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<td>pour un <em>pipe</em> nommé</td>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<td>égal</td>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
<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>
|
|
|
|
|
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<li><a name="ls10"> <strong>Droits sur un répertoire </strong> </a>
|
2002-12-09 04:39:15 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
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 :
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
drwx--x--x
|
|
|
|
|
</pre>
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
<div class="metainformation">
|
2009-09-20 12:27:14 +02:00
|
|
|
|
Auteur : Émilia Robin, Joël Riou. Dernière modification le <date value="$Date: 2007-07-17 10:03:38 $"/>.
|
2002-12-09 04:39:15 +01:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
|