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

Peatüki vaade

Linux/Unix/macOS käsurea kiirõ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