df
příkaz :Hlášení využití místa na disku systému souborůdu
příkaz :Odhad využití místa v souboru
Zadejte df -h
nebo df -k
pro výpis volného místa na disku:
$ df -h
NEBO
$ df -k
du
ukazuje, kolik místa využívá jeden nebo více souborů nebo adresářů:
$ du -sh
-s
volba shrnuje prostor, který adresář používá, a -h
možnost poskytuje čitelné pro člověka výstup.
Ano:
df -k .
pro aktuální adresář.
df -k /some/dir
pokud chcete zkontrolovat konkrétní adresář.
Můžete se také podívat na stat(1)
příkaz, pokud jej váš systém má. Můžete určit výstupní formáty, aby bylo pro váš skript snadnější analyzovat. Zde je malý příklad:
$ echo $(($(stat -f --format="%a*%S" .)))
Myslím, že by to měl být komentář nebo úprava odpovědi ThinkingMedia na tuto otázku (Zkontrolujte volné místo na disku pro aktuální oddíl v bash), ale nemám povoleno komentovat (nedostatek rep) a moje úprava byla zamítnuta (důvod:"toto by měl být komentář nebo odpověď"). Takže prosím, mocnosti vesmíru SO, nezatracujte mě, že opakuji a opravuji "odpověď" někoho jiného. Ale někdo na internetu se mýlil!™ a nedovolili mi to opravit.
Kód
df --output=avail -h "$PWD" | sed '1d;s/[^0-9]//g'
má podstatnou chybu:Ano, vypíše 50G
zdarma jako 50 -- ale vypíše také 5.0M
zdarma za 50 nebo 3.4G
zdarma jako 34 nebo 15K
zdarma do 15.
Chcete-li vytvořit skript za účelem kontroly určitého množství volného místa na disku, musíte znát jednotku, proti které kontrolujete. Odeberte jej (jako sed
ve výše uvedeném příkladu) čísla již nedávají smysl.
Pokud skutečně chcete, aby to fungovalo, budete muset udělat něco jako:
FREE=`df -k --output=avail "$PWD" | tail -n1` # df -k not df -h
if [[ $FREE -lt 10485760 ]]; then # 10G = 10*1024*1024k
# less than 10GBs free!
fi;
Také pro instalačního technika na df -k $INSTALL_TARGET_DIRECTORY
může dávat větší smysl než df -k "$PWD"
.Nakonec si všimněte, že --output
flag není k dispozici ve všech verzích df / linux.