Jak używać polecenia lsof w systemie Linux do wyświetlania otwartych plików?

Jak używać polecenia lsof w systemie Linux do wyświetlania otwartych plików?

Wspaniałą rzeczą w Linuksie jest to, że możesz łatwo przeglądać i zarządzać wszystkim, od procesu uruchamiania po instalowanie pakietów oprogramowania. Tutaj omawiamy, w jaki sposób można użyć polecenia lsof w systemie Linux, aby wyświetlić otwarte pliki i procesy, które z nich korzystają. Wiedza, jak to zobaczyć, może pomóc Ci zrozumieć, jak działa system, a nawet podjąć niezbędne działania dla określonych procesów.

Polecenie Lsof

Do przeglądania otwartych plików i odpowiedzialnych za nie użytkowników lub procesów używamy lsof pożytek. Domyślny, lsof jest preinstalowany w większości dystrybucji.

Jeśli jednak nie masz go zainstalowanego, możesz użyć menedżera pakietów, aby zainstalować go w swoim systemie.

Debian/Ubuntu

W Debianie uruchom polecenie:

Łuk / Manjaro

W Manjaro i innych dystrybucjach opartych na Arch, użyj pacmana, uruchamiając polecenie:

CentOS / REHL / Fedora

W przypadku CentOS i rodziny REHL możesz użyć dnf:

Użyj polecenia lsof, aby wyświetlić listę otwartych plików dla procesu Linuksa

Podobnie jak większość poleceń Linuksa, narzędzie lsof jest niezwykle łatwe w użyciu. Zacznij od wpisania polecenia lsof:

Po uruchomieniu powyższego polecenia lsof powinien zwrócić informacje o otwartych plikach w systemie.

Notatka: jeśli masz uprawnienia sudo, uruchom polecenie z sudo aby uniknąć błędów „odmowa uprawnień” w określonych plikach.

Czytać  Jak zaplanować wiadomości na Slacku

Jak pokazano na powyższym wyjściu, wyjście lsof ma następujące kolumny:

Kolumna Reprezentacja
wysyłam Wyświetla nazwę procesu, którego używa plik docelowy.
PID Unikalny identyfikator procesu korzystającego z pliku.
TID Kolumna pokazuje identyfikator wątku.
ZADANIECMD Nazwa polecenia zadania.
NAZWA UŻYTKOWNIKA Nazwa użytkownika lub UID użytkownika uruchamiającego proces.
FD Deskryptor pliku i tryby.
PISZE Węzeł powiązany z plikiem docelowym.
URZĄDZENIE Numer urządzenia oddzielony przecinkami.
ROZMIAR / WYŁ Rozmiar pliku w bajtach rozmiaru przesunięcia pliku
WĘZEŁ Wartość i-węzła pliku lokalnego. Możesz użyć polecenia stat do wyświetlenia inode informacje o pliku.
NAZWA Punkt montowania pliku.

Teraz, gdy rozumiesz, co reprezentuje zawartość drukowania polecenia lsof, użyjmy go do odfiltrowania określonych informacji.

Jak filtrować według określonych procesów

Aby filtrować tylko określone pliki otwierane przez określony proces, możemy użyć nazwy procesu lub wartości PID.

Na przykład, aby wyświetlić pliki używane przez proces Firefox, możemy użyć polecenia:

Lsof C Firefox

Polecenie wyświetli wszystkie pliki otwarte przez proces Firefox.

Aby filtrować według identyfikatora procesu, możemy użyć -p opcji i przekaż identyfikator procesu. Możesz użyć top polecenie, aby uzyskać identyfikator procesu docelowego.

Na przykład, aby uzyskać PID procesu Firefox, możemy użyć polecenia:

Gdy masz PID procesu docelowego, użyj lsof, aby wyświetlić otwarte pliki:

Lsof Pid

Powyższe polecenie spowoduje wydrukowanie plików otwartych przez proces z określonym PID.

Jak filtrować według określonego użytkownika

Aby zobaczyć tylko pliki otwarte przez określonego użytkownika, możemy użyć -u flaga. Na przykład, aby filtrować według użytkownika Debiana, użyj polecenia:

Lsof U Debian

Jak filtrować według określonego pliku

Załóżmy, że chcesz tylko poznać proces i użytkownika, który otworzył określony plik. Aby to zrobić, przekaż nazwę pliku do lsof:

Lsof sen

Powyższe spowoduje filtrowanie tylko określonego pliku i zwrócenie powiązanych informacji, w tym użytkownika, identyfikatora procesu i innych.

Czytać  Zdobądź Amazon Echo Auto z. Alexa, odnowiona, za mniej niż 20 USD

Kończący się

W tym prostym samouczku omawiamy, jak przeszukiwać system w celu uzyskania informacji o otwartych plikach za pomocą polecenia lsof w systemie Linux. Oto kilka dodatkowych poleceń umożliwiających wyświetlenie zawartości katalogu w terminalu.

.

Czy ten artykuł jest przydatny?