OVH Cloud OVH Cloud

Trouver les plus gros fichiers ou repertoires

48 réponses
Avatar
GP
Mots clés: Retrouver trouver retracer lister ls gros fichiers répertoires

Pour les répertoires:

du -Sk . | sort -nr | more

Pour les fichiers:

find . -printf "%k KB %h/%f\n" | sort +0nr | more

Mon petit problème est le suivant: où est-il dit que +0nr classe les fichiers
par ordre alphabétique après les avoir classés par grosseur? J'ai trouvé ça
sur le net, mais je ne trouve rien là-dessus dans les man pages.

GP

10 réponses

1 2 3 4 5
Avatar
Stephane Chazelas
2005-01-29, 19:55(+01), Eric Jacoboni:
On Sat, 29 Jan 2005 19:20:28 +0100, GP wrote
(in article ):

Sauf qu'ici, c'est exactement la même. Quant à info, c'est ajouter un mode de

navigation obscur aux mêmes pages mal écrites.


Ma réflexion sur info, c'était de l'humour, hein... c'est pour ça que j'avais
mis des guillemets. Info est une vaste merde et un barbu célèbre a un jour
décidé que c'était mieux que man : bilan des courses, des manpages Linux
pourries.


Arguments, STP

Tu ne sembles pas connaitre info.

Essaie "info info".

Donne-moi un seul format de manuel mieux adapté qu'info pour de
la lecture de manuel en ligne.

[...]
Qu'il faut utiliser une syntaxe du genre -k3.2 pour trier sur le deuxième
caractère (vérifier si les positions commencent à 0 ou à 1) du troisième
champ (même remarque) ?


-k3.2, ca trie *a partir* du deuxieme charactere du 3e champ.

--
Stéphane


Avatar
Stephane Chazelas
2005-01-29, 14:06(-05), GP:
[...]
du -Sk . | sort -nr | more



du ca donne l'usage disque, pas la taille.


Oui, il peut rester quelques bytes de libres sur le cluster. De toute façon,
si c'est pour libérer de l'espace, ce qui nous intéresse, c'est l'usage du disque.


Oui, mais je tenais quand-meme a le signaler.

[...]
$ du -Sk a
16 a
$ find a -printf '%kn'
16
$ find a -printf '%bn'
32
$ find a -printf '%sn'
1048576001


%k donne la taille arrondie au Ko près, %s donne la taille en octets. Tu peux
nous expliquer comment tu peux faire 1048576001 octets à partir de 16k?
[...]


Non, %k et "du" se servent du champs st_blocks du resultat de
stat(2), pas du champ st_size comme dans ls ou "%s".

Voir

info -f libc -n 'Attribute Meanings'

C'est au file system de gerer comment il attribue des blocks
pour un fichier d'une taille donnee et ca depend du filesystem.

En l'occurrence, mon fichier d'exemple etait un sparce file,
c'est a dire un fichier avec des blocs non-alloués (donc par
defaut remplis de zeros). En gros, le filesystem n'a alloué
quasiment que des blocs d'indirection pour ce fichier.

Sauf pour les petits fichiers (et les sparse files), il faut en
general plus de int((<size>+511)/512) blocks pour stocker un
fichier de <size> bytes sur ext2 puisqu'il faut prendre en
compte les blocks d'indirection (les blocks qui donnent les
addresses des blocks suivants).

--
Stéphane



Avatar
Eric Jacoboni
On Sat, 29 Jan 2005 20:09:27 +0100, Stephane Chazelas wrote
(in article ):

Tu ne sembles pas connaitre info.


Arf.

Donne-moi un seul format de manuel mieux adapté qu'info pour de
la lecture de manuel en ligne.


Si je te dis "man", comme sur tous les autres Unix, tu vas considérer que
c'est pas assez Hype ?

Mébon, je ne nourrirais pas plus avant ce troll éculé. Si info te va bien,
tant mieux pour toi. Si tu as cinq minutes, compare les pages man de Linux et
celles de tous les autres Unix, point.

--
Jaco

________________________________________________

Hogwasher, Premier News and Mail for OS X
http://www.asar.com/cgi-bin/product.pl?58/hogwasher.html
________________________________________________

Avatar
Denis Beauregard
Le Sat, 29 Jan 2005 13:13:45 -0500, GP
écrivait dans fr.comp.os.linux.configuration:

Denis Beauregard wrote:
Le Sat, 29 Jan 2005 01:52:40 -0500, GP
écrivait dans fr.comp.os.linux.configuration:


http://www.linux-france.org/article/man-fr/man1/sort-1.html



Peux-tu m'envoyer ton man page pour sort, svp.



M'enfin, le lien était dans le message...


Ton man page pour Debian, merde!
Il est ici:


http://perso.club-internet.fr/ccb/man/man-fr-1.58.0.tar.bz2


Denis




Avatar
Stephane Chazelas
2005-01-29, 20:29(+01), Eric Jacoboni:
[...]
Donne-moi un seul format de manuel mieux adapté qu'info pour de
la lecture de manuel en ligne.


Si je te dis "man", comme sur tous les autres Unix, tu vas considérer que
c'est pas assez Hype ?


Essaie de lire la page de man de libc ou de zsh. De faire une
recherche sur tout le manuel de la libc.

Est-ce que man permet un acces direct a l'information a partir
d'un index ou d'une table des matieres (avec en prime de la
completion?).

Je dis juste que je soupconne que, comme beaucoup de personnes,
tu n'as probablement pas été plus avant que de lancer "info
une-command" et d'avoir ete frustré de n'avoir pas retrouvé tes
automatismes de "man"/less. Pas d'inquietude, c'est le cas de
beaucoup de gens, j'en connais peu qui connaissent les
principales touches a connaitres sous info: i et g (et <Tab> qui
va avec)

Mébon, je ne nourrirais pas plus avant ce troll éculé. Si info
te va bien, tant mieux pour toi. Si tu as cinq minutes,
compare les pages man de Linux et celles de tous les autres
Unix, point.


J'ai appris Unix sous Solaris. Je n'ai pas trouvé de pages de
man de meilleure qualité depuis.

J'ai appris enormement de choses depuis les pages infos de
glibc. Quand, je veux acceder rapidement a une info precise sur
zsh, screen, gawk, bash ou la libc, il ne me viendrait pas a
l'idee d'utiliser autre chose que "info".

Il est vrai que certains manuels info sont ecrits mieux que
d'autre. Je trouve pour ma part ceux de gawk et bash de pietre
qualité, celui de zsh d'assez bonne qualité, celui de glibc de
tres bonne qualité.

--
Stéphane


Avatar
Eric Jacoboni
On Sat, 29 Jan 2005 20:43:47 +0100, Stephane Chazelas wrote
(in article ):

Essaie de lire la page de man de libc ou de zsh. De faire une
recherche sur tout le manuel de la libc.


Les pages de man de zsh ont été coupées en plusieurs parties et tout cela est
fort bien expliqué dans la page principale. Je ne vois donc _vraiment_ pas où
est le pb. La doc complète de Perl fonctionne de la même façon et c'est très
bien comme ça.

C'est sûr que les pages de man de la libc sous Linux, il vaut mieux oublier
(je ne connais pas les pages info sur la libc Linux, mais je doute qu'elles
soient bien terribles). Sur les autres Unix, je les trouve tout à fait
convenables, pourtant elles sont au format man. Là encore, je ne vois pas où
est le pb.

Est-ce que man permet un acces direct a l'information a partir
d'un index ou d'une table des matieres (avec en prime de la
completion?).


Si on tient à tout prix à ce genre de choses, rien n'empêche d'avoir les
deux, de toutes façons. Moi, je dis simplement que le projet Gnu, à favoriser
la documentation au format Gnu et à déclarer péremptoirement que le format
man n'était plus bon a fait une connerie sans nom. Le format man, même s'il
n'est pas aussi puissant que le format info, a le mérite d'être simple et
universellement reconnu et, pour ce qu'on attend de lui, il suffit. Il y a
des tas de trucs techniquement inférieurs à d'autres en informatique,
pourtant ce sont les premiers que l'on choisit parce qu'ils sont les plus
répandus et que tout le monde y a accès, c'est pareil pour Internet et les
différents protocoles.

Après, pour les liens et autres tables des matières, il y a le HTML qui
dispose quand même d'outils de navigation autrement mieux foutus que info,
àmha.

Je dis juste que je soupconne que, comme beaucoup de personnes,
tu n'as probablement pas été plus avant que de lancer "info
une-command" et d'avoir ete frustré de n'avoir pas retrouvé tes
automatismes de "man"/less


Une paille... J'ai traduit quelques centaines de pages info, donc je connais
_un peu_ ses fonctionnalités, hein.

Pas d'inquietude, c'est le cas de
beaucoup de gens, j'en connais peu qui connaissent les
principales touches a connaitres sous info: i et g (et <Tab> qui
va avec)


Quel intérêt d'apprendre yet another command alors qu'il en existe une dispo
partout et fonctionnant très bien ? Les pages info ne sont regardables qu'à
partir d'Emacs, pour moi. D'ailleurs, j'admet très bien d'utiliser info pour
avoir la doc sur Gnus ou Emacs... Ce que je n'admet pas, c'est de voir qu'un
man sur une commande essentielle du système me dit que la page est périmée et
que seule la version info est à jour.

J'ai appris Unix sous Solaris. Je n'ai pas trouvé de pages de
man de meilleure qualité depuis.


Ah, nous sommes au moins d'accord sur ce point. Heureusement donc que Sun ne
s'est pas dit un jour « Man c'est dépassé, maintenant on écrit tout au format
info, histoire de faire chier tous ceux qui doivent écrire les docs et qui,
donc, en feront un minimum »




________________________________________________

Hogwasher, Premier News and Mail for OS X
http://www.asar.com/cgi-bin/product.pl?58/hogwasher.html
________________________________________________

Avatar
GP
Eric Jacoboni wrote:
On Sat, 29 Jan 2005 19:20:28 +0100, GP wrote
(in article ):


Sauf qu'ici, c'est exactement la même. Quant à info, c'est ajouter un mode de
navigation obscur aux mêmes pages mal écrites.



Ma réflexion sur info, c'était de l'humour, hein... c'est pour ça que j'avais
mis des guillemets. Info est une vaste merde et un barbu célèbre a un jour
décidé


Pas RMS, j'espère :)

Quand tu rencontres quelque chose comme ça:

POS is F[.C][OPTS], where F is the field number and C the character
position in the field. OPTS is one or more single-letter ordering
options, which override global ordering options for that key. If no
key is given, use the entire line as the key.

Et que tout ce que tu as au sujet de POS auparavent, c'est:

-k, --key=POS1[,POS2]
start a key at POS1, end it at POS 2 (origin 1)

ça te dit quoi?



Comme ça ? Sans chercher plus loin ?

Qu'il faut utiliser une syntaxe du genre -k3.2 pour trier sur le deuxième
caractère (vérifier si les positions commencent à 0 ou à 1)


D'après ceci:

-k, --key=POS1[,POS2]
start a key at POS1, end it at POS2 (origin 1)

il semble qu'avec l'option -k, les champs commencent à 1. Et «origin 1»,
signifie que POS2 est la position 1 si on commence à compter à zéro, je suppose???

du troisième
champ (même remarque) ? et que l'on peut mettre une lettre, voire plusieurs,
après 2 pour changer l'ordre du tri ? Que donc il faudrait étudier plus avant
la page de man pour voir quels caractères sont possibles ?


Il semble n'y avoir que n et r, pour numerical et reverse. Ma commande aurait
donc pu s'écrire:

find . -printf "%k KB %h/%fn" | sort -k1rn | more

Effectivement, même résultat.

Je ne vois rien d'obscur là-dedans... donc j'imagine que je n'ai pas saisi le
problème.


Il n'y a rien de plus clair qu'une man page... une fois que tu la comprends.
Mais, pour arriver à ça, il y a des conventions -- je suppose que «origin 1»
en est une --, il y a certains concepts, comme de trier sur la seconde lettre
d'un champ, qu'il faut comprendre.

Si, au lieu de «OPTS is one or more single-letter ordering options», on
écrivait «OPTS is n and/or r», ça serait déjà un peu mieux, il me semble.
Sinon, on se demande à quoi peut bien référer ces mystérieuses single-letter.
Si jamais d'autres options s'ajoutent, serait-ce tellement compliqué de les
ajouter dans l'explication?

Dans le man page français, quand on lit: «Si aucun fichier n'est fourni, ou
si le nom `-' est mentionné, la lecture se fera depuis l'entrée
standard.», c'est quoi «mentionner le nom `-'» .

Le concept du tri numérique aussi, qu'on pourrait appeler un tri humain par
rapport au tri ordinateur(1), n'est pas très clair, en particulier comment il
s'applique aux lettres à partir du code ascii. «compare according to string
numerical value», ce n'est pas très évocateur.

(1) Pas pour toi, Eric, mais pour les archives, voici comment l'ordinateur
trie des nombres:

76 KB ./001.jpg
740 KB ./h_koko.png
736 KB ./photos/image3.png
728 KB ./photos/bain.bmp
72 KB ./ete28.jpg

Je comprends bien qu'on ne puisse mettre ça à l'intérieur de chaque man page,
mais il faudrait que le débutant soit amené à comprendre ces conventions, non
pas en lui fournissant une nouvelle page longue comme le bras d'explications
aussi obscures, mais en lui donnant des exemples, comme celui que nous sommes
en train de développer.

Autrement, les gens qui viennent de Windows disent que les man pages sont de
la bouillie pour les chats, et ce n'est pas moi qui leur donnerai tort,
surtout qu'il y a des gens comme George Les Lapins qui les découragent encore
plus en leur fournissant des explications qui sont au moins aussi incomplètes
et en s'amusant à leur reprocher leur ignorance comme si tout cela allait de soi.

Bien évidemment, ce ton acerbe crée un climat de pagaille et de confusion qui
fait fuir les débutants. Et on les retrouve sur tous les groupes, ces
soi-disant gourous qui, sous prétexte d'aider, viennent foutre la pagaille.

Et il faudrait croire qu'il n'y a là-dedans rien de planifié? Masi alors,
qu'est-ce que font ces gens si savants à perdre leur temps depuis des années à
fournir des explications qui ne servent à rien. Quand je te lis toi, ou que je
lis Emmanuel Florac, je comprends, j'avance. Mais je ne me rappelle pas que
j'aie compris quoi que ce soit venant de George.

Je ne sais pas, mais le résultat est qu'alors que Linux devient de plus en
plus facile à installer et que son sort se joue devant les parlements, le
pourcentage d'utilisateurs n'augmente guère.

Je te remercie de tes explications. Il ne reste qu'à espérer qu'elles pourront
me servir pour l'interprétation d'autres man pages. En tout cas, je croirai
plus facilement qu'il y a quelque chose à en tirer :)

GP


Avatar
GP
Stephane Chazelas wrote:

Non, %k et "du" se servent du champs st_blocks du resultat de
stat(2), pas du champ st_size comme dans ls ou "%s".


Tiré de man find:

%k File's size in 1K blocks (rounded up).

%s File's size in bytes.

Tu vois ce que je veux dire, Éric? Qu'est-ce que ces gens-là viennent foutre
ici? Vas voir sur alt.os.linux.slackware, il y en a qui sont là depuis des
années à brasser ce genre de merde.

GP

Avatar
Eric Jacoboni
On Sat, 29 Jan 2005 21:55:37 +0100, GP wrote
(in article ):

Dans le man page français, quand on lit: «Si aucun fichier n'est fourni, ou
si le nom `-' est mentionné, la lecture se fera depuis l'entrée
standard.», c'est quoi «mentionner le nom `-'» .


Ca, c'est le pb des traductions françaises qui ont tendance à faire un peu du
mot à mot : « si '-' est fourni à la place du nom de fichier, ou si aucun nom
de fichier n'est fourni, la lecture se fera depuis l'entrée standard »
traduirait mieux l'esprit, j'imagine...

Le concept du tri numérique aussi, qu'on pourrait appeler un tri humain par
rapport au tri ordinateur(1), n'est pas très clair, en particulier comment il

s'applique aux lettres à partir du code ascii. «compare according to string
numerical value», ce n'est pas très évocateur.


Oui, ça fait partie des grands classiques, ça... Les caractères sont triés
selon leur place dans la table ASCII. Les commandes qui lisent dans les
fichiers (et donc sur l'entrée standard) lisent des lignes de caractères et,
donc, "761" est plus petit que "81", exactement comme "Titi" est plus petit
que "To".

C'est censé être connu, tout comme on sait qu'un numéro de sécu n'est pas un
nombre, mais une suite de caractères numériques :)

Je comprends bien qu'on ne puisse mettre ça à l'intérieur de chaque man page,

mais il faudrait que le débutant soit amené à comprendre ces conventions, non

pas en lui fournissant une nouvelle page longue comme le bras d'explications
aussi obscures, mais en lui donnant des exemples, comme celui que nous sommes

en train de développer.


Disons que le but des manpages n'est pas un but didactique : elles sont là
pour éviter d'avoir à connaître les commandes par coeur (moi, je ne connais
que 3 ou 4 options de 'ls', par exemple... mais je m'en fous, car je sais
qu'en faisant 'man ls' je trouverai l'information nécessaire, le cas
échéant).

Bref, le débutant est censé avoir une démarche visant à acquérir une culture
de base. Pour ça, les manpages ne sont pas le meilleur moyen : il existe des
bouquins très bien faits et des documents en ligne.

Autrement, les gens qui viennent de Windows disent que les man pages sont de
la bouillie pour les chats,


Elles ne sont pas faites pour transformer un Windowsien en Unixien, elles ne
sont pas faites pour apprendre les commandes Unix, elles sont faites pour
répondre à des situations comme « flûte, je dois trier des lignes sur tel ou
tel critère, je sais qu'il existe une commande sort, voyons voir comment elle
fonctionne... ».

La première chose que j'apprend à mes étudiants dans mes cours c'est : «
avant de poser une question sur une commande, faites man sur cette commande
et essayez de voir si la réponse ne s'y trouve pas déjà ». Apprenez également
à utiliser la commande "apropos" et Google.
Ensuite, revenez me voir.

Comme ça, pendant les TP, je peux tchatter peinard.



________________________________________________

Hogwasher, Premier News and Mail for OS X
http://www.asar.com/cgi-bin/product.pl?58/hogwasher.html
________________________________________________

Avatar
GP
Eric Jacoboni wrote:

Le format man, même s'il
n'est pas aussi puissant que le format info, a le mérite d'être simple et
universellement reconnu et, pour ce qu'on attend de lui, il suffit.


(...)

Après, pour les liens et autres tables des matières, il y a le HTML qui
dispose quand même d'outils de navigation autrement mieux foutus que info,
àmha.


C'est tout ce qu'il y a à dire. Seulement, ton interlocuteur n'est pas là pour
faire avancer la discussion, mais pour faire perdurer la pagaille en faisant
valoir ses connaissances /tellement supérieures/.

Tu feras comme tu veux, mais moi, ces connards, j'en au raz-le-bol. Le
problème, c'est pour les débutants qui arrivent sur les news et qui ne pigent
rien au manège. Ajoute à ça ceux qui, à l'inverse, posent des questions
complètement idiotes ou inventent des problèmes fictifs, les groupes
deviennent un champ de bataille dont le newbie ne peut plus rien tirer.

Inutile de lui dire de consulter les archives, 99% de ce qui s'y trouve est de
la désinformation et des discussions stériles.

Et Linux fait du sur-place.

GP

1 2 3 4 5