I den här artikeln kommer vi att förklara hur du kan lista filer, sorterade efter storlek, i ett katalogträd. Detta inkluderar kataloglista både i det grafiska användargränssnittet och kommandoraden.
Vi har utfört de procedurer och kommandon som nämns i den här artikeln på ett Debian 10 Buster-system. Du kan dock replikera dessa steg på de flesta Linux-distros.
Sortera filer i en filhanterare
Filhanteraren som du använder har en standardinställning, mestadels alfabetisk, för att sortera filer och mappar i en katalog. Du kan dock ställa in anpassade inställningar så att de sorterar dina filer baserat på deras storlek. Nautilus är standardfilhanteraren för Linux Debian och Ubuntu. Så här kan du sortera filerna, storleksmässigt, på Nautilus i Debian.
Metod 1: Öppna Filhanteraren och klicka sedan på nedåtpilen i det övre fältet enligt följande:
Detta kommer att presentera en lista med alternativ på grundval av vilka du kan sortera filer och mappar i en katalog. Klicka på alternativet Storlek för att sortera filerna utifrån deras minskande storlek.
Metod 2: Du kan också ställa in inställningarna för din filhanterare så att den visar filer och mappar baserat på ett visst kriterium. Klicka på alternativknappen från det övre fältet enligt följande:
Klicka sedan på alternativet Inställningar som öppnar inställningsvyn med fliken "Vyer" öppen. Klicka på fliken Listkolumner som låter dig ställa in vilken ordningsinformation som ska visas i listvyn i Filhanteraren.
Välj alternativet Storlek och dra det till toppen så att detta kriterium är den bästa preferensen för att sortera dina filer och mappar.
Sortera filer på kommandoraden
Med kommandot ls i Linux kan du lista filer och deras information baserat på de kriterier du anger i form av olika flaggor och deras alternativ. Om inga kriterier anges, sorterar kommandot ls alla poster alfabetiskt. Här kommer vi att använda kommandot ls, med olika flaggor, för att få det att lista filer och mappar på grundval av deras storlek.
Du kan öppna Debian-kommandoraden, Terminal, genom att söka efter den från Application Launcher-sökningen enligt följande:
Du kan sedan använda alternativet -S enligt följande för att sortera filerna utifrån storlek, störst först:
$ ls -S
Ett annat alternativ är att använda sorteringsflaggan med kommandot ls med följande syntax:
$ ls - sort = WORDDär 'WORD' kan användas för att ange följande alternativ:
- ingen-istället för -U-flaggan
- storlek - istället för -S-flaggan
- tid- istället för -t-flaggan
- version- istället för -v-flaggan
- förlängning- istället för -X-flaggan
Nu när vi måste sortera våra filer utifrån storlek kommer vi att ersätta WORD med storlek enligt följande:
$ ls - sort = storlek
Här är några alternativ som gör storlekssorteringen mer användbar för dig:
Skriv ut ett långt format
För att skriva ut en lista över storlekssorterade filer i längdformat kan du använda -l-flaggan med den redan beskrivna -S-flaggan:
$ ls -Sl
Du kan se i bilden ovan hur listan inte visas i längdformat.
Omvänd skriv ut en storlek-sorterad lista
Om du vill att kommandot ls ska skriva ut de lägsta filerna först kan du använda flaggan -r tillsammans med flaggan -S:
$ ls -Slr
Ovanstående kommando skriver ut en längdsorterad lista över filer och mappar i en katalog.
Skriv ut en mer läsbar lista över sorterade filer
Flaggan -h, när den används med -S och -l, skriver ut storlekar som 1K 234M 2G etc. som är mer mänskliga läsbara. Så här kan du sortera filerna i storlek och göra listan mer läsbar:
$ ls -Slh
Uteslut kataloger när du skriver ut en storlekssorterad lista
Om du bara vill lista filerna i en katalog och inte mapparna, sorterade efter storlek, kan du använda grep-kommandot enligt följande:
$ ls -lS | grep -v '^ d'
Du kan se att det här kommandot endast visar filer i en katalog tillsammans med all annan information.
Det här var olika sätt genom vilka du inte bara kan sortera filerna utifrån storlek utan också anpassa listan mer genom att använda andra vanliga flaggor. Så oavsett om du använder Linux-gränssnittet eller kommandoraden kan du nu göra fillistan mycket mer informativ.