Ekkard Gerlach
Christian Ullrich wrote:
Es gibt in jedem Verzeichnis den Eintrag "..", der zum übergeordneten Verzeichnis führt. Dazu noch den Eintrag des Verzeichnisses in seinem übergeordneten (hier z. B. die Zeile packages) und der "."-Eintrag im Verzeichnis packages, der auf das Verzeichnis selbst zeigt. Also hat packages hier 150 Unterverzeichnisse plus die zwei anderen Einträge.
Sorry, das hatte ich auch gedacht. Stimmt aber nicht. z.B. hat bei mir das Verzeichnis :
drwxr-xr-x 2 root users 1024 May 27 1999 support
Das heisst, es gibt genau zwei Hardlinks (also Namen) fuer dieses Verzeichnis: "support", wie hier gerade zu sehen, und "." in dem Verzeichnis selbst.
die Einträge: gerlach@rex:/usr/doc/support > ls -l total 2 -rw-r--r-- 1 root users 911 Nov 17 1997 suppengl.txt -rw-r--r-- 1 root users 997 Nov 17 1997 suppform.txt
Das sind einfache Dateien, also Namen, die in diesem Verzeichnis eingetragen sind. Es sind aber keine Hardlinks auf das Verzeichnis selbst.
Nach Deiner Rechnung müssten eigentlich ein 4 dastehen
Nein, denn es werden nicht die in diesem Verzeichnis befindlichen Eintraege gezaehlt, sondern die Hardlinks, mit denen das Verzeichnis selbst in (anderen) Verzeichnissen eingetragen ist.
(dachte ich auch!). Jedes neue neue, leere Verzeichnis hat den Eintrag 2, das stimmt. Aber scheibar auch ein Verzeichns mit schon 2 Dateien.
Was demnach auch voellig korrekt ist.
zweites Gegen-Beispiel: ======================= drwxr-xr-x 4 root users 1024 Jan 30 00:59 sdb
In sdb würden Deiner Rechnung nach 2 Verzeichniseiträge stehen plus 1 für "." und 1 für ".." aber:
Es geht nicht um die Anzahl der Verzeichniseitraege, sondern nur um die Anzahl der Unterverzeichnisse: Die Hardlinks auf dieses Verzeichnis sind "sdb", "." und das ".." in jedem der unmittelbar enthaltenen Unterverzeichnisse. Das ".." in sdb selbst wird dagegen als Hardlink beim uebergeordneten Verzeichnis mitgezaehlt.
gerlach@rex:/usr/doc/sdb > ls -l total 2308 drwxr-xr-x 3 root root 1024 Jan 30 00:59 de drwxr-xr-x 2 root root 1024 Jan 24 20:26 gifs -rw-r--r-- 1 root root 2351030 Jul 11 1999 sdb_de.rpm
Also gibt es genau vier Hardlinks auf /usr/doc/sdb: /usr/doc/sdb /usr/doc/sdb/. /usr/doc/sdb/de/.. /usr/doc/sdb/gifs/.. Die Anzahl der Hardlinks auf ein Verzeichniss ist also immer die Anzahl seiner Unterverzeichnisse (durch deren "..") plus zwei.
Ich werde überhaupt nicht schlau draus!
Jetzt besser?
2. Warum haben die Verzeichnisse packages und selfhtml 3k bzw 18k ?
Das kommt auf die Anzahl der Dateien in dem jeweiligen Verzeichnis an. In packages stehen nur 150 Unterverzeichnisse, in selfhtml fast 1000 Dateien.
o.k., hatte ich mir so gedacht. Danke. Diese Größe harmoniert immerhin noch mit der Anzahl der tatsächlichen Verzeichniseinträge.
Allerdings wird die Groesse eines Verzeichnisses (d.h. des zur Speicherung der Eintraege reservierten Platzes) nicht wieder reduziert, wenn Dateien geloescht werden. Ein leeres Verzeichnis kann also durchaus ein paar K gross sein, nur weil irgendwann mal sehr viele Dateien darin *waren*. Eilert -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eilert Brinkmann -- Universitaet Bremen -- FB 3, Informatik eilert@informatik.uni-bremen.de - eilert@tzi.org - eilert@linuxfreak.com http://www.informatik.uni-bremen.de/~eilert/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Eilert Brinkmann schrieb in 3,7K (96 Zeilen):
Allerdings wird die Groesse eines Verzeichnisses (d.h. des zur Speicherung der Eintraege reservierten Platzes) nicht wieder reduziert, wenn Dateien geloescht werden. Ein leeres Verzeichnis kann also durchaus ein paar K gross sein, nur weil irgendwann mal sehr viele Dateien darin *waren*.
Das ist ein feature. :-) --> mklost+found -Wolfgang --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (2)
-
eilert@informatik.uni-bremen.de
-
weissel@netcologne.de