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).
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).
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).
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).
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).
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).
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.
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).
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.