Το εργαλείο lsof του Linux επιτρέπει τη γρήγορη παρακολούθηση του συστήματος και τον εντοπισμό προβλημάτων. Παρέχει μια λίστα με τα ανοιχτά αρχεία, δίνοντάς σας τη δυνατότητα να την προσαρμόσετε στις συγκεκριμένες ανάγκες σας χρησιμοποιώντας φίλτρα και επιλογές.

Τι είναι το Linux lsof;

Για την παρακολούθηση και την ανάλυση του συστήματός σας Linux, το lsof αποτελεί ένα εύχρηστο εργαλείο. Το πρόγραμμα, το οποίο αναπτύχθηκε και κυκλοφόρησε το 1994 από τον Vic Abell, είναι ανοιχτού κώδικα και περιλαμβάνεται στην τυπική εγκατάσταση πολλών διανομών Linux, όπως το Debian ή το Ubuntu. Το lsof σημαίνει «List open files» (Λίστα ανοιχτών αρχείων). Το πρόγραμμα παρέχει πληροφορίες σχετικά με τους τύπους αρχείων που είναι ανοιχτά αυτή τη στιγμή ή είχαν ανοιχτεί προηγουμένως από διεργασίες που εκτελούνται. Αυτά περιλαμβάνουν κανονικά αρχεία, καταλόγους, sockets, μονάδες δίσκου και θύρες. Παρουσιάζει μια σαφή και οργανωμένη λίστα των διαφόρων διεργασιών και των σχετικών αρχείων.

Πώς λειτουργεί το lsof στο Linux;

Εάν το lsof δεν υπάρχει στο σύστημά σας, απλώς εγκαταστήστε το με την ακόλουθη εντολή Linux:

$ apt-get install lsof
bash

Μόλις εγκατασταθεί, το lsof του Linux σας επιτρέπει να έχετε μια ολοκληρωμένη εικόνα των ενεργών διεργασιών στον υπολογιστή σας. Αυτό είναι δυνατό επειδή, στα συστήματα τύπου Unix, τα πάντα αντιμετωπίζονται ως αρχεία. Ως αποτέλεσμα, μπορείτε να χρησιμοποιήσετε το lsof για να προσδιορίσετε ποιες διεργασίες έχουν πρόσβαση σε ένα συγκεκριμένο αρχείο.

Πώς είναι η σύνταξη της γλώσσας Isof;

Θέλετε να χρησιμοποιήσετε το lsof; Αυτή είναι η βασική σύνταξη της αντίστοιχης εντολής:

$ lsof [Option] <Format>
bash

Αν και είναι δυνατό να χρησιμοποιήσετε το lsof χωρίς επιλογές ή φίλτρα, αυτό δεν συνιστάται. Η προκύπτουσα έξοδος θα είναι εκτενής και δύσκολο να ερμηνευθεί.

Ποιες επιλογές και φίλτρα είναι διαθέσιμα στο lsof του Linux;

Το lsof υποστηρίζει πολλές επιλογές εξόδου. Οι πιο σημαντικές είναι:

  • -F: Αυτή η επιλογή εξασφαλίζει ότι όλα τα αποτελέσματα εμφανίζονται σε μία μόνο στήλη.
  • -l: Αυτή η επιλογή σας επιτρέπει να εμφανίσετε το αναγνωριστικό χρήστη αντί για το όνομα.
  • -n: Χρησιμοποιώντας αυτήν την επιλογή, εμφανίζονται οι αντίστοιχες διευθύνσεις IP αντί για τα ονόματα των κεντρικών υπολογιστών.
  • -P: Με αυτόν τον τρόπο εμφανίζονται οι αριθμοί θυρών αντί για τα ονόματα των υπηρεσιών.
  • -r [x]: Αυτή η επιλογή εξασφαλίζει ότι η έξοδος εκτελείται εκ νέου κάθε x δευτερόλεπτα.
  • -t: Με αυτή την επιλογή εμφανίζεται μόνο μια λίστα PID (Αναγνωριστικό διεργασίας).

Επιπλέον, το lsof διαθέτει πολλές επιλογές φιλτραρίσματος. Οι πιο συνηθισμένες είναι:

  • -a: Πρόκειται για λογική πράξη AND αντί για πράξη OR· χρησιμοποιείται ως προεπιλογή.
  • -c [Process]: Βρείτε ποιο αρχείο χρησιμοποιείται από ποια διεργασία.
  • +D /file/user: Αυτό το φίλτρο παρέχει πληροφορίες σχετικά με έναν συγκεκριμένο κατάλογο και τον χρήστη του.
  • /dev/drive: Χρησιμοποιήστε αυτό το φίλτρο για να ελέγξετε μια συγκεκριμένη μονάδα δίσκου.
  • -i [TCP/UDP ή εναλλακτική διεύθυνση IP ή θύρα]: Παρέχει πληροφορίες σχετικά με το ποιες διεργασίες χρησιμοποιούν ποιες υπηρεσίες δικτύου.
  • +L1: Χρησιμοποιήστε αυτό το φίλτρο για να λάβετε πληροφορίες σχετικά με διαγραμμένα αρχεία.
  • +p PID: Παρέχει πληροφορίες σχετικά με τα αρχεία που χρησιμοποιούνται από κάθε PID.
  • /path/file: Παρέχει πληροφορίες σχετικά με ένα συγκεκριμένο αρχείο.
  • -u [Χρήστης]: Μάθετε ποιος χρήστης χρησιμοποιεί ποια αρχεία.

Για ποιο σκοπό χρησιμοποιείται το Linux lsof;

Για να ολοκληρώσουμε, θα σας δείξουμε πώς και για ποιους σκοπούς χρησιμοποιείται το lsof, με τη βοήθεια ορισμένων παραδειγμάτων.

$ lsof -u root
bash

Αυτό σας επιτρέπει να δείτε όλα τα αρχεία που έχει ανοιχτά αυτή τη στιγμή ο root.

$ lsof /mount/path
bash

Συχνά, η εντολή lsof χρησιμοποιείται για τον εντοπισμό προγραμμάτων που εμποδίζουν την εκτέλεση της εντολής mount. Αυτή η διαδικασία δεν μπορεί να ολοκληρωθεί αν τα σχετικά αρχεία παραμένουν ανοιχτά.

$ lsof -n -i
bash

Αυτή η εντολή σας επιτρέπει να εμφανίσετε όλες τις ανοιχτές θύρες.

Go to Main Menu