Modifications à propos de l'option -h de du, qui n'est plus disponible
sur les Sun. Ajout de quelques exemples pratiques : connaître les plus gros fichiers de son compte, savoir la taille de sa boîte aux lettres.
This commit is contained in:
parent
55c4d4ea10
commit
bb5aa3c7de
1 changed files with 174 additions and 43 deletions
|
@ -33,22 +33,32 @@ contr
|
|||
<code>du</code> et <code>df</code>.
|
||||
</p>
|
||||
|
||||
<h2>Les outils</h2>
|
||||
<h2><a name="du">Taille de fichiers et de répertoires : <code>du</code></a></h2>
|
||||
|
||||
<h3><a name="du"><code>du</code> : tailles de fichiers et de répertoires</a></h3>
|
||||
|
||||
<h4>Connaître la taille d'un répertoire</h4>
|
||||
<h3>Connaître la taille d'un répertoire</h3>
|
||||
|
||||
<p>
|
||||
La commande <strong><code><a name="du">du</a></code></strong> (<em>
|
||||
disk usage</em>) indique la taille de vos répertoires et
|
||||
sous-répertoires. Sur certains systèmes, il peut être utile d'ajouter
|
||||
l'option <code>-k</code> (<em>kilobytes</em>), pour être sûr que le
|
||||
résultat sera bien en kilo-octets. L'option <code>-h</code> est aussi
|
||||
sous-répertoires. Sur certains systèmes, <code>du</code> indique la
|
||||
taille des fichiers en blocs et non en Ko, prenez donc le réflexe
|
||||
d'ajouter l'option <code>-k</code> (<em>kilobytes</em>).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Sur les FreeBSD est disponible l'option <code>-h</code> qui est aussi
|
||||
très utile : elle donne des résultats beaucoup plus lisibles par un
|
||||
humain (la taille est exprimée en Ko, Mo ou Go quand c'est possible).
|
||||
</p>
|
||||
|
||||
<div class="encadre">
|
||||
<strong>À noter</strong> : certaines commandes basiques comme
|
||||
<code>ps</code> ou <code>du</code> n'ont pas le même comportement sur
|
||||
les stations Sun (sous Solaris) et les PC (sous
|
||||
FreeBSD). Reportez-vous aux <a
|
||||
href="&url.tuteurs;unix/aide.html">pages de man</a> (l'aide en ligne)
|
||||
pour vérifier quelles sont les options disponibles sur chaque système.
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Par exemple, voici le contenu du répertoire « histoire » de Toto
|
||||
|
@ -57,7 +67,7 @@ sur les r
|
|||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper ~ $</span> du histoire
|
||||
<span class="prompt">clipper ~ $</span> du -k histoire
|
||||
1973 histoire/maitrise
|
||||
127 histoire/sources/AN
|
||||
36 histoire/sources/divers
|
||||
|
@ -78,12 +88,12 @@ avec tout ce qu'il contient, soit 4910 Ko.
|
|||
</p>
|
||||
|
||||
<p class="continue">
|
||||
Ajouter l'option <code>-h</code> (comme « <i lang="en">human
|
||||
readable</i> ») donne des résultats plus lisibles :
|
||||
Sur un FreeBSD, ajouter l'option <code>-h</code> (comme « <i
|
||||
lang="en">human readable</i> ») donne des résultats plus lisibles :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper ~ $</span> du -h histoire
|
||||
<span class="prompt">brick ~ $</span> du -h histoire
|
||||
2.0M histoire/maitrise
|
||||
127K histoire/sources/AN
|
||||
36K histoire/sources/divers
|
||||
|
@ -100,71 +110,192 @@ readable</i>
|
|||
|
||||
<div class="encadre">
|
||||
<strong>Note</strong> : souvenez-vous que les ordinateurs comptent de
|
||||
manière binaire et non décimale. Un kilo-octets vaut donc 1024 octets,
|
||||
et non 1000. Un méga-octet vaut 1 024 Ko et non 1000, et donc en tout
|
||||
1.048.576 octets. Diviser par 1000 est une approximation commode mais
|
||||
elle peut donner des idées assez inexactes quand on considère beaucoup
|
||||
de données.
|
||||
manière <em>binaire</em> et non décimale. <em>Un kilo-octets vaut donc
|
||||
1024 octets</em>, et non 1000. Un méga-octet vaut 1 024 Ko et non
|
||||
1000, et donc en tout 1.048.576 octets. Diviser par 1000 est une
|
||||
approximation commode mais elle peut donner des idées assez inexactes
|
||||
quand on considère des données très volumineuses.
|
||||
</div>
|
||||
|
||||
<h4>Connaître la taille totale de son compte</h4>
|
||||
<h3>Connaître la taille totale de son compte</h3>
|
||||
|
||||
<p>
|
||||
<code>du -s</code> permet de n'afficher que la dernière ligne,
|
||||
L'option <code>-s</code> permet de n'afficher que la dernière ligne,
|
||||
c'est-à-dire le total de tous les répertoire et sous-répertoires, sans
|
||||
tous les détails. Ainsi, pour connaître la taille de votre compte,
|
||||
faites un <code>du -s</code> à la racine de votre compte :
|
||||
faites un <code>du -sk</code> à la racine de votre compte :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper ~ $</span> du -s
|
||||
<span class="prompt">clipper ~ $</span> du -sk
|
||||
98280 .
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Encore une fois, ajouter l'option <code>-h</code> ne fera pas de mal :
|
||||
Encore une fois, si vous êtes sur un PC FreeBSD, utiliser l'option
|
||||
<code>-h</code> ne fera pas de mal :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper ~ $</span> du -sh
|
||||
<span class="prompt">brick ~ $</span> du -sh
|
||||
96M .
|
||||
</pre>
|
||||
|
||||
<h4>Connaître la taille d'un fichier</h4>
|
||||
<h3>Connaître la taille d'un fichier</h3>
|
||||
|
||||
<p>
|
||||
<code>du -a</code> affiche la taille de tous les fichiers contenus
|
||||
dans vos répertoires et sous-répertoires. Ici, toujours pour le
|
||||
répertoire « histoire » de Toto :
|
||||
L'option <code>-a</code> demande l'affichage la taille de tous les
|
||||
fichiers contenus dans vos répertoires et sous-répertoires. Ici,
|
||||
toujours pour le répertoire « histoire » de Toto :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper ~ $</span> du -ah histoire | head -10
|
||||
200K histoire/maitrise/maitrise.dvi.bz2
|
||||
29K histoire/maitrise/1.html
|
||||
6.0K histoire/maitrise/maitrise.tex
|
||||
18K histoire/maitrise/intro.tex
|
||||
29K histoire/maitrise/1a.tex
|
||||
11K histoire/maitrise/conclu.tex
|
||||
112K histoire/maitrise/maitrise.idx
|
||||
22K histoire/maitrise/A.tex
|
||||
27K histoire/maitrise/biblio.tex
|
||||
10K histoire/maitrise/maitrise.toc
|
||||
<span class="prompt">clipper ~ $</span> du -ak histoire
|
||||
200 histoire/maitrise/maitrise.dvi.bz2
|
||||
29 histoire/maitrise/1.html
|
||||
6 histoire/maitrise/maitrise.tex
|
||||
18 histoire/maitrise/intro.tex
|
||||
29 histoire/maitrise/1a.tex
|
||||
11 histoire/maitrise/conclu.tex
|
||||
112 histoire/maitrise/maitrise.idx
|
||||
22 histoire/maitrise/A.tex
|
||||
27 histoire/maitrise/biblio.tex
|
||||
10 histoire/maitrise/maitrise.toc
|
||||
(...)
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Pour connaître la taille d'un fichier précis, il suffit d'indiquer à
|
||||
<code>du -ah</code> le nom de votre fichier (<code>ls -s</code> fait la:
|
||||
même chose) :
|
||||
<code>du -ak</code> le nom de votre fichier (<code>ls -s</code> fait
|
||||
la même chose) :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper ~ $</span> du -ah histoire/maitrise/maitrise.tex
|
||||
6.0K histoire/maitrise/maitrise.tex
|
||||
<span class="prompt">clipper ~ $</span> du -ak histoire/maitrise/maitrise.tex
|
||||
6 histoire/maitrise/maitrise.tex
|
||||
</pre>
|
||||
|
||||
<h3><a name="df"><code>df</code> : taille d'une partition</a></h3>
|
||||
<h3><a name="bigf">Application : quels sont les plus gros fichiers de votre compte ?</a></h3>
|
||||
|
||||
<p>
|
||||
En utilisant <code>du -ak</code> et le en combinant avec d'autres
|
||||
commandes, vous pouvez savoir précisément quels sont les fichiers et
|
||||
les répertoires qui prennent le plus de place sur votre compte.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper ~ $</span> du -ak | sort -nr | head -10
|
||||
98280 .
|
||||
22007 ./www
|
||||
1658 ./Mail
|
||||
9637 ./www/hist
|
||||
5005 ./www/hist/maitrise
|
||||
4910 ./histoire
|
||||
3941 ./Mail/archives
|
||||
3757 ./www/philo/
|
||||
3274 ./www/philo/cours
|
||||
3112 ./www/philo/cours/hegel
|
||||
2841 ./prive
|
||||
</pre>
|
||||
|
||||
<p class="continue">
|
||||
Vous savez donc que sur ce compte, le répertoire le plus volumineux
|
||||
est <code>www</code> (le répertoire qui contient la page Web), puis
|
||||
<code>Mail</code> (qui contient les dossiers de votre boîte aux
|
||||
lettres). À l'intérieur de <code>www</code>, le répertoire le plus
|
||||
gros est <code>www/hist</code> dont <code>www/hist/maitrise</code>
|
||||
occupe la plus grande part, etc.
|
||||
</p>
|
||||
|
||||
<h4>Explications</h4>
|
||||
|
||||
<ol>
|
||||
<li> <code>du -ak</code> : on demande la taille de tous les fichiers
|
||||
et répertoires du compte, en kilo-octets.</li>
|
||||
<li> <code>|</code> : c'est ce qu'on appelle en anglais un <i
|
||||
lang="en">pipe</i>, un tuyau. Ce « tuyau » sert à envoyer à une autre
|
||||
commande le résultat de <code>du -ak</code>.</li>
|
||||
<li> <code>sort -nr</code> : la commande <code>sort</code> sert à
|
||||
trier des données, en l'espèce on lui demande de trier par taille
|
||||
(<code>-n</code>) puis de classer par ordre décroissant
|
||||
(<code>-r</code>) la liste des fichiers et de leur taille (donnée par
|
||||
<code>du -ak</code>).</li>
|
||||
<li> après un autre <i lang="en">pipe</i>, on utilise la commande
|
||||
<code>head</code>, qui affiche seulement le début d'un fichier. En
|
||||
l'espèce, on lui demande de ne montrer que les 10 premières lignes du
|
||||
résultat des opérations précédentes.</li>
|
||||
</ol>
|
||||
|
||||
<p class="continue">
|
||||
Le résultat de toutes ces opérations un peu complexes, c'est que vous
|
||||
avez affiché les 10 plus gros répertoires ou fichiers (les deux
|
||||
confondus) de votre compte. Pour ajuster le nombre de fichiers à
|
||||
afficher, changez le nombre après <code>head</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Si vous voulez conserver quelque part la liste de vos gros fichiers,
|
||||
par exemple si vous demandez une longue liste, utilisez une
|
||||
redirection (<code>></code>) :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper ~ $</span> du -ak | sort -nr | head -50 > gros_fichiers.txt
|
||||
</pre>
|
||||
|
||||
<p class="continue">
|
||||
Le résultat de votre tri sera conservé dans le fichier
|
||||
<code>gros_fichiers.txt</code> que vous pourrez étudier à tête
|
||||
reposée.
|
||||
</p>
|
||||
|
||||
<h3>Application : quelle est la taille de votre boîte aux lettres ?</h3>
|
||||
|
||||
<p>
|
||||
Nous allons de nouveau utiliser le mécanisme des pipes décrit
|
||||
ci-dessus. Toutes les boîtes aux lettres des gens ayant un compte sur
|
||||
<code>clipper</code> sont dans le répertoire <code>/var/mail</code>. À
|
||||
chaque utilisateur correspond le fichier
|
||||
<code>/var/mail/login</code> : c'est le contenu de votre boîte aux
|
||||
lettres principale.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper</span> ~ $ ls -s /var/mail | grep toto
|
||||
1142 /var/mail/toto
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Cette fois-ci, il s'agit de :
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li> demander la taille des fichiers contenus dans le répertoire
|
||||
<code>/var/mail</code></li>
|
||||
<li> <a href="&url.tuteurs;unix/chercher.html">chercher</a> avec la
|
||||
commande <code>grep</code> le fichier qui vous correspond</li>
|
||||
</ol>
|
||||
|
||||
<p class="continue">
|
||||
La boîte mail de l'utilisateur <code>toto</code> fait donc 1142
|
||||
Ko. Pour savoir qui ont les plus grosses boîtes aux lettres :
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<span class="prompt">clipper</span> ~ $ ls -s /var/mail | sort -nr | head -10
|
||||
161704 blevy
|
||||
116728 derrida
|
||||
75888 hcartan
|
||||
64912 raron
|
||||
51744 pasteur
|
||||
45368 htaine
|
||||
44720 poincare
|
||||
44712 cpeguy
|
||||
44336 rthom
|
||||
43896 egalois
|
||||
</pre>
|
||||
|
||||
<h2><a name="df">Taille d'une partition : <code>df</code></a></h2>
|
||||
|
||||
<p>
|
||||
La commande <strong><code><a name="df">df</a></code></strong> (<em>
|
||||
|
@ -317,7 +448,7 @@ la page des WinTuteurs
|
|||
</p>
|
||||
|
||||
<div class="metainformation">Auteur : Émilia Robin, Marie-Lan
|
||||
Nguyen. Dernière modification : le <date value="$Date: 2003-12-02 15:13:21 $" />.</div>
|
||||
Nguyen. Dernière modification : le <date value="$Date: 2004-02-03 14:03:36 $" />.</div>
|
||||
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue