Hur man visar ledigt diskutrymme och diskanvändning från Linux-terminalen

Kommandona df och du rapporterar om diskutrymmesanvändning från Bash-skalet som används på Linux, macOS och många andra Unix-liknande operativsystem. Dessa kommandon låter dig enkelt identifiera vad som använder ditt systems lagring.

Visa totalt, tillgängligt och använt diskutrymme

Bash innehåller två användbara kommandon relaterade till diskutrymme. För att ta reda på tillgängligt och använt diskutrymme, använd df (diskfilsystem, ibland kallat diskfritt). För att upptäcka vad som tar upp det använda diskutrymmet, använd du (diskanvändning).

Skriv df och tryck enter i ett Bash-terminalfönster för att komma igång. Du kommer att se mycket utdata som liknar skärmdumpen nedan. Om du använder df utan några alternativ visas det tillgängliga och använda utrymmet för alla monterade filsystem. Vid första anblicken kan det se ogenomträngligt ut, men det är ganska lätt att förstå.

df

Varje rad på displayen består av sex kolumner.

Filsystem: Namnet på detta filsystem.
1K-block: Antalet 1K-block som är tillgängliga på detta filsystem.
Används: Antalet 1K block som har använts på detta filsystem.
Tillgängligt: ​​Antalet 1K block som är oanvända på detta filsystem.
Använd%: Mängden utrymme som används i detta filsystem angivet i procent.
Fil: Filsystemets namn, om det anges på kommandoraden.
Monterad på: Monteringspunkten för filsystemet.

Du kan ersätta antalet 1K block med mer användbar utdata genom att använda alternativet -B (blockstorlek). För att använda det här alternativet, skriv df, ett mellanslag och sedan -B och en bokstav från listan över K, M, G, T, P, E, Z eller Y. Dessa bokstäver representerar kilo, mega, giga, tera, peta-, exa-, zeta- och yotta-värden från multipeln på 1024-skalan.

Till exempel, för att se siffrorna för diskanvändning i megabyte, skulle du använda följande kommando. Observera att det inte finns något mellanslag mellan B och M.

df -BM

Alternativet -h (läsbart för människor) instruerar df att använda den mest tillämpliga enheten för storleken på varje filsystem. I nästa utdata, notera att det finns filsystem med gigabyte, megabyte och till och med kilobyte storlekar.

df -h

Om du behöver se informationen representerad i antal inoder, använd alternativet -i (inoder). En inode är en datastruktur som används av Linux-filsystem för att beskriva filer och lagra metadata om dem. På Linux innehåller inoder data som namn, ändringsdatum, position på hårddisken och så vidare för varje fil och katalog. Detta kommer inte att vara användbart för de flesta människor, men systemadministratörer måste ibland hänvisa till denna typ av information.

df -i

Om inte tillsagd att inte göra det, kommer df att tillhandahålla information om alla monterade filsystem. Detta kan leda till en rörig skärm med mycket utdata. Till exempel är /dev/loop-posterna i listorna pseudofilsystem som tillåter att en fil monteras som om den vore en partition. Om du använder den nya Ubuntu snap-metoden för att installera applikationer kan du skaffa många av dessa. Det tillgängliga utrymmet på dessa kommer alltid att vara 0 eftersom de egentligen inte är ett filsystem, så vi behöver inte se dem.

Vi kan säga åt df att exkludera filsystem av en specifik typ. För att göra det måste vi veta vilken typ av filsystem vi vill utesluta. Alternativet -T (utskriftstyp) ger oss den informationen. Den instruerar df att inkludera typen av filsystem i utdata.

df -T

/dev/loop-posterna är alla squashfs-filsystem. Vi kan utesluta dem med följande kommando:

df -x squashfs

Det ger oss en mer hanterbar produktion. För att få en summa kan vi lägga till alternativet –total.

df -x squashfs --total

Vi kan be df att endast inkludera filsystem av en viss typ, genom att använda alternativet -t (typ).

df -t ext4

Om vi ​​vill se storlekarna för en uppsättning filsystem kan vi specificera dem med namn. Enhetsnamn i Linux är alfabetiska. Den första enheten heter /dev/sda , den andra enheten är /dev/sdb, och så vidare. Partitionerna är numrerade. Så /dev/sda1 är den första partitionen på enheten /dev/sda . Vi säger åt df att returnera information om ett visst filsystem genom att skicka namnet på filsystemet som en kommandoparameter. Låt oss titta på den första partitionen på den första hårddisken.

df /dev/sda1

Observera att du kan använda jokertecken i filsystemets namn, där * representerar vilken uppsättning tecken som helst och ? representerar vilket enskilt tecken som helst. Så för att titta på alla partitioner på den första enheten kan vi använda:

df /dev/sda*

Vi kan be df att rapportera om en uppsättning namngivna filsystem. Han vi begär storleken på filsystemen /dev och /run, och vi vill ha en totalsumma.

df -h --total /dev /run

För att ytterligare anpassa displayen kan vi tala om för df vilka kolumner som ska inkluderas. Använd alternativet –output för att göra det och tillhandahåll en kommaseparerad lista över de obligatoriska kolumnnamnen. Se till att inte inkludera några mellanslag i den kommaseparerade listan.

källa: Namnet på filsystemet.
fstype: Typen av filsystem.
itotal: Storleken på filsystemet i inoder.
iused: Det utrymme som används på filsystemet i inoder.
iavail: Det tillgängliga utrymmet på filsystemet i inoder.
ipcent: Procentandelen använt utrymme på filsystemet i inoder, i procent.
storlek: Storleken på filsystemet, som standard i 1K-block.
använd: Det utrymme som används i filsystemet, som standard i 1K-block.
avail: Det tillgängliga utrymmet i filsystemet, som standard i 1K-block.
procent: Procentandelen använt utrymme på filsystemet i inoder, som standard i 1K-block.
fil: Filsystemets namn om det anges på kommandoraden.
target: Monteringspunkten för filsystemet.

Låt oss be df att rapportera om den första partitionen på den första enheten, med läsbara siffror för människor och med kolumnerna source, fstype, size, used, avail och pcent:

df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent

Långa kommandon är perfekta kandidater för att förvandlas till ett alias. Vi kan skapa ett alias dfc (för df custom ) genom att skriva följande och trycka på Enter:

alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"

Skapa alias med kommandot alias dfc=

Att skriva dfc och trycka på enter kommer att ha samma effekt som att skriva in det långa kommandot. För att göra detta alias permanent lägg till det i din .bashrc- eller .bash_aliasesfil.

Vi har tittat på sätt att förfina utdata från df så att informationen som visas matchar dina krav. Om du vill ta det motsatta tillvägagångssättet och få df att returnera all information kan den använda alternativet -a (alla) och -output-alternativet som visas nedan. Alternativet -a (alla) ber df att inkludera alla filsystem, och att använda –output-alternativet utan en kommaseparerad lista med kolumner gör att df inkluderar varje kolumn.

df -a --output

Att leda utdata från df genom kommandot less är ett bekvämt sätt att granska den stora mängd utdata som detta kan producera.

df -a --output | less

Ta reda på vad som tar upp det använda diskutrymmet

Låt oss undersöka lite och ta reda på vad som tar upp utrymme på den här datorn. Vi börjar med ett av våra df-kommandon.

df -h -t ext4

Det finns 78 % diskutrymme som används på den första partitionen på den första hårddisken. Vi kan använda kommandot du för att visa vilka mappar som innehåller mest data. Om du utfärdar kommandot du utan alternativ kommer en lista över alla kataloger och underkataloger att visas under katalogen som du-kommandot utfärdades i. Om du gör detta från din hemmapp kommer listan att bli mycket lång.

du

Utdataformatet är mycket enkelt. Varje rad visar storleken och namnet på en katalog. Som standard visas storleken i 1K-block. För att tvinga du att använda en annan blockstorlek, använd alternativet -B (blockstorlek). För att använda det här alternativet skriver du du, ett mellanslag och sedan -B och en bokstav från listan över K, M, G, T, P, E, Z och Y, som vi gjorde ovan för df . För att använda 1M block, använd detta kommando:

du -BM

Precis som df har du ett läsbart alternativ, -h, som använder en rad blockstorlekar beroende på storleken på varje katalog.

du -h

Alternativet -s (sammanfatta) ger en totalsumma för varje katalog utan att visa underkatalogerna inom varje katalog. Följande kommando ber du att returnera information i sammanfattningsformat, i läsbara siffror, för alla kataloger

du -h -s *

under den aktuella arbetskatalogen.

du -sm Pictures/* | sort -nr

Bildmappen innehåller överlägset mest data. Vi kan be du sortera mapparna i storlek från största till minsta.

Genom att förfina informationen som returneras av df och du är det lätt att ta reda på hur mycket hårddiskutrymme som används och att upptäcka vad som tar upp det utrymmet. Du kan sedan fatta ett välgrundat beslut om att flytta vissa data till annan lagring, lägga till ytterligare en hårddisk till din dator eller radera redundant data. Dessa kommandon har många alternativ. Vi beskrev de mest användbara alternativen här, men du kan se en komplett lista över alternativen för df kommando och för du kommandot

på Linuxman-sidorna.