Számolja meg az adott felhasználó által használt teljes lemezterületet
Az adott felhasználó által használt lemezterület megszerzéséhez használja a find parancs szintaxist az alábbiak szerint:
$ find / path / to / directory / -user felhasználónév_kicsuk_fájlok_az___számlált -típus f -printf "% s \ n" | awk 't + = $ 1 END print t'Bontjuk le ezt a parancs szintaxist:
Az első szakasz - find / elérési út / könyvtárhoz / - keresést hajt végre a megadott könyvtár elérési útján.
A második szakasz - -felhasználói felhasználónév_kinek_fájljai_számlálva vannak - a keresési műveletet csak egy adott felhasználóra korlátozza.
A harmadik szakasz - -f típus - azt jelzi, hogy csak fájlokat keresünk, és nem könyvtárakat. Az üres könyvtárak általában 4kb-ot foglalnak el, ami elhanyagolható.
Az utolsó szakasz - -printf „% s \ n” | awk 't + = $ 1 END print t'
Kiírja a fájlok méretét.
Tegyük fel, hogy meg szeretné tudni a meghívott felhasználó lemezhasználatát James a saját könyvtárban. A parancs az lesz.
$ find / home -user james -type f -printf "% s \ n" | awk 't + = $ 1 END print t'
Ha egy könyvtárban tartózkodik, a megjelenített paranccsal megtekintheti a lemezhasználatot,
$ find . -írja be az f -printf "% u% s \ n" \ | parancsot awk 'felhasználó [$ 1] + = $ 2; VÉGE az (i a felhasználóban) i nyomtatáshoz, felhasználó [i] 'Például átmegyek a saját könyvtáramban található Letöltések könyvtárba, és megnézem az egyes felhasználók által használt lemezterületet. A kimeneten egyértelműen megjelenik a lemezterület összefoglalása, ahol két felhasználónak vannak fájljai az aktuális könyvtárban, amely a / home / james / Letöltések könyvtár.
És tessék. Sikeresen láttuk, hogyan találják meg a lemezterületet a Linux egyes felhasználói.