Pro správce systému nebo vývojáře je nezbytné vědět, kolik místa zabírá soubor nebo složka na oddílu. Tyto znalosti vám umožňují plánovat upgrady úložiště, spravovat a otáčet soubory a provádět další nezbytné úlohy správce systému. Můj oblíbený příkaz pro tento typ sběru dat je du příkaz.
du příkaz shrnuje využití disku pro každý soubor a rekurzivně pro každý adresář. Nabízí mnoho užitečných možností jednotlivě nebo ve správných kombinacích. Všechny možnosti naleznete na stránce du man. Zde je jeden z mých oblíbených triků s du .
Použít du
Obvykle rád zkontroluji využití více adresářů současně. Tímto způsobem vím, které adresáře jsou mými největšími přestupky. Předpokládejme, že chci zkontrolovat všechny adresáře v /var . Zde je můj standardní du příkaz s dlouhými možnostmi pro přehlednost:
$ du --all --human-readable \
--one-file-system \
--max-depth=1 /var Zde je rozpis každé možnosti (s krátkou verzí v závorkách):
-
--all(-a):Tisk všech souborů a složek. --human-readable(-h):Velikosti tisku ve velkých kusech, nikoli v bajtech (například 1 kB místo 1024).--one-file-system(-x):Přeskakování adresářů na různých souborových systémech. Výsledkem je, že if/var/logje připojen samostatně, nepočítá se, protože je na samostatném souborovém systému. Tím je zajištěno, že uvidím použitý prostor na disku pouze pod jednou cestou k adresáři a nikoli na fyzických médiích.--max-depth=1(-d):Vytiskne součet za adresář (nebo soubor pomocí--all), pouze pokud je v tomto případě o jednu úroveň nižší než/var. Pokud použijete2místo toho vytiskne složky o dvě úrovně níže/var. Na rozdíl od--one-file-systemu této možnosti zůstává nahlášená velikost stejná; Jen nemusím vidět tolik výstupu.
Zde je ukázkový výstup z mého obvyklého du příkaz:
$ du -ahx --max-depth=1 /var
0 /var/lock
0 /var/mail
0 /var/run
12K /var/kerberos
12K /var/sieve
135M /var/spool
1.6G /var/log
181M /var/cache
20K /var/db
336K /var/named
3.7G /var/vmail
4.0K /var/adm
4.0K /var/crash
4.0K /var/ftp
4.0K /var/games
4.0K /var/gopher
4.0K /var/local
4.0K /var/nis
4.0K /var/opt
4.0K /var/preserve
4.0K /var/.updated
4.0K /var/yp
4.2G /var/lib
44K /var/tmp
8.0K /var/empty
9.7G /var I když je tento výstup dobrý, bylo by ještě lepší ho seřadit podle kapacity. Tímto způsobem je ještě snazší číst na první pohled.
[ Podívejte se na 10 výukových programů, které zdokonalí své dovednosti v oblasti příkazového řádku. ]
Trik:Seřaďte výstup
Dobrou zprávou je, že mohu třídit výstup v libovolném pořadí, když předám sort -k1 -rh jako vstup. Zde je například to, co dostanu, když spustím příkaz pro seřazení výstupu podle prvního sloupce (kapacita):
$ du -ahx --max-depth=1 /var | sort -k1 -rh
9.7G /var
4.2G /var/lib
3.7G /var/vmail
1.6G /var/log
181M /var/cache
135M /var/spool
336K /var/named
44K /var/tmp
20K /var/db
12K /var/sieve
12K /var/kerberos
8.0K /var/empty
4.0K /var/yp
4.0K /var/.updated
4.0K /var/preserve
4.0K /var/opt
4.0K /var/nis
4.0K /var/local
4.0K /var/gopher
4.0K /var/games
4.0K /var/ftp
4.0K /var/crash
4.0K /var/adm
0 /var/run
0 /var/mail
0 /var/lock Sledování využití disku
Existují také grafické nástroje pro kontrolu místa na disku, jako je ncdu příkaz, ale pro mě je to du příkaz je jednoduchý, přímý a efektivní. Doufám, že vám tento rychlý tip pomůže vylepšit základy vašeho systémového správce. Tyto možnosti mi výrazně usnadnily shromažďování dat o kapacitě souborů a když je zadáte jako alias do vašeho .bashrc, stane se to samou přirozeností.