Hur man kontrollerar diskutrymme på Linux från kommandoraden

author
5 minutes, 44 seconds Read

Snabb fråga: Hur mycket utrymme har du kvar på dina diskar? Lite eller mycket? Följdfråga: Vet du hur du kan ta reda på det? Om du råkar använda ett grafiskt skrivbord (t.ex. GNOME, KDE, Mate, Pantheon osv.) är uppgiften förmodligen ganska enkel. Men vad händer om du tittar på en headless server, utan GUI? Behöver du installera verktyg för uppgiften? Svaret är ett rungande nej. Alla nödvändiga bitar finns redan på plats för att hjälpa dig att ta reda på exakt hur mycket utrymme som återstår på dina hårddiskar. Faktum är att du har två mycket lättanvända alternativ till hands.

I den här artikeln kommer jag att demonstrera dessa verktyg. Jag kommer att använda Elementary OS, som också innehåller ett GUI-alternativ, men vi kommer att begränsa oss till kommandoraden. Den goda nyheten är att dessa kommandoradsverktyg är lättillgängliga för varje Linuxdistribution. På mitt testsystem finns det ett antal anslutna enheter (både interna och externa). De kommandon som används är agnostiska till var en enhet är inkopplad; de bryr sig bara om att enheten är monterad och synlig för operativsystemet.

Med detta sagt, låt oss ta en titt på verktygen.

df

Kommandot df är det verktyg som jag först använde för att upptäcka diskutrymme på Linux, långt tillbaka på 1990-talet. Det är mycket enkelt både när det gäller användning och rapportering. Än idag är df mitt favoritkommando för den här uppgiften. Kommandot har några växlar, men för grundläggande rapportering behöver du egentligen bara en. Det kommandot är df -H. Omkopplingen -H är för människoläsbart format. Utdata från df -H rapporterar hur mycket utrymme som används, tillgängligt, hur mycket procent som används och monteringspunkten för varje disk som är ansluten till ditt system (figur 1).

Figur 1: Utdata från df -H på mitt Elementary OS-system.

Hur är det om din lista över diskar är överdrivet lång och du bara vill se hur mycket utrymme som används på en enskild disk? Med df är det möjligt. Låt oss ta en titt på hur mycket utrymme som har använts på vår primära enhet som ligger på /dev/sda1. För att göra det, skicka kommandot:

df -H /dev/sda1

Utmatningen kommer att begränsas till denna enda enhet (figur 2).

Figur 2: Hur mycket utrymme finns på en viss enhet?

Du kan också begränsa de rapporterade fälten som visas i df-utmatningen. Följande fält är tillgängliga:

  • källa – filsystemets källa

  • storlek – totalt antal block

  • använd – använt utrymme på en enhet

  • tillgängligt – tillgängligt utrymme på en enhet

  • procent – procent av använt utrymme, dividerat med den totala storleken

  • target – monteringspunkt för en enhet

Låt oss visa utdata för alla våra enheter och endast visa fälten för storlek, använt utrymme och avail (eller tillgänglighet). Kommandot för detta skulle vara:

df -H --output=size,used,avail

Utmatningen av detta kommando är ganska lätt att läsa (Figur 3).

Figur 3: Specificering av vilken utdata som ska visas för våra enheter.

Den enda invändningen här är att vi inte känner till källan till utmatningen, så vi skulle vilja inkludera källan på följande sätt:

df -H --output=source,size,used,avail

Nu blir utmatningen mer begriplig (Figur 4).

Figur 4: Vi vet nu källan till vår diskanvändning.

du

Vårt nästa kommando är du. Som du kanske förväntar dig står det för diskanvändning. Kommandot du skiljer sig ganska mycket från kommandot df, eftersom det rapporterar om kataloger och inte om enheter. På grund av detta vill du veta namnen på de kataloger som ska kontrolleras. Låt oss säga att jag har en katalog som innehåller filer för virtuella maskiner på min maskin. Den katalogen är /media/jack/HALEY/VIRTUALBOX. Om jag vill ta reda på hur mycket utrymme som används av just den katalogen skulle jag utfärda kommandot:

du -h /media/jack/HALEY/VIRTUALBOX

Utmatningen av ovanstående kommando kommer att visa storleken på varje fil i katalogen (Figur 5).

Figur 5: Utdata från du-kommandot för en specifik katalog.

Så här långt är det här kommandot inte särskilt användbart. Vad händer om vi vill veta den totala användningen av en viss katalog? Lyckligtvis kan du hantera den uppgiften. På samma katalog skulle kommandot vara:

du -sh /media/jack/HALEY/VIRTUALBOX/

Nu vet vi hur mycket totalt utrymme filerna använder i den katalogen (figur 6).

Figur 6: Mina virtuella maskinfiler använder 559 GB utrymme.

Du kan också använda det här kommandot för att se hur mycket utrymme som används i alla underordnade kataloger till en överordnad katalog, så här:

du -h /media/jack/HALEY

Utmatningen av det här kommandot (Figur 7) är ett bra sätt att ta reda på vilka underkataloger som tar upp utrymme på en enhet.

Figur 7: Hur mycket utrymme använder mina underkataloger?

Kommandot du är också ett bra verktyg för att se en lista över kataloger som använder mest diskutrymme på ditt system. Du gör detta genom att skicka utdata från du till två andra kommandon: sort och head. Kommandot för att ta reda på de tio kataloger som använder mest utrymme på en enhet skulle se ut så här:

du -a /media/jack | sort -n -r | head -n 10

Utgången skulle lista dessa kataloger, från störst till minst offender (Figur 8).

Figur 8: Våra tio största kataloger som använder utrymme på en enhet.

Inte så svårt som du trodde

Att ta reda på hur mycket utrymme som används på dina Linux-anslutna enheter är ganska enkelt. Så länge dina enheter är monterade i Linux-systemet gör både df och du ett utmärkt jobb med att rapportera den nödvändiga informationen. Med df kan du snabbt få en översikt över hur mycket utrymme som används på en disk och med du kan du ta reda på hur mycket utrymme som används av specifika kataloger. Dessa två verktyg i kombination bör betraktas som ett måste för varje Linuxadministratör.

Och om du skulle ha missat det visade jag nyligen hur du kan fastställa din minnesanvändning på Linux. Tillsammans kommer dessa tips att hjälpa dig att framgångsrikt hantera dina Linux-servrar.

Lär dig mer om Linux genom den kostnadsfria kursen ”Introduction to Linux” från The Linux Foundation och edX.

Similar Posts

Lämna ett svar

Din e-postadress kommer inte publiceras.