De df
en du
commando’s rapporteren over het gebruik van schijfruimte vanuit de Bash-shell die wordt gebruikt op Linux, macOS en vele andere Unix-achtige besturingssystemen. Met deze opdrachten kunt u gemakkelijk zien wat de opslag van uw systeem in beslag neemt.
De totale, beschikbare en gebruikte schijfruimte bekijken
Bash bevat twee handige opdrachten met betrekking tot schijfruimte. Gebruik om de beschikbare en gebruikte schijfruimte te achterhalen df
(schijfbestandssystemen, soms schijfvrij genoemd). Gebruik om te ontdekken wat de gebruikte schijfruimte in beslag neemt du
(schijfgebruik).
Type df
en druk op enter in een Bash-terminalvenster om aan de slag te gaan. Je zult veel output zien die lijkt op de onderstaande schermafbeelding. Gebruik makend van df
zonder enige optie zal de beschikbare en gebruikte ruimte voor alle aangekoppelde bestandssystemen weergeven. Op het eerste gezicht lijkt het misschien ondoordringbaar, maar het is vrij gemakkelijk te begrijpen.
df
Elke regel van het scherm is opgebouwd uit zes kolommen.
- Bestandssysteem: De naam van dit bestandssysteem.
- 1K-blokken: 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 niet wordt gebruikt op dit bestandssysteem.
- Gebruik%: De hoeveelheid ruimte die in dit bestandssysteem wordt gebruikt, uitgedrukt als een percentage.
- Het dossier: De naam van het bestandssysteem, indien gespecificeerd op de opdrachtregel.
- Gemonteerd op: Het koppelpunt van het bestandssysteem.
U kunt de 1K-bloktellingen vervangen door meer bruikbare uitvoer door de -B
(blokgrootte) optie. Typ om deze optie te gebruiken df,
een spatie, en dan -B
en een letter uit de lijst met K, M, G, T, P, E, Z of Y. Deze letters vertegenwoordigen de kilo-, mega-, giga-, tera-, peta-, exa-, zeta- en yotta-waarden van het veelvoud van 1024 schaal .
Als u bijvoorbeeld de cijfers van het schijfgebruik in megabytes wilt zien, gebruikt u de volgende opdracht. Merk op dat er geen ruimte is tussen de B en M.
df -BM
De -h
(door mensen leesbare) optie geeft instructies 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 de grootte van gigabyte, megabyte en zelfs kilobyte.
df -h
Als u de informatie in aantallen inodes wilt zien, gebruik dan de -i
(inodes) optie. Een inode is een datastructuur die door Linux-bestandssystemen wordt gebruikt om bestanden te beschrijven en om er metadata over op te slaan. Op Linux bevatten inodes gegevens zoals de naam, wijzigingsdatum, positie op de harde schijf, enzovoort voor elk bestand en elke directory. Dit zal voor de meeste mensen niet nuttig zijn, maar systeembeheerders moeten soms naar dit soort informatie verwijzen.
df -i
Tenzij verteld om het niet te doen, df
geeft informatie over alle aangekoppelde bestandssystemen. Dit kan leiden tot een rommelig beeldscherm met veel output. Bijvoorbeeld de /dev/loop
vermeldingen in de lijsten zijn pseudo-bestandssystemen waarmee een bestand kan worden aangekoppeld alsof het een partitie is. Als u de nieuwe Ubuntu snap
methode om applicaties te installeren, u kunt er veel van verkrijgen. De beschikbare ruimte op deze is altijd 0 omdat ze niet echt een bestandssysteem zijn, dus we hoeven ze niet te zien.
We kunnen het zien df
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 geeft ons die informatie. Het instrueert df
om het type bestandssysteem in de uitvoer op te nemen.
df -T
De /dev/loop
inzendingen zijn allemaal squashfs
bestandssystemen. We kunnen ze uitsluiten met het volgende commando:
df -x squashfs
Dat geeft ons een beter beheersbare output. Om een totaal te krijgen, kunnen we de --total
optie.
df -x squashfs --total
We kunnen het vragen df
om alleen bestandssystemen van een bepaald type op te nemen door de -t
(type) optie.
df -t ext4
Als we de grootten voor een set bestandssystemen willen zien, kunnen we ze bij naam specificeren. Schijfnamen in Linux zijn alfabetisch. De eerste rit wordt gebeld /dev/sda
, de tweede schijf is /dev/sdb
, enzovoorts. Partities zijn genummerd. Zo /dev/sda1
is de eerste partitie op de schijf /dev/sda
. Wij vertellen df
om informatie over een bepaald bestandssysteem te retourneren door de naam van het bestandssysteem door te geven als een opdrachtparameter. 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, where *
staat voor een willekeurige set tekens en ?
staat voor een enkel teken. Dus om alle partities op de eerste schijf te bekijken, zouden we kunnen gebruiken:
df /dev/sda*
We kunnen het vragen df
om te rapporteren over een set van genoemde bestandssystemen. Hij vragen we om de maten van de /dev
en /run
bestandssystemen, en we willen graag een totaal.
df -h --total /dev /run
Om het display verder aan te passen, kunnen we zien df
welke kolommen moeten worden opgenomen. Gebruik hiervoor de --output
optie en geef een door komma’s gescheiden lijst met de vereiste kolomnamen op. Zorg ervoor dat u geen spaties opneemt in de door komma’s gescheiden lijst.
- bron: De naam van het bestandssysteem.
- fstype: Het type bestandssysteem.
- totaal: De grootte van het bestandssysteem in inodes.
- ik gebruikte: De ruimte die wordt gebruikt op het bestandssysteem in inodes.
- iavail: De beschikbare ruimte op het bestandssysteem in inodes.
- ipcent: Het percentage gebruikte ruimte op het bestandssysteem in inodes, als percentage.
- grootte: De grootte van het bestandssysteem, standaard in blokken van 1K.
- gebruikt: De ruimte die wordt gebruikt op het bestandssysteem, standaard in 1K-blokken.
- baten: De beschikbare ruimte op het bestandssysteem, standaard in 1K blokken.
- procent: Het percentage gebruikte ruimte op het bestandssysteem in inodes, standaard in 1K blokken.
- het dossier: De naam van het bestandssysteem indien gespecificeerd op de opdrachtregel.
- doelwit: Het koppelpunt voor het bestandssysteem.
Laten we het vragen df
om te rapporteren over de eerste partitie op de eerste schijf, met door mensen leesbare nummers, en met de kolommen source, fstype, size, used, available en pcent:
df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent
Lange commando’s zijn perfecte kandidaten om in een alias te veranderen. We kunnen een alias aanmaken 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"
Typen dfc
en op enter drukken heeft hetzelfde effect als het typen van de lange opdracht. Om deze alias permanent te maken, voegt u deze toe aan uw .
of bashrc
.bash_aliases
het dossier.
We hebben gekeken naar manieren om de uitvoer te verfijnen df
zodat de weergegeven informatie overeenkomt met uw wensen. Als je de tegenovergestelde benadering wilt volgen en hebt df
retourneer alle informatie die het mogelijk kan gebruiken -a
(alle) optie en de --output
optie zoals hieronder getoond. De -a
(alle) optie vraagt df
om elk bestandssysteem op te nemen en de --output
optie zonder een door komma’s gescheiden lijst met oorzaken van kolommen df
om elke kolom op te nemen.
df -a --output
Leidingen voor de output van df
door het less
commando is een gemakkelijke manier om de grote hoeveelheid output die dit kan produceren te bekijken.
df -a --output | less
Uitzoeken wat de gebruikte schijfruimte in beslag neemt
Laten we wat onderzoek doen en kijken wat ruimte op deze pc in beslag neemt. We beginnen met een van onze df
commando’s.
df -h -t ext4
Er is 78% schijfruimte gebruikt op de eerste partitie van de eerste harde schijf. We kunnen de du
opdracht om te laten zien welke mappen de meeste gegevens bevatten. Het uitgeven van het du
commando zonder opties zal een lijst van alle mappen en submappen onder de map de du
commando is gegeven in. Als je dit vanuit je thuismap doet, zal de lijst erg lang zijn.
du
Het uitvoerformaat is heel eenvoudig. Elke regel toont de grootte en naam van een directory. Standaard wordt de grootte weergegeven in blokken van 1K. Te dwingen du
gebruik de. om een andere blokgrootte te gebruiken -B
(blokgrootte) optie. Typ om deze optie te gebruiken du
, een spatie, en dan -B
en een letter uit de lijst met K, M, G, T, P, E, Z en Y, zoals we hierboven deden voor df
. Gebruik deze opdracht om 1M blokken te gebruiken:
du -BM
Net als df
, du
heeft een door mensen leesbare optie, -h
, die een reeks blokgroottes gebruikt volgens de grootte van elke directory.
du -h
De -s
(samenvatten) optie geeft een totaal voor elke map zonder de submappen in elke map weer te geven. De volgende opdracht vraagt du
om informatie in samenvattingsformaat, in door mensen leesbare nummers, voor alle mappen te retourneren
du -h -s *
Uitvoer van het du commando met de -h -s * opties du
De map Afbeelding bevat verreweg de meeste gegevens. We kunnen het vragen
du -sm Pictures/* | sort -nr
Uitvoer van het du commando met de -sm Pictures / *! sort -nr opties df
Door de informatie te verfijnen die door du
en
het is gemakkelijk om erachter te komen 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 een andere opslag, het toevoegen van een andere harde schijf aan uw computer of het verwijderen van overtollige gegevens.
body #primary .entry-content ul # nextuplist {list-style-type: none; margin-left: 0px; padding-left: 0px;} body #primary .entry-content ul # nextuplist li a {text-decoration: none ; kleur: # 1d55a9;}