GNU/Linux >> Znalost Linux >  >> Linux

Celkové využití disku pro konkrétního uživatele

Předání -s do du omezí výstup pouze na položky zadané na příkazovém řádku.

du -sh ~

Du vám zobrazí pouze součty za složku, nikoli za uživatele.

To by mohlo fungovat, pokud chcete celkovou velikost, řekněme, /home/example_user/ a pokud má v této složce soubory pouze ten example_user. Pokud mají v sobě soubory jiní uživatelé, nezíská se velikost všech souborů, které vlastníte, ale celková velikost všech souborů v této složce.

Chcete-li získat informace pro uživatele, buď:

  1. Pokud máte povolenou kvótu, použijte tyto příkazy.
  2. Použijte funkci find k procházení všemi adresáři, ve kterých chcete spočítat soubory. Použijte uid pouze k výběru souborů a ponechejte asociativní pole v awk, abyste spočítali součty.

find /path/to/search/ -user username_whos_files_to_count -type f -printf "%s\n" | awk '{t+=$1}END{print t}'

  • První příkaz prohledává všechny soubory a adresáře v /path/to/search/ .
  • -type f zajišťuje, že vybíráte pouze soubory, jinak počítáte i velikost adresářů. (Zkuste vytvořit prázdnou složku. Pravděpodobně zabere 4k místa na disku).
  • -user username_whos_files_to_count vybere pouze výsledky od jednoho uživatele
  • -printf "%s\n" vytiskne velikost.

Pokud právě spustíte první část tohoto, získáte seznam čísel. To jsou velikosti souborů. (Vše ostatní je odstraněno, pouze velikost je vytištěna díky příkazu %s print.)

Poté můžeme všechna tato čísla sečíst a získat souhrn. V příkladu je to provedeno pomocí awk.


Chcete-li najít veškeré použití konkrétním uživatelem, dobrý příkaz je:

find -user $USER -type f -exec du -chs {} +

Můžete dále upravovat v závislosti na konkrétních potřebách, například často chci shrnout použití podle složky a následující funguje dobře:

find . -maxdepth 1 -user $USER -type d ! -path . -exec du -chs {} +

To najde pouze adresáře na jedné úrovni, omezení podle uživatele, vyloučí nadřazený adresář a na konci vytiskne každý adresář a souhrn.


Linux
  1. Jak hledat soubory podle velikosti a přípony?

  2. Jak změnit uživatele pro spoustu souborů služby Systemd?

  3. Hledání souborů, které NENÍ ve vlastnictví konkrétního uživatele

  1. Přepsat cestu k binárnímu souboru pro konkrétního uživatele

  2. Blokovat konkrétní příkaz v Linuxu pro konkrétního uživatele

  3. Přístup odepřen konkrétnímu uživateli konfigurací účtu PAM

  1. Vypsat celkovou velikost využití disku podle adresářů / složek v systému Linux

  2. Jak zkontrolovat celkovou velikost RAM a využití paměti v Linuxu

  3. Najděte celkovou velikost nepotvrzených nebo nesledovaných souborů v git