Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:enicar:tutos:peregrination-autour-de-ls-l [26/03/2015 06:53] enicar [Les répertoires] |
utilisateurs:enicar:tutos:peregrination-autour-de-ls-l [26/03/2015 07:27] enicar [Les répertoires] |
||
---|---|---|---|
Ligne 356: | Ligne 356: | ||
Nous allons voir que les répertoires sont aussi des liens sur des inodes, et qu'un répertoire | Nous allons voir que les répertoires sont aussi des liens sur des inodes, et qu'un répertoire | ||
- | possède d'office plusieurs liens physiques (à par la racine, mais ça ne dure pas longtemps ;)). | + | possède d'office plusieurs liens physiques (à par la racine, mais ça ne dure pas longtemps ;-)). |
+ | Donc, voyons le nombre de liens d'un répertoire. Pour cela nous allons utiliser, l'option | ||
+ | **-d** de **ls**, par exemple ((Nous pouvons grouper les options courtes dans ls. Ainsi **ls -ld** est équivalent à **ls -l -d**)): | ||
+ | <code user> | ||
+ | ls -ld . | ||
+ | </code> | ||
+ | Cela donne dans mon home : | ||
+ | <file -> | ||
+ | drwxr-xr-x 246 enicar enicar 36864 mars 26 06:42 . | ||
+ | </file> | ||
+ | Nous voyons que le répertoire courant a bien l'attribut répertoire (ouf !). Le nombre de | ||
+ | liens est 246, et sa taille 36864 octets. | ||
+ | |||
+ | |||
+ | Le nombre de liens d'un répertoire est au moins deux ((sauf pour la racine, mais je n'y reviendrai plus ;) )). En effet, le premier lien est celui du répertoire parent. Le second est celui qu'il a sur lui | ||
+ | même, c'est le point. Alors nous en arrivons à la question : d'où vient ce 246 ? À chaque nouveau | ||
+ | sous-répertoire créé dans un répertoire est associé un lien noté **..**. Ce lien pointe sur le répertoire parent. Donc on en déduit, qu'il y a 244 sous-répertoires dans le répertoire courant de mon exemple. | ||
+ | Prouvons le ! Je vais utiliser pour ce faire les commandes **find** et **wc**. **find** permet de chercher des fichiers selon divers critères. Ici, je vais lui demander de trouver les répertoires | ||
+ | du répertoire courant (**-type d**) et de ne pas parcourir ces sous-répertoires en profondeur | ||
+ | comme il le fait normalement (**-maxdepth 1**). **wc** compte les caractères, les mots et les lignes. | ||
+ | Ici, je lui demande de compter les lignes uniquement (**-l**) | ||
+ | <code user> | ||
+ | find . -maxdepth 0 -type d |wc -l | ||
+ | </code> | ||
+ | **find** permet de chercher des fichiers selon divers critères. Ici, je vais lui demander de trouver les répertoires du répertoire courant (**-type d**) et de ne pas parcourir ces sous-répertoires en profondeur | ||
+ | comme il le fait normalement (**-maxdepth 1**). **wc** compte les caractères, les mots et les lignes. | ||
+ | Ici, je lui demande de compter les lignes uniquement (**-l**). En effet, par défaut, **find** affiche un fichier par ligne. Mais surprise ! Cela affiche : | ||
+ | <file -> | ||
+ | 245 | ||
+ | </file> | ||
+ | Me serais-je fourvoyer ? Non, du tout ! En fait, avec **find** nous avons aussi compté le répertoire | ||
+ | courant (c'est à dire **.**). Vous pouvez le vérifier en faisant : | ||
+ | <code user> | ||
+ | find . -maxdepth 1 -type d |less | ||
+ | </code> | ||
+ | Le répertoire **.** devrait être listé au début. | ||
- | FIXME À SUIVRE... |