Hoe je vrije schijfruimte en schijfgebruik kunt bekijken vanaf de Linux Terminal
- Dave McKay
@TheGurkha
- April 2, 2019, 8:00am EDT
De df
en du
commando’s rapporteren over schijfruimtegebruik vanuit de Bash-shell die wordt gebruikt op Linux, macOS en veel andere Unix-achtige besturingssystemen. Met deze opdrachten kunt u eenvoudig vaststellen wat de opslagruimte van uw systeem in beslag neemt.
De totale, beschikbare en gebruikte schijfruimte bekijken
Bash bevat twee handige opdrachten met betrekking tot schijfruimte. Om de beschikbare en gebruikte schijfruimte te bekijken, gebruikt u df
(disk filesystems, soms ook disk free genoemd). Om te ontdekken wat de gebruikte schijfruimte in beslag neemt, gebruikt u du
(schijfgebruik).
Type df
en druk op enter in een Bash terminal venster om aan de slag te gaan. U zult een heleboel uitvoer zien die lijkt op de schermafbeelding hieronder. Door df
zonder opties te gebruiken, krijgt u de beschikbare en gebruikte ruimte te zien voor alle gemounte bestandssystemen. Op het eerste gezicht ziet het er misschien ondoorgrondelijk uit, maar het is vrij eenvoudig te begrijpen.
df
Advertentie
Elke regel van de weergave bestaat uit zes kolommen.
- Bestandssysteem: De naam van dit bestandssysteem.
- 1K-Blocks: Het aantal 1K-blokken dat beschikbaar is op dit bestandssysteem.
- Gebruikt: Het aantal 1K-blokken dat op dit bestandssysteem is gebruikt.
- Beschikbaar: Het aantal 1K-blokken dat ongebruikt is op dit bestandssysteem.
- Use%: De hoeveelheid gebruikte ruimte in dit bestandssysteem, gegeven als percentage.
- Bestand: De naam van het bestandssysteem, indien opgegeven op de opdrachtregel.
- Gemount op: Het koppelpunt van het bestandssysteem.
U kunt de 1K bloktellingen vervangen door meer bruikbare uitvoer door de -B
(blokgrootte) optie te gebruiken. Om deze optie te gebruiken, typ df,
een spatie, en dan -B
en een letter uit de lijst van K, M, G, T, P, E, Z of Y. Deze letters staan voor de kilo, mega, giga, tera, peta, exa, zeta, en yotta waarden van de veelvoud van 1024 schaal.
Voorbeeld, om de schijfgebruik cijfers in megabytes te zien, zou u het volgende commando gebruiken. Merk op dat er geen spatie staat tussen de B en de M.
df -BM
De -h
(menselijk leesbare) optie instrueert df
om de meest toepasselijke eenheid te gebruiken voor de grootte van elk bestandssysteem. Merk in de volgende uitvoer op dat er bestandssystemen zijn met gigabyte-, megabyte- en zelfs kilobyte-groottes.
df -h
Als u de informatie weergegeven wilt zien in aantallen inodes, gebruik dan de -i
(inodes) optie. Een inode is een gegevensstructuur die door Linux-bestandssystemen wordt gebruikt om bestanden te beschrijven en metagegevens over ze op te slaan. In Linux bevatten inodes gegevens zoals de naam, datum van wijziging, positie op de harde schijf, enzovoort voor elk bestand en elke map. Dit zal voor de meeste mensen niet nuttig zijn, maar systeembeheerders moeten soms naar dit soort informatie verwijzen.
df -i
Niet verteld om dit niet te doen, zal df
informatie geven over alle gemounte bestandssystemen. Dit kan leiden tot een onoverzichtelijke weergave met veel uitvoer. Bijvoorbeeld, de /dev/loop
items in de lijsten zijn pseudo bestandssystemen die toelaten een bestand te mounten alsof het een partitie is. Als u de nieuwe Ubuntu snap
methode gebruikt om toepassingen te installeren, kunt u er een heleboel van krijgen. De beschikbare ruimte op deze bestanden zal altijd 0 zijn, omdat ze niet echt een bestandssysteem zijn, dus we hoeven ze niet te zien.
We kunnen df
vertellen om bestandssystemen van een specifiek type uit te sluiten. Om dit te doen, moeten we weten welk type bestandssysteem we willen uitsluiten. De -T
(print-type) optie zal ons die informatie geven. Het instrueert df
om het type bestandssysteem in de uitvoer op te nemen.
df -T
De /dev/loop
items zijn allemaal squashfs
bestandssystemen. We kunnen ze uitsluiten met het volgende commando:
df -x squashfs
Dat geeft ons een meer beheersbare uitvoer. Om een totaal te krijgen, kunnen we de --total
optie toevoegen.
df -x squashfs --total
We kunnen df
vragen om alleen bestandssystemen van een bepaald type op te nemen, door de -t
(type) optie te gebruiken.
df -t ext4
Als we de afmetingen voor een set bestandssystemen willen zien, kunnen we ze op naam opgeven. Schijfnamen in Linux zijn alfabetisch. De eerste schijf heet /dev/sda
, de tweede schijf is /dev/sdb
, enzovoort. Partities zijn genummerd. Dus /dev/sda1
is de eerste partitie op schijf /dev/sda
. We vertellen df
om informatie over een bepaald bestandssysteem terug te geven door de naam van het bestandssysteem als een commando parameter mee te geven. Laten we eens kijken naar de eerste partitie van de eerste harde schijf.
df /dev/sda1
Merk op dat u jokertekens kunt gebruiken in de naam van het bestandssysteem, waarbij *
staat voor elke reeks tekens en ?
voor elk enkel teken. Dus om naar alle partities op de eerste schijf te kijken, zouden we kunnen gebruiken:
df /dev/sda*
Advertentie We kunnendf
vragen om te rapporteren over een set van benoemde bestandssystemen. Hij we vragen om de grootte van de/dev
en/run
bestandssystemen, en we willen een totaal.
df -h --total /dev /run
Om de weergave verder aan te passen, kunnen we df
vertellen welke kolommen moeten worden opgenomen. Gebruik hiervoor de optie --output
en geef een door komma’s gescheiden lijst op van de gewenste kolomnamen. Zorg ervoor dat er geen spaties in de door komma’s gescheiden lijst staan.
- source: De naam van het bestandssysteem.
- fstype: Het type van het bestandssysteem.
- itotal: De grootte van het bestandssysteem in inodes.
- iused: De gebruikte ruimte op het bestandssysteem in inodes.
- iavail: De beschikbare ruimte op het bestandssysteem in inodes.
- ipcent: Het percentage van de gebruikte ruimte op het bestandssysteem in inodes, in procenten.
- size: De grootte van het bestandssysteem, standaard in 1K blokken.
- used: De gebruikte ruimte op het bestandssysteem, standaard in 1K blokken.
- avail: De beschikbare ruimte op het bestandssysteem, standaard in 1K blokken.
- pcent: Het percentage van de gebruikte ruimte op het bestandssysteem in inodes, standaard in 1K blokken.
- bestand: De naam van het bestandssysteem indien opgegeven op de opdrachtregel.
- doel: Het mount punt voor het bestandssysteem.
Laten we df
vragen om te rapporteren over de eerste partitie op de eerste schijf, met menselijk leesbare getallen, en met de kolommen source, fstype, size, used, avail, en pcent:
df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent
Lange commando’s zijn perfecte kandidaten om te worden omgezet in een alias. We kunnen een alias maken dfc
(voor df custom
) door het volgende te typen en op Enter te drukken:
alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"
Advertentie
Typ dfc
en druk op enter zal hetzelfde effect hebben als het intypen van het lange commando. Om deze alias permanent te maken voegt u hem toe aan uw .
of bashrc
.bash_aliases
-bestand.
We hebben gekeken naar manieren om de uitvoer van df
te verfijnen, zodat de informatie die wordt weergegeven aan uw eisen voldoet. Als u voor de tegenovergestelde benadering wilt kiezen en df
alle informatie wilt laten terugzenden die het mogelijk maakt, gebruik dan de -a
(alle) optie en de --output
optie zoals hieronder getoond. De -a
(all) optie vraagt df
om elk bestandssysteem op te nemen, en het gebruik van de --output
optie zonder een door komma’s gescheiden lijst van kolommen zorgt ervoor dat df
elke kolom opneemt.
df -a --output
df
door het less
commando is een handige manier om de grote hoeveelheid uitvoer die dit kan produceren te bekijken.
df -a --output | less
Uitzoeken wat de gebruikte schijfruimte in beslag neemt
Laten we wat onderzoek doen en uitvinden wat er op deze PC ruimte in beslag neemt. We beginnen met een van onze df
commando’s.
df -h -t ext4
Er wordt 78% schijfruimte gebruikt op de eerste partitie van de eerste harde schijf. We kunnen het du
commando gebruiken om te laten zien welke mappen de meeste gegevens bevatten. Het du
commando zonder opties toont een lijst van alle mappen en submappen onder de map waarin het du
commando werd gegeven. Als u dit doet vanuit uw thuismap zal de lijst erg lang zijn.
du
Het uitvoerformaat is erg eenvoudig. Elke regel toont de grootte en de naam van een map. Standaard wordt de grootte getoond in blokken van 1K. Om du
een andere blokgrootte te laten gebruiken, gebruikt u de -B
(blokgrootte) optie. Om deze optie te gebruiken typt u du
, een spatie, en dan -B
en een letter uit de lijst van K, M, G, T, P, E, Z, en Y, zoals we hierboven hebben gedaan voor df
. Om 1M blokken te gebruiken, gebruikt u dit commando:
du -BM
Net als df
, heeft du
een door mensen leesbare optie, -h
, die een reeks blokgroottes gebruikt, afhankelijk van de grootte van elke directory.
du -h
De -s
(samenvatten) optie geeft een totaal voor elke directory zonder de sub-directories binnen elke directory weer te geven. Het volgende commando vraagt du
om informatie in samenvattend formaat, in voor mensen leesbare getallen, voor alle mappen (*) onder de huidige werkdirectory.
du -h -s *
De map Picture bevat verreweg de meeste gegevens. We kunnen du
vragen om de mappen in grootte te sorteren van grootste naar kleinste.
du -sm Pictures/* | sort -nr
Door de informatie die df
en du
teruggeven te verfijnen, is het eenvoudig om uit te vinden hoeveel ruimte op de harde schijf in gebruik is, en om te ontdekken wat die ruimte in beslag neemt. U kunt dan een weloverwogen beslissing nemen over het verplaatsen van bepaalde gegevens naar andere opslagplaatsen, het toevoegen van een andere harde schijf aan uw computer of het verwijderen van overbodige gegevens.
Deze commando’s hebben een groot aantal opties. We hebben de nuttigste opties hier beschreven, maar u kunt een volledige lijst van de opties voor het df commando en voor het du commando bekijken in de Linux man pages.
Dave McKay gebruikte voor het eerst computers toen ponsband in zwang was, en hij programmeert al sindsdien. Na meer dan 30 jaar in de IT-industrie, is hij nu een full-time technologie journalist. Tijdens zijn loopbaan heeft hij gewerkt als freelance programmeur, manager van een internationaal software ontwikkelingsteam, een IT services project manager, en, meest recent, als een Data Protection Officer. Dave is een Linux-evangelist en voorstander van open source.Read Full Bio”