Willkommen im #Neuland
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.
PQ Discord Server: #planetquake Spenden? Hier entlang!
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.
PQ Discord Server: #planetquake Spenden? Hier entlang!
ls - Ordner sortieren nach Größe
-
- Sarge
- Beiträge: 137
- Registriert: Nov 2002
ls - Ordner sortieren nach Größe
Also folgendes Problem:
Ich habe verschiedene Ordner, die unterschiedlich großen Inhalt haben und möchte diese der größe nach sortieren.
Bei Dateien hab ich das bisher mit "ls -Ssh | less" gemacht.
Doch dummerweise werden damit alle Ordner nur mit 4.0k aufgeführt und nicht "richtig" sortiert.
Ich hoffe ihr versteht was ich meine und wie ich das möglichst einfach angezeigt bekomme
danke
--much
Ich habe verschiedene Ordner, die unterschiedlich großen Inhalt haben und möchte diese der größe nach sortieren.
Bei Dateien hab ich das bisher mit "ls -Ssh | less" gemacht.
Doch dummerweise werden damit alle Ordner nur mit 4.0k aufgeführt und nicht "richtig" sortiert.
Ich hoffe ihr versteht was ich meine und wie ich das möglichst einfach angezeigt bekomme
danke
--much
Linux is like a wigwam - no windows, no gates, apache inside
-
- Razor
- Beiträge: 1962
- Registriert: Aug 2000
- Wohnort: Aachen
'du' ist ein Befehl, der dir Ordner und ihre Größen anzeigt.
[small]Viele Namen habe ich in vielen Ländern. Mithrandir heiße ich bei den Elben, Tharkûn bei den Zwergen;
Olórin war ich in meiner Jugend im Westen, der vergessen ist, im Süden Incánus, im Norden Gandalf; in den Osten gehe ich nicht.
J.R.R. Tolkien - The Lord Of The Rings[/small]
Olórin war ich in meiner Jugend im Westen, der vergessen ist, im Süden Incánus, im Norden Gandalf; in den Osten gehe ich nicht.
J.R.R. Tolkien - The Lord Of The Rings[/small]
-
- Assist
- Beiträge: 5811
- Registriert: Feb 2002
omg wenn cirad das sieht!
Original geschrieben von pagenez
ach und pawlak?
du verhurrtes stück einer dreckwurst, halt doch bitte dein maul, ja? wer absolut kein real-life hat, einer wie du, der absolut nichts zu tun hat, als seine scheiße im irc auf andere abzulassen, sollte sich seinen daumen in das arschloch schieben, die augen schließen und dabei an *****n denken.
alles klar?
gut!
Aus meinen Notizen:
Die Verzeichnisse nach der (rekursiven) Speicherbelegung auflisten:
find -type d -maxdepth 1 | xargs du -sm | sort +0n | tail -50
Die Speicherbelegung der Verzeichnisse im aktuellen Verzeichnis:
du -h --max-depth=1
und für ein Verzeichnis:
du -sh <verzeichnis>
Vielleicht auch interessant:
Die (50) größten Dateien im System finden:
cd /; ls -laFR | sort +4n | tail -50
Unschön: Auch Device-Dateien u. /proc-Dateien werden aufgelistet und der absolute Pfad fehlt.
Alternativen: ls -alSr im akt. Verz.,
(find . -ls | sed -e 's/ */ /g;' | sort +6n)
Die Verzeichnisse nach der (rekursiven) Speicherbelegung auflisten:
find -type d -maxdepth 1 | xargs du -sm | sort +0n | tail -50
Die Speicherbelegung der Verzeichnisse im aktuellen Verzeichnis:
du -h --max-depth=1
und für ein Verzeichnis:
du -sh <verzeichnis>
Vielleicht auch interessant:
Die (50) größten Dateien im System finden:
cd /; ls -laFR | sort +4n | tail -50
Unschön: Auch Device-Dateien u. /proc-Dateien werden aufgelistet und der absolute Pfad fehlt.
Alternativen: ls -alSr im akt. Verz.,
(find . -ls | sed -e 's/ */ /g;' | sort +6n)
Ordner gibt's keine...
kannst du auch noch mit tail -n<zeilenanzahl> limitieren, wenn's zu viele sind. Wenn du die Größe absteigend sortiert haben willst, einfach den "-r"-Parameter von Sort omittieren.
Code: Alles auswählen
find . -maxdepth 1 -type d | du | sort -r
du -cks */
Eselsbrücke: "ducks".
Wenn man den Slash weglässt, tauchen auch alle Dateien auf.
Will man auch die Dotfiles haben, geht das wohl noch am einfachsten mit
( shopt -s dotglob ; du -cks */ )
Die Ausgabe kann man dann nach belieben sortieren, zB
( shopt -s dotglob ; du -cks */ ) | sort -rnsk1
bzw
du -cks */ | sort -rnsk1
Eselsbrücke: "ducks".
Wenn man den Slash weglässt, tauchen auch alle Dateien auf.
Will man auch die Dotfiles haben, geht das wohl noch am einfachsten mit
( shopt -s dotglob ; du -cks */ )
Die Ausgabe kann man dann nach belieben sortieren, zB
( shopt -s dotglob ; du -cks */ ) | sort -rnsk1
bzw
du -cks */ | sort -rnsk1
-
- Sarge
- Beiträge: 137
- Registriert: Nov 2002
Danke nobody für den Tip mit den 50 größten Dateien, das ist auch praktisch.
Also ich hab eben folgendes probiert (nach colos Methode):
Das ist genau das was ich wollte, aber eins wundert mich noch - warum werden manche Sachen nicht richtig einsortiert?
Aha, der sortiert nur nach dem ersten Zeichen, aber seht doch einfach selbst:
Wenn man das noch lösen könnte wäre die Sache perfekt
Also ich hab eben folgendes probiert (nach colos Methode):
Code: Alles auswählen
find . -maxdepth 1 -type d | du -h | sort -r
Aha, der sortiert nur nach dem ersten Zeichen, aber seht doch einfach selbst:
Code: Alles auswählen
92K ./306362
52K ./349699
48K ./148568
44K ./114020
36K ./231296
36K ./225739
36K ./158618
36K ./132911
[red]348K ./309577[/red]
32K ./137083
28K ./812208
24K ./110078
24K ./103312
[red]240K ./220017[/red]
20K ./620927
20K ./331102
20K ./319238
20K ./283419
20K ./196113
20K ./165766
20K ./111622
16K ./968863
16K ./831948
Linux is like a wigwam - no windows, no gates, apache inside
-
- Sarge
- Beiträge: 137
- Registriert: Nov 2002
Da kommt bei mir nix vernünftiges dabei raus :/Original erstellt von edgewalker
du -cks */
Eselsbrücke: "ducks".
Code: Alles auswählen
24 103312
24 110078
20 111622
44 114020
12 124144
16 124489
12 126399
16 131609
36 132911
32 137083
48 148568
16 150553
16 152356
12 157899
36 158618
Ich will die Verzeichnisse doch nicht nach ihrem Namen ordnen, sondern der größe nach
Linux is like a wigwam - no windows, no gates, apache inside
Das ist falsch, du ignoriert seine Standardeingabe, das find kannst du dir also sparen.Original erstellt von much
Also ich hab eben folgendes probiert (nach colos Methode):Code: Alles auswählen
find . -maxdepth 1 -type d | du -h | sort -r
Erstens wird per Default alphabetisch sortiert, 10 kommt also vor 2. Das kann man mit -n ändern. Dann hast du aber immer noch das Problem, dass 20K "grösser" sind als 2M.Das ist genau das was ich wollte, aber eins wundert mich noch - warum werden manche Sachen nicht richtig einsortiert?
Du kannst also nicht mit lesbaren Einheiten arbeiten.
(Übrigens, editierten Post von mir nochmal lesen.)
-
- Sarge
- Beiträge: 137
- Registriert: Nov 2002
Problem scheint gelöst (man sort lesen hilft eben doch ^^):
Allerdings muss jetzt das find noch raus, ist ja laut dir überflüssig. Aber das Ergebnis stimmt:
/edit: Man kann dann eben immer entscheiden, ob man sein Ergebnis in Megabyte(-m) oder Kilobyte(-k) haben will.
"du -cksm * | sort -rnsk1"
Ist genau das was ich brauchte.
Code: Alles auswählen
find . -maxdepth 1 -type d | du -h | sort -rg
Code: Alles auswählen
348K ./3095772
240K ./2200170
92K ./3063624
52K ./3496997
48K ./1485682
44K ./1140200
36K ./2312964
36K ./2257392
36K ./1586188
36K ./1329116
32K ./1370839
"du -cksm * | sort -rnsk1"
Ist genau das was ich brauchte.
Linux is like a wigwam - no windows, no gates, apache inside