Kommandoene df
og du
er uunnværlige verktøy i Bash-skallet, som brukes i Linux, macOS og andre Unix-baserte operativsystemer, for å holde oversikt over diskplassbruken. Ved hjelp av disse kommandoene kan du raskt identifisere hva som opptar lagringskapasiteten på systemet ditt.
Oversikt over total, tilgjengelig og brukt diskplass
Bash-miljøet tilbyr to praktiske kommandoer for å analysere diskplass. df
(forkortelse for diskfilsystemer) gir deg innsikt i tilgjengelig og brukt diskplass, mens du
(forkortelse for diskbruk) hjelper deg med å finne ut hva som faktisk bruker opp den brukte plassen.
For å starte, skriv kommandoen df
i et Bash-terminalvindu og trykk enter. Du vil da se en omfattende liste med informasjon, som kan se litt overveldende ut ved første øyekast, men som er lett å forstå. Hvis du kjører df
uten spesifikke alternativer, får du en oversikt over tilgjengelig og brukt plass for alle monterte filsystemer.
df
Hver linje i outputen er organisert i seks kolonner, som presenterer følgende informasjon:
Filsystem | Navnet på filsystemet. |
1K-blokker | Antallet 1K-blokker som er tilgjengelig på dette filsystemet. |
Brukt | Antallet 1K-blokker som er i bruk på dette filsystemet. |
Tilgjengelig | Antallet 1K-blokker som er ledig på dette filsystemet. |
Bruk% | Prosentandelen av brukt plass på dette filsystemet. |
Fil | Filsystemnavnet, hvis angitt som parameter i kommandoen. |
Montert på | Monteringspunktet for filsystemet. |
Du kan forandre visningen av 1K-blokkene til mer forståelige enheter ved å bruke -B
(blokkstørrelse) alternativet. For å benytte dette, skriv df
, et mellomrom, deretter -B
og en bokstav fra listen K
, M
, G
, T
, P
, E
, Z
eller Y
. Disse representerer henholdsvis kilo, mega, giga, tera, peta, exa, zeta og yotta fra multiplum av 1024-skalaen.
For eksempel, hvis du ønsker å se diskbruken i megabyte, skriver du følgende kommando. Legg merke til at det ikke er noe mellomrom mellom B
og M
.
df -BM
Alternativet -h
(menneskeleselig) instruerer df
til å bruke den mest passende enheten for hvert filsystems størrelse. Du vil da se filsystemer listet med størrelser i gigabyte, megabyte eller til og med kilobyte.
df -h
Dersom du trenger å se informasjonen i form av antall inoder, kan du bruke -i
(inoder) alternativet. En inode er en datastruktur som brukes i Linux filsystemer for å beskrive filer og metadata om dem. På Linux inneholder en inode informasjon som filnavn, endringsdato, plassering på harddisken og mer, for hver fil og katalog. Dette er kanskje ikke relevant for alle, men systemadministratorer har ofte behov for denne informasjonen.
df -i
Med mindre du spesifiserer noe annet, vil df
gi deg informasjon om alle monterte filsystemer. Dette kan resultere i en lang og uoversiktlig output. For eksempel er oppføringene for /dev/loop
pseudo-filsystemer som lar deg montere en fil som om den var en partisjon. Hvis du benytter deg av Ubuntus snap-metode for å installere applikasjoner, vil du sannsynligvis se mange slike oppføringer. Siden de i realiteten ikke er filsystemer vil den tilgjengelige plassen på disse alltid være 0, og derfor ikke nødvendig å se på.
Vi kan instruere df
til å ekskludere filsystemer av en viss type. For å gjøre dette må vi vite hvilken filsystemtype vi ønsker å ekskludere. Alternativet -T
(utskriftstype) gir oss denne informasjonen, ved å inkludere filsystemtypen i outputen.
df -T
Oppføringene /dev/loop
er alle av typen squashfs
. Vi kan ekskludere disse ved å bruke følgende kommando:
df -x squashfs
Dette gir oss en mer oversiktlig output. For å få en total oversikt, kan vi legge til alternativet --total
.
df -x squashfs --total
På samme måte kan vi be df
om kun å inkludere filsystemer av en bestemt type, ved hjelp av alternativet -t
(type).
df -t ext4
Hvis vi ønsker å se størrelsene for et spesifikt sett med filsystemer, kan vi spesifisere disse med navn. Stasjonsnavn i Linux er alfabetiske. Den første stasjonen heter /dev/sda
, den andre /dev/sdb
og så videre. Partisjoner er nummerert, så /dev/sda1
er den første partisjonen på stasjonen /dev/sda
. Vi ber df
returnere informasjon om et bestemt filsystem ved å sende inn filsystemets navn som en kommandoparameter. La oss ta en titt på den første partisjonen på den første harddisken.
df /dev/sda1
Legg merke til at du kan bruke jokertegn i filsystemnavnet, der *
representerer en sekvens av tegn og ?
representerer et enkelt tegn. For å se alle partisjonene på den første stasjonen, kan du for eksempel bruke:
df /dev/sda*
Vi kan også be df
om å rapportere om et sett med spesifiserte filsystemer. Her ber vi om størrelsene på filsystemene /dev
og /run
, og inkluderer en totalsum.
df -h --total /dev /run
For ytterligere å tilpasse utdataen, kan vi definere hvilke kolonner som skal inkluderes. Dette gjøres ved å bruke --output
-alternativet etterfulgt av en kommaseparert liste over de ønskede kolonnenavnene. Husk at det ikke skal være mellomrom i den kommaseparerte listen.
kilde | Navnet på filsystemet. |
fstype | Type filsystem. |
itotal | Størrelsen på filsystemet i inoder. |
iused | Plassen som brukes i filsystemet i inoder. |
iavail | Den tilgjengelige plassen i filsystemet i inoder. |
ipcent | Prosentandelen av brukt plass i filsystemet i inoder. |
størrelse | Størrelsen på filsystemet, standard i 1K blokker. |
brukt | Plassen som brukes i filsystemet, standard i 1K blokker. |
tilgjengelig | Den tilgjengelige plassen i filsystemet, standard i 1K blokker. |
pcent | Prosentandelen av brukt plass i filsystemet, standard i 1K blokker. |
fil | Filsystemnavnet hvis angitt på kommandolinjen. |
target | Monteringspunktet for filsystemet. |
La oss be df
om å rapportere om den første partisjonen på den første stasjonen, med lesbare tall, og kolonnene source
, fstype
, size
, used
, avail
og pcent
:
df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent
Lange kommandoer er perfekte for å bli gjort om til aliaser. Vi kan opprette et alias dfc
(for df custom
) ved å skrive følgende og trykke Enter:
alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"
Når du skriver dfc
og trykker Enter vil du se samme resultat som om du hadde skrevet inn den lange kommandoen. For å gjøre dette aliaset permanent, kan du legge det til i .bashrc
– eller .bash_aliases
-filen din.
Vi har nå sett på hvordan vi kan avgrense output fra df
slik at informasjonen den presenterer er skreddersydd dine behov. Hvis du ønsker å ta den motsatte tilnærmingen og få df
til å vise all informasjonen, kan du benytte -a
(alle) alternativet i kombinasjon med --output
-alternativet som vist under. -a
(alle) vil tvinge df
til å inkludere hvert filsystem, og bruk av --output
uten en kommaseparert liste av kolonner får df
til å inkludere hver kolonne.
df -a --output
Ved å pipe utdataen fra df
gjennom less
-kommandoen får du en praktisk måte å se hvor omfattende outputen kan bli.
df -a --output | less
Finne ut hva som tar opp den brukte diskplassen
La oss grave litt dypere for å finne ut hva som opptar plassen på denne PCen. Vi begynner med en av df
-kommandoene vi har brukt tidligere:
df -h -t ext4
Vi ser her at 78% av diskplassen er brukt på den første partisjonen på den første harddisken. Vi kan bruke du
-kommandoen for å finne ut hvilke mapper som inneholder mest data. Hvis vi kjører du
uten noen alternativer vil vi få en liste over alle kataloger og underkataloger i den katalogen kommandoen ble startet fra. Hvis du gjør dette fra hjemmemappen din vil listen bli veldig lang.
du
Output formatet er veldig enkelt. Hver linje viser størrelsen og navnet på en katalog. Standard enheten for størrelsen er 1K-blokker. For å tvinge du
til å bruke en annen blokkstørrelse, kan du bruke -B
(blokkstørrelse) alternativet. For å bruke dette alternativet skriver du du
, et mellomrom, så -B
, og en bokstav fra listen K
, M
, G
, T
, P
, E
, Z
eller Y
, som vi gjorde for df
. For å bruke 1M blokker, bruk følgende kommando:
du -BM
Akkurat som df
har også du
et lesbart alternativ, -h
, som bruker den passende blokkstørrelsen basert på størrelsen for hver katalog.
du -h
Alternativet -s
(oppsummere) gir en total størrelse for hver katalog, uten å vise underkataloger. Følgende kommando ber du
returnere informasjon i oppsummeringsformat, i lesbare tall, for alle kataloger:
du -h -s *
under gjeldende arbeidskatalog.
du -sm Pictures/* | sort -nr
Bildemappen inneholder definitivt mest data. Vi kan be du
sortere mapper i størrelse, fra størst til minst.
Ved å begrense informasjonen som returneres av df
og du
er det enkelt å finne ut hvor mye diskplass som er i bruk, og å lokalisere hva som bruker opp denne plassen. Du kan deretter ta en informert beslutning om å flytte noen data til annet lagringsmedium, legge til en ekstra harddisk i maskinen, eller slette overflødig data. Disse kommandoene har mange alternativer. Vi har beskrevet de mest brukte her, men du kan se en fullstendig liste over alternativer for df
kommandoen og for du
kommandoen på Linux sine man-sider.