Μέθοδος 1:Χρησιμοποιώντας `ποσοστιαίες` και `awk` (για μια βασική αναφορά)
Αυτή η μέθοδος λειτουργεί εάν οι ποσοστώσεις είναι ενεργοποιημένες στο σύστημά σας. Δείχνει χρήση και όρια για κάθε χρήστη.
`` `bash
ποσοστώσεις -v | awk '{print $ 1, $ 2, $ 3, $ 4}'
`` `
* `QUETA -V`:Εμφανίζει τις λεπτομερείς πληροφορίες για τον τρέχοντα χρήστη. Για να δείτε πληροφορίες για όλους τους χρήστες, χρησιμοποιήστε `sudo ποσοστώσεις -v` (απαιτεί προνόμια ρίζας).
* `awk '{print $ 1, $ 2, $ 3, $ 4}'`:Αυτό εξάγει το όνομα χρήστη, το χρησιμοποιημένο χώρο, το μαλακό όριο και το σκληρό όριο. Ρυθμίστε τους αριθμούς πεδίου εάν διαφέρει η έξοδος `ποσοστιαία`
Μέθοδος 2:Χρήση `find`,` du` και `awk` (για μια πιο λεπτομερή αναφορά)
Αυτή η μέθοδος είναι πιο ευέλικτη, επιτρέποντάς σας να συμπεριλάβετε άλλες λεπτομέρειες, αλλά δεν * δείχνουν όρια ποσοστώσεων, χρησιμοποιούνται μόνο χώρο. Απαιτεί τα προνόμια ρίζας.
`` `bash
Find /Home -Type d -User "$ (whoami)" -printf " %u %s %p \ n" | awk '{sum [$ 1]+=$ 2} end {for (χρήστης σε άθροισμα) Εκτύπωση χρήστη, SUM [USER]}'
`` `
ή για όλους τους χρήστες:
`` `bash
Find /Home -Type d -printf " %U %s %p \ n" | awk '{sum [$ 1]+=$ 2} end {for (χρήστης σε άθροισμα) Εκτύπωση χρήστη, SUM [USER]}'
`` `
* `Βρείτε /Home -Type d -User" $ (whoami) "-printf"%u%s%p \ n "`:Βρίσκει όλους τους καταλόγους οικιακών, εκτυπώνει το όνομα χρήστη (`%u`), μέγεθος σε bytes (` Αντικαταστήστε το `$ (whoami)` με `-User all` για να απαριθμήσετε όλους τους χρήστες. Αυτό απαιτεί προνόμια ρίζας.
* `awk '{sum [$ 1]+=$ 2} end {for (χρήστης συνολικά) Εκτύπωση χρήστη, SUM [USER]}'`:Αυτό αθροίζει τα μεγέθη για κάθε χρήστη και εκτυπώνει τον χρήστη και τη συνολική χρήση του δίσκου.
Μέθοδος 3:Συνδυάζοντας με `sort` και` numfmt` για μια μορφοποιημένη αναφορά
Μπορούμε να βελτιώσουμε την έξοδο της μεθόδου 2 για καλύτερη αναγνωσιμότητα:
`` `bash
Find /Home -Type d -printf " %U %s %p \ n" | awk '{sum [$ 1]+=$ 2} end {for (χρήστης σε άθροισμα) Εκτύπωση χρήστη, άθροισμα [χρήστης]}' | Ταξινόμηση -k2,2nr | numfmt -to =IEC - -Suffix =b
`` `
* `sort -k2,2nr`:Ταξινόμηση της εξόδου αριθμητικά με αντίστροφη σειρά (μεγαλύτερη χρήση πρώτα) με βάση τη δεύτερη στήλη (μέγεθος).
* `numfmt - -to =IEC - -Suffix =b`:Μορφοποιεί τους αριθμούς χρησιμοποιώντας μονάδες IEC (KB, MB, GB, κλπ.) Και προσθέτει ένα επίθημα" Β "για σαφήνεια.
Σημαντικές εκτιμήσεις:
* ΠΡΟΒΟΛΗ ΡΙΑ: Για να λάβετε πληροφορίες για όλους τους χρήστες, θα πρέπει να εκτελέσετε αυτές τις εντολές με το `sudo '.
* Ενεργοποίηση της ποσόστωσης: Οι μέθοδοι που χρησιμοποιούν το `ποσοστό 'λειτουργούν μόνο εάν οι ποσοστώσεις χρήστη είναι ενεργοποιημένες στο σύστημά σας. Μπορείτε να το ελέγξετε με `repquota -a` (χρειάζεται ρίζα).
* Σύστημα αρχείων: Αυτές οι εντολές υποθέτουν ότι οι οικιακοί σας καταλόγοι βρίσκονται κάτω από «/σπίτι». Εάν το σύστημά σας χρησιμοποιεί διαφορετική τοποθεσία, ρυθμίστε την εντολή `Find` αναλόγως.
* Χειρισμός σφαλμάτων: Τα σενάρια παρείχαν ότι δεν έχουν ισχυρό χειρισμό σφαλμάτων. Για τη χρήση παραγωγής, θα θέλατε να προσθέσετε επιταγές για σφάλματα (π.χ. `Find 'Failing, αναλύοντας προβλήματα).
Θυμηθείτε να προσαρμόσετε αυτές τις εντολές με βάση τις συγκεκριμένες ανάγκες σας και την έξοδο των εντολών στο σύστημά σας. Σκεφτείτε να γράψετε ένα πιο εξελιγμένο σενάριο χρησιμοποιώντας μια γλώσσα δέσμης ενεργειών όπως η Python ή η Bash για τις προχωρημένες ανάγκες αναφοράς. Αυτό θα μπορούσε να περιλαμβάνει την ενσωμάτωση της βάσης δεδομένων για την αποθήκευση και την ποσόστωση των ερωτημάτων τακτικά.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα