Beetaversioon: sisu on enamasti terviklik ja avalikuks katsetamiseks valmis, kuid vajab veel tehnilist, keelelist ja kasutatavuse kontrolli.

Peatüki vaade

Linux ja macOS käsurea õpik

Praegu loed peatükki Kettaruum ja süsteemi maht, mis kuulub osasse Osa II: Süsteemi pilt ja haldus.

Kettaruum ja süsteemi maht

df näitab failisüsteemi vaba ruumi; du mõõdab failide ja kataloogide kasutatud ruumi. Nendega saad eristada küsimusi „kas ketas on täis?“ ja „mis siin ruumi võtab?“.

Alusta üldpildist

KäskMida näed
df -h .praegust kataloogi sisaldava failisüsteemi kogu-, kasutatud ja vaba maht
df -hmitme failisüsteemi tabel koos haakepunktidega
du -sh .praeguse kataloogi ja selle sisu kogumaht

-h kuvab suurused ühikutega, näiteks K, M ja G. du -s annab ühe kokkuvõtterea, mitte kogu alamkataloogide loendi. Suure puu mõõtmine võib võtta aega.

Leia suurimad kirjed

du -a loetleb lisaks kataloogidele failid. -k seab kõigi suuruste ühikuks 1024 baiti, et Linuxi ja macOS-i tulemusi saaks samal alusel lugeda. sort -n sordib arvuliselt, -r pöörab järjestuse kahanevaks.


du -ak . | sort -nr | less

Üleval on suurimad kirjed; less-is saad otsida ja q-ga väljuda. Kataloogi rida sisaldab juba alamkataloogide mahtu: ära liida kogu loendi ridu kokku, muidu loendad sama sisu mitu korda.

Näiteks kui ülemiste ridade seas on mahukas ./projekt/.git, mõõda järgmiseks projekti, mitte kogu ketast. Peidetud kataloogid kaasatakse automaatselt, sest lähtekohaks on ., mitte shelli muster *.

Lühem loend ja ühikutega sort

Linuxi ja macOS-i du -d 1 piirab kuvatava kataloogisügavuse ühe tasemega; mõõtmiseks loetakse siiski kogu sisu:


du -k -d 1 . | sort -nr

See annab alamkataloogide mahud ja kogusumma, mitte eraldi iga tavalise faili rida. Kui sinu du ei toeta -d, kasuta eelmist du -ak varianti.

Inimloetava pika loendi jaoks sobib:


du -ah . | sort -hr | less

sort -h arvestab suurusliiteid; ilma -r-ita tuleb väiksem liide enne suuremat. See sobib ühe du -h käivituse väljundile. Suvalisi ühikutega arve ei teisenda see täpseks baidisummaks: näiteks 12345K järjestub enne 1M, sest liidet võrreldakse enne arvu. Täpsemaks ühtseks võrdluseks eelista du -k | sort -n. Kõik vanemad sort-i variandid ei toeta -h.

Kui mõõtmine ei klapi

  • Permission denied: osa puust jäi lugemata. Veateate peitmine kujul 2>/dev/null ei tee mõõtmist täielikuks.
  • df ja du erinevad: esimene mõõdab tervet failisüsteemi, teine valitud puus nähtavat sisu. Erinevust võivad tekitada ka hetktõmmised, jagatud kettaplokid või kustutatud fail, mida protsess veel avatuna hoiab.
  • ls -l ja du erinevad: faili loogiline pikkus ei pea võrduma talle eraldatud kettaruumiga, näiteks hõredas failis.
  • Mõõtmine on aeglane: alusta konkreetsest projektist või allalaadimiste kataloogist. Kogu / läbimine pole tavaliselt esimene vajalik samm.

Suur fail ei ole automaatselt tarbetu. Tuvasta sisu ja selle kasutaja enne kustutamist; ruumimõõtmine ise midagi ei eemalda.

Minitest

  1. Kui palju on vaba ruumi failisüsteemis, kus praegu töötad?
  2. Leia ühe projekti suurim alamkataloog. Kas see on nähtav ka tavalise ls-iga?
  3. Miks on du loendi kogusumma liitmine eksitav?
  4. Mille poolest erinevad sort -n ja sort -h? Proovi arve 9 ja 100, seejärel 900K ja 1M.

Peatüki täisspikker

Baas ja süsteemipilt

Eesmärk

df näitab failisüsteemi vaba ruumi, du loendab valitud failide ja kataloogide kettakasutust.

Käsud ja näited

  • df -h .selle failisüsteemi kasutatud ja vaba maht
  • du -sh .praeguse kataloogipuu kogumaht
  • du -h -d 1 .esimese taseme mahud, ka peidetud kataloogid
  • du -h -d 1 . | sort -hsordi ühikusufiksiga mahud kasvavalt
  • du -ak . | sort -nr | lesskõik kirjed 1024-baidistes ühikutes, suurimad ees

Märgid ja valikud

  • du -sainult kogusumma
  • du -aka üksikfailide mahud
  • du -kühtlane 1024-baidine ühik
  • sort -harvestab ühikusufiksi järku, siis arvväärtust
  • sort -nrarvuliselt kahanev järjestus