Hur man sorterar kataloger efter faktisk storlek i Linux



Prova Vårt Instrument För Att Eliminera Problem

Linux-filwebbläsare beter sig som File Explorer under Windows eller Finder under OS X i att sorteringskataloger efter storlek inte fungerar som många användare förväntar sig. Du kan sortera kataloger efter antalet underkataloger som de innehåller eller antalet filer i dem. Ändå verkar filstorleken inte fungera i de flesta fall och du behöver ett extra verktyg.



Lyckligtvis finns det några knep som du kan göra för att ta reda på den faktiska storleken på katalogerna med hur mycket datalagringsutrymme de tar upp. När det gäller filsystem är det mycket liten skillnad mellan mappar och kataloger. Vad din filwebbläsare kallar en mapp egentligen är samma sak, så dessa knep fungerar oavsett vilket ord du föredrar. Termen katalog används för konsekvensens skull.



Metod 1: Sortera kataloger med Disk Usage Analyzer

Användare av Ubuntu, Debian och Linux Mint som föredrar grafiska diskanalysverktyg kanske vill försöka använda sudo apt-get install baobab från prompten. Fedora- och Red Hat-användare kan i allmänhet använda sudo yum install baobab från kommandoraden, men kom ihåg att om du är ett GTK + -program kan du behöva fylla vissa beroenden om du använder en QT-baserad skrivbordsmiljö som KDE eller LXQT .



När du väl har nöjt dig med allt kan du starta applikationen från kommandoraden genom att skriva baobab eller så kan du söka efter den från Dash i Ubuntus Unity-skrivbord. Du kan hålla ner Super- eller Windows-tangenten och trycka på R och sedan skriva baobab om du hellre vill använda Application Finder eller så kan du starta den genom att klicka på applikationsmenyn och hitta GNOME Disk Usage Analyzer i kategorin Systemverktyg. Allt beror på vilken skrivbordsmiljö du använder.

Så snart det startar kommer baobab att uppmana dig att välja ett filsystem. Välj vilken enhet som innehåller katalogen du letar efter och ge den några ögonblick för att räkna upp katalogstrukturen på den. När det väl är gjort kommer programmet att presentera dig för en toppnivå av alla kataloger på din enhet.



Du kan klicka på knappen Storlek för att sortera katalogerna från högsta till lägsta när det gäller faktisk storlek, men tvärtom är standard. Klicka på pilarna bredvid katalogens namn för att expandera den och därmed sortera underkatalogerna som finns under den.

Genom att klicka på underrubriken Innehåll sorteras faktiskt katalogerna på samma sätt som en filhanterare vanligtvis gör, så det kan vara användbart att jämföra den faktiska storleken mot det stora antalet objekt som finns i underkatalogerna i varje toppnivåkatalog.

Metod 2: Använda Classic du Tool

Du kan använda Unix-kommandoradsdiskverktyget (du) från nästan vilken Linux-fråga som helst om du inte har något emot att arbeta på kommandoraden. Detta program kommer att sammanfatta diskanvändningen av valfri uppsättning filer. Om du kör det utan några argument fortsätter det att titta rekursivt genom varje katalog och sammanfatta storleken på varje tills det når slutet av ett träd.

Förutsatt att du hellre vill sortera varje katalog från ett visst avsnitt efter deras storlek, kan du använda följande kommando:

du –si –max-depth = 1 namnOfDirectory | sortera -h

Du måste ersätta nameOfDirectory med katalogen som du föredrar att börja i. Säg till exempel att du ville sortera alla kataloger som finns direkt under / lib efter storlek. Du kan köra kommandot som:

du –si –max-depth = 1 / lib | sortera -h

Du kanske vill ändra numret efter –max-depth = eftersom detta värde definierar hur långt ner i katalogstrukturen du-kommandot ska söka. Eftersom målet här var att undvika att söka igenom ett helt träd valde vi att lämna det vid 1 och titta under en enda katalog.

Argumentet –si indikerar att du-kommandot ska skriva ut storlekar med hjälp av International System of Units, som definierar en kilobyte lika med 1000 byte. Även om detta föredras av de som migrerade till Linux från OS X eller är vana vid beräkning av katalogstorlekar med hårdvarustorlekar, är många användare mest vana vid binära storlekar där 1 024 byte är lika med 1 megabyte. Byt ut –si med -h enligt följande:

du -h –max-depth = 1 / lib | sortera -h

Detta ger resultatet som förväntat om du föredrar binära storlekar. Om du är van att mäta saker i så kallade kibibytes, vill du också använda det här kommandot. Du kanske också vill inkludera | mindre eller | mer kommando till slutet av den här kommandoraden om du hittar så många underkataloger i en toppkatalog att utdata stiger direkt från sidan. Kom ihåg att du borde kunna använda din rullningsfält, styrplatta eller pekskärm för att bläddra igenom resultaten i vilken modern X-terminalemulator som helst.

Om du skulle hitta dig själv med den här lösningen ofta och önskar istället att du hade en version byggd på nya förbannelser, kan du använda sudo apt-get install ncdu på Debian, Ubuntu, de olika Ubuntu-snurrarna, Bodhi och Linux Mint för att installera en ncurses- baserad visare. Användare av Fedora och Red Hat borde kunna använda sudo yum install ncdu om de har skapat en sudoers-fil, eller följt av administrationslösenordet följt av yum install ncdu om de inte har gjort det ännu.

Mer än troligt bör du inte möta några beroenden eftersom programmet är baserat på ncurses och lite annat. Du kan antingen köra den från den aktuella katalogen genom att skriva ncdu eller titta inuti en annan del av trädet genom att skriva ncdu / lib eller vilken katalog du är intresserad av att surfa på.

Du får veta att programvaran beräknar antalet objekt som den hittade i den begärda katalogen. När det är klart kan du bläddra i katalogerna i ordning efter deras verkliga storlek med hjälp av piltangenterna. Du kan trycka på S-tangenten för att sortera katalogerna fram och tillbaka i storleksordning.

4 minuter läst