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, 21:51(+01), 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.
[...]


Si je veux connaitre les options de la builtin print de zsh, je
fais:

info zsh
i
pr<Tab>

Ou:

$ man zsh
No manual entry for zsh
See 'man 7 undocumented' for help when manual pages are not
available.

???

Heureusement, mon shell est zsh, je fais donc:

$ man zsh<Tab>
zsh-beta zsh-betacompsys zsh-betamisc zsh-betatcpsys
zsh-betaall zsh-betacompwid zsh-betamodules zsh-betazftpsys
zsh-betabuiltins zsh-betacontrib zsh-betaoptions zsh-betazle
zsh-betacompctl zsh-betaexpn zsh-betaparam

$ man zsh-beta

Ah OK, faut probablement que je fasse:

$ man zsh-betabuiltins

Ensuite, je fais quoi pour atteindre "print"?

/^W*print
n

Je lis:

-b Recognize all the escape sequences defined for the bind-
key command, see zsh-betazle(1).

Si je veux plus de details, il me faut quitter less, lancer man
zsh-betazle (qui fait plus de 1500 lignes), au lieu de
simplement suivre un lien hypertexte.



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).


Pourquoi parler, en mal qui plus est, de quelque chose que tu ne
connais pas ?

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.


C'est un format lineaire, sans index, sans table des matieres.
C'est donc moins pratique.

Tu ne m'as pas cité un seul avantage du *format* man par rapport
au format info. Tu as pourtant jugé le format info tres
severement.

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.


Oui, et Microsoft Windows.

Merci toutefois d'avoir revu ton jugement. "info" n'est pas
inferieur a man.

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.


Non. D'abord info precede de quelques annees, voire decennies
HTML. Ensuite, on ne peut pas faire de recherche sur toutes les
pages d'un manuel en HTML a moins d'installer un serveur Web, de
faire une indexation et de fournir des CGI de moteur de
recherche.

Ensuite, des greps sur du HTML (ou du troff d'ailleurs)
renvoient quelque chose de moins exploitable directement que sur
de l'info.

Ensuite, le format texinfo permet de generer du HTML (tout comme
le format troff d'ailleurs).

[...]
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 ?


Parce qu'elle est superieure ? Quel interet de dormir sur un
lit, alors que le seul me soutient tres bien ?

man ne fonctionne pas partout pareil, je rappelle (le -s
<section> de Solaris, les -k, -w, fichiers de conf differents,
les pagers par defaut qui different, voire les problemes de
compatibilité avec certains pager (comme groff qui introduit les
sequences ANSI sans crier gare)).

Les pages info ne sont regardables qu'à
partir d'Emacs, pour moi.


Je ne peux pas en parler, emacs n'est generalement pas installé
sur les systemes que j'utilise.

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 »
[...]


Je parlais du contenu des pages de man de Solaris, pas du
format, j'approuverais une migration des pages de man au format
info.

Par ailleurs, il me semble que sous Solaris (au moins a une
epoque) la documentation a tendance a migrer vers un serveur Web
local generant des pages PostScript, ou un truc dans le genre
(peut-etre meme avec des moteurs de recherche, d'ailleurs).

Me semble que toutes les gnomeries et autres kdeuseries ont
aussi leur format de manuel.

--
Stéphane


Avatar
Stephane Chazelas
2005-01-29, 16:05(-05), 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.
[...]


:)

Tu viens de mettre le doigt sur un bug de documentation de find
(ou un bug de find si la page de man/info est correcte).

J'avais pourtant cité un exemple. Le lire (et les archives
usenet) t'aurait peut-etre evité de dire des conneries.

Extrait du find.c des GNU fileutils apres C preprocessing sous
Linux:

pred_fprintf (char *pathname, struct stat *stat_buf, struct predicate *pred_ptr)
[...]
case 'k':
fprintf (fp, segment->text,
human_readable ((uintmax_t)
((((((*stat_buf).st_mode)) & 0170000) = (0100000)) || (((((*stat_buf).st_mode)) &
0170000) == (0040000)) ?
(*stat_buf).st_blocks : 0), hbuf,
human_ceiling, 512, 1024));
break;

--
Stéphane


Avatar
GP
Eric Jacoboni wrote:

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 :)


La plupart des gens ne savent même pas ce que c'est qu'une table de caractères
ascii et même quelle est la différence entre le digital et l'analogique.
Permets que je te donne un exemple.

Ce devait être aux alentours de 2000. Un grand médecin qui a fait son
docteur-rat en Frâaance, mon montrait son nouveau Mac --il avait autrefois des
PC, mais le Mac était tellement plus simple! -- et m'exploqait combien
d'heures il devait passer sur le net pour faire des recherches pour se tenir à
jour pour sa spécialité.

À un moment donné, on a dû justement faire une petite recherche et il était là
à chercher de visu certains mots-clés dans la page. Je ne comprenais pas trop.
Je lui ai demandé pourquoi il ne faisait pas CTRL + F.

Il ne savait pas ce que ça faisait CTRL + F et, de toute façon, il n'y avait
pas de touche CTRL sur le Mac. Je lui ai dit d'essayer avec Pomme... c'est
tellement plus facile, le Mac!

Ce gars-là a eu son premier ordi, un 286, en 1986, il a passé son temps à
faire des recherches et c'est supposé être quelqu'un d'extrêmement brillant.

Bon, mettons que je ne compte pas trop sur lui pour lire des man pages -- il
ne lit même pas les manuels d'instruction -- mais il reste qu'il faut
s'assurer que les premiers barreaux de l'échelle soient là, facilement
accessibles, pour ceux qui veulent la gravir.

Par rapport à la doc, Linux a trop une mentalité moyen-âgeuse. On croirait
avoir affaire à des francs-maçons. Il commence à y avoir de meilleurs livres,
mais c'est une goutte d'eau dans la mer.

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).


Je comprends bien ça, mais quels bouquins suggères-tu pour apprendre à lire
les man pages :)

Il y a le Linux Pocket Book chez O'Reilly qui ne m'a pas semblé trop mal pour
la base. Je pense qu'il devrait y avoir une version des man pages rédigée dasn
ce style-là.

La plupart des bouquins ont une approche trop rébarbative, trop théorique. Pn
te dit «Voici, il faut commencer à comprendre la base. Puis, une fois que tout
est bien retenu...) Seulement, on ne retient rien. Les gens n'apprennent que
ce pour quoi ils ont de l'inrérêt. Ils apprennent par les doigts, sinon, ils
ne retiennent rien.

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.


Encore une fois, je serais curieux de savoir ce que tu suggères.

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


Tiens, un prof! On va avoir droit à une série de bons bouquins :)

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.


Oui, apropos, c'est franchement une belle invention.

GP


Avatar
Eric Jacoboni
GP writes:

Tu vois ce que je veux dire, Éric?


Euh, moi, mon find, il n'a pas d'option -printf et vu que ça a l'air
d'être un truc linux-only, il est hors de question que je sache même à
quoi ça sert :)

--
Éric Jacoboni, né il y a 1410479231 secondes

Avatar
Jerome Lambert
GP wrote:
(...)
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.


Sans vouloir être pessimiste, un groupe tel que celui-ci est amené à
terme à disparaitre, simplification de Linux aidant.

Dans le meilleur des cas, il deviendra soit un groupe extrêment
spécialisé où les questions de débutants sont rares, comme f.c.o.bsd,
soit un groupe de questions pour newbies, dans le style
alt.linux.mandrake.fr

Maintenant, ce groupe rassemble des gens qui *proposent* des solutions,
bonnes ou mauvaises. Le seul moyen d'avoir toujours la *bonne* réponse
est de consulter une hotline (avec le contrat d'assistance qui y est
associé), ce n'est pas faute de le dire...

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.


Comme celle-ci par exemple...

Avatar
Jérémy JUST
On Sat, 29 Jan 2005 21:45:57 +0000
Stephane Chazelas wrote:

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



Je me trompe peut-être, mais il me semble avoir vu des pages de man
écrites en XML sous Solaris, et accessible avec « man » de la même façon
que celles écrites en troff.

--
Jérémy JUST


Avatar
Stephane Chazelas
2005-01-29, 23:51(+01), Eric Jacoboni:
GP writes:

Tu vois ce que je veux dire, Éric?


Euh, moi, mon find, il n'a pas d'option -printf et vu que ça a l'air
d'être un truc linux-only, il est hors de question que je sache même à
quoi ça sert :)
[...]


GNU only en l'occurrence.

Mais j'imagine que ton find a plein d'options inspirees du GNU
find (et qui ne sont pas beaucoup plus /portable/) comme -print0
-maxdepth, -iname, -regex...

Est-ce moi, ou ce newsgroup semble manquer un peu d'ouverture
d'esprit.

--
Stéphane


Avatar
Stephane Chazelas
2005-01-29, 15:55(-05), GP:
[...]
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.


Pas seulement. A peu pres toutes les options de sort (b, M, g (GNU
specific)...)

Ma commande aurait
donc pu s'écrire:

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


Ou, si tu ne veux trier que sur le premier champ:

find . -printf "%k KB %p" | sort -z -k1,1rn | tr n | more


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.


Mais inexact.

[...]
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.


Le tri "numeric" implique d'abord la convertion du texte en
entier. Un tri non numerique est un tri alphabetique ou "12" est
avant "3" tout comme "ab" est avant "c".

[...]
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.
[...]


En l'occurrence, j'essaie de fournir des reponses utiles en
minimisant l'effort.

Si la personne a laquelle je reponds fait preuve de suffisamment
de bon sens, je ne perds en general pas trop de temps a
expliquer depuis le debut, supposant qu'elle connait deja les
bases.

J'ai pu me tromper a ton sujet.

--
Stéphane


Avatar
Stephane Chazelas
2005-01-29, 16:27(-05), 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/.
[...]


C'est tout ce qu'il y a a dire ? Vraiment ?

Ainsi « quelqu'un a inventé man en 1970, il ne saurait etre
inventé rien de mieux » et tout est dit ?

Et Linux fait du sur-place.


...

--
Stéphane


Avatar
Nicolas George
Jérémy JUST wrote in message
:
Je me trompe peut-être, mais il me semble avoir vu des pages de man
écrites en XML sous Solaris, et accessible avec « man » de la même façon
que celles écrites en troff.


C'est une variante de DocBook, mais ça n'a pas l'air d'être du XML valide,
plutôt du SGML.

1 2 3 4 5