• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[Abgebrochen] ls- Kommando

tomlif

Member
drwxr-xr-x 2 root root 1944 Apr 26 2005 bin
drwxr-xr-x 5 root root 480 Apr 17 2005 boot
drwxr-xr-x 29 root root 95488 Mar 17 11:44 dev
drwxr-xr-x 39 root root 4064 Mar 28 07:50 etc

Hallo: ich schaue mir mit ls -l gerade das /-Verzeichnis an und wundere mich über die gekennzeichneten Spalte:

Was bedeutet: 1944/480/95488/4064/

Vielen Dank.
t.
 

Bartlin

Member
gleich der erste Link:
Google
-l
"Long-Output-Format: Es werden wesentlich mehr Informationen über die Dateien ausgegeben. In folgender Reihenfolge:

Typ und Zugriffsrechte
In der ersten Spalte steht der Dateityp, danach in 3 x 3 Spalten Owner-, Gruppen und World-Lese, Schreib- und Ausführungsrecht. Ein "-" bedeutet dabei jeweils, das das entsprechende Recht nicht vergeben wurde. Eine besondere Bedeutung hat das x-Bit für Directories.Mehr dazu bei den Zugriffsrechten.
Reference count
Anzahl der Links auf diese Datei. Mehr dazu siehe im Kapitel Links.
Owner
Benutzername des Erzeugers der Datei.
Group
Gruppenzugehörigkeit des Erzeugers (genauer gesagt: des erzeugenden Prozesses, siehe Gruppenwechsel und Standard-Gruppe).
Size
Größe der Datei.
Uhrzeit
und Datum der Erzeugung.
Dateiname.
 

gm2601

Advanced Hacker
Bartlin schrieb:
.... Size.... Größe der Datei. ...
Hallo Bartlin, das mit der Size wollt' ich auch schreiben, aber das sind nur Directories und dafür ist spez. /dev dann doch ziemlich groß. "info ls" erzählt was von Blocks bei Directories ??? Ich bin ein wenig verunsichert :oops:
 
OP
T

tomlif

Member
Jupp ich auch:

ein "du -h /verzeichnis" oder nur "du /verzeichnis" liefert ganz andere Werte...

Ich fände es gut, wenn ich mit einem "ls-"Befehl auch die Größe der einzelnen Verzeichnisse anzeigen lassen könnte...

Irgendwie finde ich aber keine Möglichkeit. Ein Skript?

t.
 

Bartlin

Member
-h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G)
Vielleicht hilft dir das

Was die Blöcke angeht, so ist eine Festplatte in viele Blöcke eingeteilt. Diese umfasst eine festgelegte Anzahl von Byte. Stell dir also z.B. vor, du hast eine Textdatei und die ist nun z.B. 1kB groß. Deine Blockgröße ist nun aber (rein fiktiv) 5kB. Dann wären 5kB auf deiner Platte belegt, obwohl die Datei ja nur 1kB groß ist.

War das verständlich, oder soll ich das noch mal anders erklären?
 
OP
T

tomlif

Member
Auf die Gefahr hin, dass ich hier Prügel bekomme:

ls -h -> Iss nicht.

dir -h -> Funzt. OK. (Wahrscheinlich ein Synonym für LS, SUSE 8.2)

Irgendwelche Blöcke auf der Festplatte interessieren mich nur am Rande.

t.
 

gm2601

Advanced Hacker
Bartlin schrieb:
...Was die Blöcke angeht, ...
War das verständlich, oder soll ich das noch mal anders erklären?
Wenn es Dir michts ausmacht...ich seh' zwar Deine Erklärung mit den Blocks != filesize, aber das 9ooK große /dev erscheint mir immer noch erklärungsbedürftig.
Code:
 ll /dev/* | wc
439    3759   27108
bringt bei mir (10.1 sorry) bei weitem nicht so viel .... und wenn das bei tomlif dann noch Blocks sein sollen, dann raff' ich's überhaupt nicht mehr.
Klar, auch ich sehe das als "nice to know" aber Durchblick schadet nie.
Oh, :oops: sehe gerade ll auf mein 9.1 /dev bringt .... 874666, also bleibt nur die Frage sinds Blocks bei den Dirs oder nicht.
 
OP
T

tomlif

Member
Mein Grundproblem war, dass ich die Größen in der Form "human-readable" von Verzeichnissen nicht mit dem ls- oder dir-Befehl darstellen konnte. Die Blockgöße ist nicht wirklich hilfreich.

Ich vermute, dass hier nur "du -sh verzeichnis" eine Alternative ist.
Ein bisschen schade, aber geht wahrscheinlich nicht anders. :?

Trotzdem DANKE!

t.
 

gm2601

Advanced Hacker
Mein letzer Eintrag war auch mehr an Bartlin gerichtet, da ich die Darstellung bezüglich directories aus "info ls" nicht ganz kapiert hatte und mich über die Größe von /dev wunderte. Letztendlich ist das nicht sehr wichtig, eher informativ.
Wenn Du Deine Anfrage als gelöst betrachtest, solltest Du Deinen Titel in "[gelöst] ls- Kommando" erweitern.
 

Bartlin

Member
also, ich muss zugeben, dass all das, was ich hier gepostet habe, nur von der Suche unter dem Link (ganz oben) entstanden ist, da ich im Moment an einer XP-Kiste sitze...

Warum das /dev so groß ist - keine Ahnung, kann ich in Eure PCs reinschauen? :shock:

Aber vielleicht haben ja unsere "alten Hasen" dafür eine Erklärung...

Das einzige, was mir dazu einfällt, ist, dass in Suse 8 vielleicht noch Daten unter /dev gespeichert wurden, die heute Suse 10.x vielleicht wo anders untergebracht werden (evtl. /etc ?).
 

TeXpert

Guru
Bartlin schrieb:
Aber vielleicht haben ja unsere "alten Hasen" dafür eine Erklärung...

ok, genug gespielt und Unsinn verzapft ;)
jetzt müssen die Profis ran...

[quote[
Das einzige, was mir dazu einfällt, ist, dass in Suse 8 vielleicht noch Daten unter /dev gespeichert wurden, die heute Suse 10.x vielleicht wo anders untergebracht werden (evtl. /etc ?).[/quote]
fast richtig (ok, ich kenne Suse 8 und 10 nicht daher nur eine begründete Vermutung:

Susi 8 scheint noch mit devfs zu laufen und Susi 10 mit udev.

Unterschiede: (details bei Google suchen) devfs nutzt statische Links in /dev und bei Udev wird im Userspace auf Hotplug-Events entsprechend gearbeitet und dynamisch ein Device eingeblendet.

Statische Links -> Inods -> das Verzeichnis hat eine Größe

Beispiele: ich hab hier noch einen alten Debian Sarge-Server mit devfs stehen:
$ ls -ld /dev
drwxr-xr-x 15 root root 14120 2006-03-30 08:00 /dev

im Vergleich dazu mein Notebook eine moderne Distri mit udev:
$ ls -ld /dev/
drwxr-xr-x 12 root root 0 2006-03-30 08:14 /dev/


tomlif schrieb:
Auf die Gefahr hin, dass ich hier Prügel bekomme:

ls -h -> Iss nicht.

das hängt wenn dann von der INstallierten coreutils-Version ab -> info coreutils ls hilft weiter, denn -h gibts sehr wohl ;)
Code:
$ ls --version
ls (coreutils) 5.2.1
Geschrieben von Richard Stallman und David MacKenzie.

Copyright (C) 2004 Free Software Foundation, Inc.
Dies ist freie Software; die Kopierbedingungen stehen in den Quelltexten. Es
gibt keine Garantie; auch nicht für VERKAUFBARKEIT oder FÜR SPEZIELLE ZWECKE.

$ ls -ldh /bin
drwxr-xr-x  2 root root 4,0K 2006-03-15 20:47 /bin

jut, jetzt die ll-Variante, die ich irgendwo gelesen habe, *das* ist kein built-in-Befehl! es handelt sich nur um einen alias, idr auf ls -l

ich weiß nicht, ob ich noch anderer Krempel jetzt übersehen habe...
 
Die Größe von Verzeichnissen in `ls -l` hat eigentlich keine Bedeutung. Als Beispiel nehmen wir mal reiser3, das für jeden Eintrag irgendwie 24 Bytes versenkt (was nicht unbedingt heißen muss, dass 24 Bytes pro Eintrag auf der Platte verwendet werden):
Code:
23:46 atex:~ > ls -dl /dev
drwxr-xr-x  35 root root 180352 Mar 31 08:07 /dev
23:46 atex:~ > l /dev | wc -l
7486
24 * 7486 = 179664

xfs dagegen:
Code:
23:53 shanghai:~/l > md leer
23:53 shanghai:~/l > l leer
total 0
drwxr-xr-x  2 jengelh users  6 Mar 31 23:53 .
drwxr-xr-x  3 jengelh users 17 Mar 31 23:53 ..
23:53 shanghai:~/l > touch leer/1
23:53 shanghai:~/l > l leer
total 0
drwxr-xr-x  2 jengelh users 14 Mar 31 23:53 .
drwxr-xr-x  3 jengelh users 17 Mar 31 23:53 ..
-rw-r--r--  1 jengelh users  0 Mar 31 23:53 1
23:53 shanghai:~/l > touch leer/2
23:53 shanghai:~/l > l leer
total 0
drwxr-xr-x  2 jengelh users 22 Mar 31 23:53 .
drwxr-xr-x  3 jengelh users 17 Mar 31 23:53 ..
-rw-r--r--  1 jengelh users  0 Mar 31 23:53 1
-rw-r--r--  1 jengelh users  0 Mar 31 23:53 2
8 pro Eintrag, ohne ./.., plus 6 allg. für "." + "..". Ab einer gewissen Anzahl von Dateien (zwischen 10 und 20) ist die Verzeichnisgrösse nicht mehr y=6+8*d, sondern auf statische y=x*4096 angestiegen (x!=d), was wohl mit Caching und Effizienz zu tun hat. Bei /dev gleicht es sich in der Masse wieder aus:
Code:
23:55 shanghai:~ > ls -dl /dev
drwxr-xr-x  39 root root 143360 Mar 31 14:56 /dev
23:55 shanghai:~ > l /dev | wc -l
7714
23:55 shanghai:~ > echo $[143360/7714]
18
Zufrieden?
 

TeXpert

Guru
jengelh schrieb:
Die Größe von Verzeichnissen in `ls -l` hat eigentlich keine Bedeutung.
sagen wir lieber die Größe ist relativ ;)

info coreutils ls schrieb:
`-l'
`--format=long'
`--format=verbose'
[...]
For each directory that is listed, preface the files with a line
`total BLOCKS', where BLOCKS is the total disk allocation for all
files in that directory. The block size currently defaults to 1024
bytes, but this can be overridden (*note Block size::). The
BLOCKS computed counts each hard link separately; this is arguably
a deficiency.

Für einen relativen Vergleich *können* die Angaben herangezogen werden, wobei hier natürlich Unterschiede in den Dateisystemen einhergehen können.

d.h. quantitativ: Blockgröße für /dev A >> /dev B dann kann ich darauf schließen, dass Rechner B mit udev läuft...
 

gm2601

Advanced Hacker
Wenn Experten fachsimpeln, erblassen die TrivialUser wie immer in ehrfürchtigem Erstaunen :mrgreen:
Ich schließe also daraus, wenn ein ll auf mein 9.1 /dev .... 874666 bringt und m.E meine Blocksize dort 1k war, daß mein /dev damals ca. 874MB :shock: verbraten haben müßte !?! Hmmm.
 
Oben