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>.
|
<code>du</code> et <code>df</code>.
|
||||||
</p>
|
</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>
|
<h3>Connaître la taille d'un répertoire</h3>
|
||||||
|
|
||||||
<h4>Connaître la taille d'un répertoire</h4>
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
La commande <strong><code><a name="du">du</a></code></strong> (<em>
|
La commande <strong><code><a name="du">du</a></code></strong> (<em>
|
||||||
disk usage</em>) indique la taille de vos répertoires et
|
disk usage</em>) indique la taille de vos répertoires et
|
||||||
sous-répertoires. Sur certains systèmes, il peut être utile d'ajouter
|
sous-répertoires. Sur certains systèmes, <code>du</code> indique la
|
||||||
l'option <code>-k</code> (<em>kilobytes</em>), pour être sûr que le
|
taille des fichiers en blocs et non en Ko, prenez donc le réflexe
|
||||||
résultat sera bien en kilo-octets. L'option <code>-h</code> est aussi
|
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
|
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).
|
humain (la taille est exprimée en Ko, Mo ou Go quand c'est possible).
|
||||||
</p>
|
</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>
|
<p>
|
||||||
Par exemple, voici le contenu du répertoire « histoire » de Toto
|
Par exemple, voici le contenu du répertoire « histoire » de Toto
|
||||||
|
@ -57,7 +67,7 @@ sur les r
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<span class="prompt">clipper ~ $</span> du histoire
|
<span class="prompt">clipper ~ $</span> du -k histoire
|
||||||
1973 histoire/maitrise
|
1973 histoire/maitrise
|
||||||
127 histoire/sources/AN
|
127 histoire/sources/AN
|
||||||
36 histoire/sources/divers
|
36 histoire/sources/divers
|
||||||
|
@ -78,12 +88,12 @@ avec tout ce qu'il contient, soit 4910 Ko.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="continue">
|
<p class="continue">
|
||||||
Ajouter l'option <code>-h</code> (comme « <i lang="en">human
|
Sur un FreeBSD, ajouter l'option <code>-h</code> (comme « <i
|
||||||
readable</i> ») donne des résultats plus lisibles :
|
lang="en">human readable</i> ») donne des résultats plus lisibles :
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<span class="prompt">clipper ~ $</span> du -h histoire
|
<span class="prompt">brick ~ $</span> du -h histoire
|
||||||
2.0M histoire/maitrise
|
2.0M histoire/maitrise
|
||||||
127K histoire/sources/AN
|
127K histoire/sources/AN
|
||||||
36K histoire/sources/divers
|
36K histoire/sources/divers
|
||||||
|
@ -100,71 +110,192 @@ readable</i>
|
||||||
|
|
||||||
<div class="encadre">
|
<div class="encadre">
|
||||||
<strong>Note</strong> : souvenez-vous que les ordinateurs comptent de
|
<strong>Note</strong> : souvenez-vous que les ordinateurs comptent de
|
||||||
manière binaire et non décimale. Un kilo-octets vaut donc 1024 octets,
|
manière <em>binaire</em> et non décimale. <em>Un kilo-octets vaut donc
|
||||||
et non 1000. Un méga-octet vaut 1 024 Ko et non 1000, et donc en tout
|
1024 octets</em>, et non 1000. Un méga-octet vaut 1 024 Ko et non
|
||||||
1.048.576 octets. Diviser par 1000 est une approximation commode mais
|
1000, et donc en tout 1.048.576 octets. Diviser par 1000 est une
|
||||||
elle peut donner des idées assez inexactes quand on considère beaucoup
|
approximation commode mais elle peut donner des idées assez inexactes
|
||||||
de données.
|
quand on considère des données très volumineuses.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4>Connaître la taille totale de son compte</h4>
|
<h3>Connaître la taille totale de son compte</h3>
|
||||||
|
|
||||||
<p>
|
<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
|
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,
|
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>
|
</p>
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<span class="prompt">clipper ~ $</span> du -s
|
<span class="prompt">clipper ~ $</span> du -sk
|
||||||
98280 .
|
98280 .
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<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>
|
</p>
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<span class="prompt">clipper ~ $</span> du -sh
|
<span class="prompt">brick ~ $</span> du -sh
|
||||||
96M .
|
96M .
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<h4>Connaître la taille d'un fichier</h4>
|
<h3>Connaître la taille d'un fichier</h3>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<code>du -a</code> affiche la taille de tous les fichiers contenus
|
L'option <code>-a</code> demande l'affichage la taille de tous les
|
||||||
dans vos répertoires et sous-répertoires. Ici, toujours pour le
|
fichiers contenus dans vos répertoires et sous-répertoires. Ici,
|
||||||
répertoire « histoire » de Toto :
|
toujours pour le répertoire « histoire » de Toto :
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<span class="prompt">clipper ~ $</span> du -ah histoire | head -10
|
<span class="prompt">clipper ~ $</span> du -ak histoire
|
||||||
200K histoire/maitrise/maitrise.dvi.bz2
|
200 histoire/maitrise/maitrise.dvi.bz2
|
||||||
29K histoire/maitrise/1.html
|
29 histoire/maitrise/1.html
|
||||||
6.0K histoire/maitrise/maitrise.tex
|
6 histoire/maitrise/maitrise.tex
|
||||||
18K histoire/maitrise/intro.tex
|
18 histoire/maitrise/intro.tex
|
||||||
29K histoire/maitrise/1a.tex
|
29 histoire/maitrise/1a.tex
|
||||||
11K histoire/maitrise/conclu.tex
|
11 histoire/maitrise/conclu.tex
|
||||||
112K histoire/maitrise/maitrise.idx
|
112 histoire/maitrise/maitrise.idx
|
||||||
22K histoire/maitrise/A.tex
|
22 histoire/maitrise/A.tex
|
||||||
27K histoire/maitrise/biblio.tex
|
27 histoire/maitrise/biblio.tex
|
||||||
10K histoire/maitrise/maitrise.toc
|
10 histoire/maitrise/maitrise.toc
|
||||||
(...)
|
(...)
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Pour connaître la taille d'un fichier précis, il suffit d'indiquer à
|
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:
|
<code>du -ak</code> le nom de votre fichier (<code>ls -s</code> fait
|
||||||
même chose) :
|
la même chose) :
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<span class="prompt">clipper ~ $</span> du -ah histoire/maitrise/maitrise.tex
|
<span class="prompt">clipper ~ $</span> du -ak histoire/maitrise/maitrise.tex
|
||||||
6.0K histoire/maitrise/maitrise.tex
|
6 histoire/maitrise/maitrise.tex
|
||||||
</pre>
|
</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>
|
<p>
|
||||||
La commande <strong><code><a name="df">df</a></code></strong> (<em>
|
La commande <strong><code><a name="df">df</a></code></strong> (<em>
|
||||||
|
@ -317,7 +448,7 @@ la page des WinTuteurs
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="metainformation">Auteur : Émilia Robin, Marie-Lan
|
<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>
|
</body>
|
||||||
</html>
|
</html>
|
Loading…
Reference in a new issue