who (Unix)

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια

Η εντολή who του Unix εμφανίζει μια λίστα με τους χρήστες που είναι συνδεδεμένοι (logged in) σε έναν υπολογιστή.

Η εντολή who σχετίζεται με την εντολή w, η οποία παρέχει την ίδια πληροφορία αλλά εμφανίζει περισσότερα δεδομένα και στατιστικά στοιχεία.

Προδιαγραφή[Επεξεργασία | επεξεργασία κώδικα]

Η προδιαγραφή Single Unix Specification (SUS) ορίζει ότι η who πρέπει να εμφανίζει πληροφορίες για τους χρήστες στους οποίους υπάρχει πρόσβαση. Η επέκταση XSI ορίζει ότι οι πληροφορίες του ονόματος χρήστη, του τερματικού, της ώρας εισόδου, του αναγνωριστικού διεργασίας (process ID), και του χρόνου από την τελευταία ενέργεια του χρήστη που συνέβη στο τερματικό, καθώς και μια εναλλακτική βάση δεδομένων του συστήματος για τις πληροφορίες χρήστη, μπορούν να γραφούν σαν επιπλέον ορίσματα στη who.

Η εντολή μπορεί να κληθεί με τα ορίσματα am i ή am I (δηλαδή καλείται σαν who am i ή who am I), και τότε εμφανίζει πληροφορίες μόνο για το τρέχον τερματικό (δείτε την εντολή tty και την επιλογή -m παρακάτω, η κλήση της οποίας είναι ισοδύναμη).

Χρήση[Επεξεργασία | επεξεργασία κώδικα]

Η προδιαγραφή SUS χωρίς επεκτάσεις ορίζει μόνο τις παρακάτω επιλογές -m, -T, και -u, όλες οι άλλες επιλογές ορίζονται στην επέκταση XSI.

-a, επεξεργάζεται τη βάση δεδομένων συστήματος που χρησιμοποιείται για πληροφορίες χρήστη από τις -b, -d, -l, -p, -r, -t, -T και -u
-b, εμφανίζει την ώρα της τελευταίας επανεκκίνησης του συστήματος
-d, εμφανίζει τις διεργασίες-ζόμπι και πληροφορίες για αυτές
-H, εμφανίζει επικεφαλίδες στις στήλες
-l, εμφανίζει τα τερματικά στα οποία μπορεί να συνδεθεί κάποιος χρήστης
-m, εμφανίζει πληροφορίες μόνο για το τρέχον τερματικό
-p, εμφανίζει τις ενεργές διεργασίες
-q, γρήγορη μορφή, εμφανίζει μόνο τα ονόματα και τον αριθμό όλων των συνδεδεμένων χρηστών, απενεργοποιεί όλες τις άλλες επιλογές - είναι ισοδύναμη με το εργαλείο γραμμής εντολών users
-r, εμφανίζει το επίπεδο εκτέλεσης (runlevel) της διεργασίας init
-s, (προεπιλεγμένο) εμφανίζει μόνο το όνομα, το τερματικό και τις πληροφορίες ώρας
-t, εμφανίζει πότε άλλαξε τελευταία φορά το ρολόι συστήματος
-T, εμφανίζει λεπτομέρειες για κάθε τερματικό σε καθορισμένη μορφή (δείτε σημείωση στα Παραδείγματα)
-u, εμφανίζει τον χρόνο που έχει περάσει χωρίς δραστηριότητα (idle time) - η έκδοση του XSI εμφανίζει τους συνδεδεμένους χρήστες και πληροφορίες για το αν το τερματικό έχει χρησιμοποιηθεί πρόσφατα

Άλλα λειτουργικά συστήματα της οικογένειας του Unix και συστήματα παρόμοια με αυτό μπορεί να προσθέτουν επιπλέον επιλογές. Η who του GNU περιλαμβάνει μια εντολή -i με συμπεριφορά παρόμοια με τη -u και μια επιλογή -w που δείχνει αν ο χρήστης που εμφανίζεται, δέχεται μηνύματα (η έκδοση του SUS τα εμφανίζει αυτά όταν δίνεται η -T), αλλά η who του GNU και του BSD παραλείπουν κάποιες από τις παραπάνω επιλογές (όπως η -a, η -b, η -d, και άλλες) - η who του GNU χρησιμοποιεί αντί αυτών την -l για να κάνει αναζητήσεις στο DNS των ονομάτων υπολογιστών που εμφανίζονται.

Έξοδος[Επεξεργασία | επεξεργασία κώδικα]

Η προδιαγραφή SUS χωρίς επεκτάσεις ορίζει ότι η μορφή εξόδου «εξαρτάται από την υλοποίηση» ("implementation-defined"). Η επέκταση XSI ορίζει μια συγκεκριμένη μορφή αλλά δεν την περιγράφει πλήρως: οι διαχωριστικοί χαρακτήρες και τα μήκη των πεδίων δεν ορίζονται με ακρίβεια. Για αυτούς τους λόγους, η μορφή της εξόδου διαφέρει σε διάφορες υλοποιήσεις του Unix.

Δείτε επίσης[Επεξεργασία | επεξεργασία κώδικα]


Εξωτερικοί σύνδεσμοι[Επεξεργασία | επεξεργασία κώδικα]

  • who -- specification from the Single Unix Specification (Αγγλικά)

Σελίδες εγχειριδίου (manpages)[Επεξεργασία | επεξεργασία κώδικα]