'\" t .\" Title: lsfd .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-09-02 .\" Manual: Polecenia użytkownika .\" Source: util-linux 2.42.3 .\" Language: English .\" .TH "LSFD" "1" "2026-09-02" "util\-linux 2.42.3" "Polecenia użytkownika" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "NAZWA" lsfd \- wypisuje deskryptory plików .SH "SKŁADNIA" .sp \fBlsfd\fP [opcja] .SH "OPIS" .sp \fBlsfd\fP ma być nowoczesnym zamiennikiem \fBlsof\fP(8) w systemach Linux. W przeciwieństwie do \fBlsof\fP, \fBlsfd\fP jest dostosowany do jądra Linux; obsługuje funkcje typowe dla Linuksa, takie jak przestrzenie nazw, używając prostszego kodu. \fBlsfd\fP nie zastępuje bezpośrednio \fBlsof\fP; różnią się interfejsem wiersza poleceń oraz formatami wyjściowymi. .sp Domyślne wyjście programu może się zmienić. Jeśli to możliwe, należy zatem unikać używania domyślnego wyjścia w swoich skryptach. Proszę zawsze jawnie definiować oczekiwane kolumny za pomocą opcji \fB\-\-output\fP \fIlista\-kolumn\fP w środowiskach, gdzie wymagane jest stabilne wyjście. .sp \fBlsfd\fP korzysta z Libsmartcols do filtrowania i formatowania wyjścia. W opisie opcji \fB\-\-output\fP wskazano sposoby dostosowywania formatu wyjściowego, a w opisie opcji \fB\-\-filter\fP filtrowanie. Polecenie \fBlsfd \-\-list\-columns\fP wypisze wszystkie dostępne kolumny. .SH "OPCJE" .sp \fB\-l\fP, \fB\-\-threads\fP .RS 4 Wypisuje na poziomie wątków .RE .sp \fB\-J\fP, \fB\-\-json\fP .RS 4 Używa formatu wyjściowego JSON. .RE .sp \fB\-n\fP, \fB\-\-noheadings\fP .RS 4 Nie wyświetla nagłówków. .RE .sp \fB\-o\fP, \fB\-\-output\fP \fIlista\fP .RS 4 Określa kolumnę wyjściową do wyświetlenia. W rozdziale \fBKOLUMNY WYJŚCIOWE\fP opisano szczegółowo dostępne kolumny. .sp Domyślną listę kolumn można rozszerzyć, jeśli \fIlistę\fP poda się w formacie +\fIlista\fP (np. \fBlsfd \-o +DELETED\fP). .RE .sp \fB\-r\fP, \fB\-\-raw\fP .RS 4 Używa surowego formatu wyjściowego .RE .sp \fB\-\-notruncate\fP .RS 4 Nie przycina tekstu w kolumnach. .RE .sp \fB\-p\fP, \fB\-\-pid\fP \fIlista\fP .RS 4 Zbiera informacje tylko dla określonych procesów. \fILista\fP jest listą identyfikatorów procesów (separatorem jest przecinek). Zob. \fBPRZYKŁADY FILTRÓW\fP. .RE .sp \fB\-i\fP[\fB4\fP|\fB6\fP], \fB\-\-inet\fP[\fB=4\fP|\fB=6\fP] .RS 4 Wypisuje tylko gniazda IPv4 i/lub IPv6. .RE .sp \fB\-Q\fP, \fB\-\-filter\fP \fIwyrażenie\fP .RS 4 Wypisuje tylko pliki pasujące do warunku reprezentowanego \fIwyrażeniem\fP. Zob. też \fBscols\-filter\fP(5) i \fBPRZYKŁADY FILTRÓW\fP. .sp Opcja \fB\-Q\fP wraz z identyfikatorem procesu (np. \fB\-Q PID==1\fP) oraz opcja \fB\-p\fP (np. \fB\-p 1\fP) mogą posłużyć do uzyskania tego samego wyniku, jednak stosowanie opcji \fB\-p\fP jest znacznie wydajniejsze, ponieważ działa ona na znacznie wcześniejszym stadium przetwarzania, niż opcja \fB\-Q\fP. .RE .sp \fB\-C\fP, \fB\-\-counter\fP \fIetykieta\fP:\fIwyrażenie\-filtra\fP .RS 4 Definiuje własny licznik stosowany w wyjściu \fB\-\-summary\fP. \fBlsfd\fP tworzy licznik nazwany \fIetykieta\fP. Podczas zbierania informacji, \fBlsfd\fP zlicza pliki pasujące do \fIwyrażenia\-filtra\fP i umieszcza wynik w liczniku nazwanym \fIetykieta\fP. Przed zliczaniem, \fBlsfd\fP stosuje filtry zdefiniowane opcją \fB\-\-filter\fP; pliki wyłączone filtrami nie są zliczane. .sp Proszę zapoznać się podręcznikiem \fBscols\-filter\fP(5), aby uzyskać informacje o \fIwyrażeniu\-filtra\fP. \fIEtykieta\fP nie powinna zawierać znaków \fB{\fP i \fB:\fP. Można zdefiniować wiele liczników, podając tę opcję wielokrotnie. Zob. też \fBPRZYKŁADY LICZNIKÓW\fP. .RE .sp \fB\-\-summary\fP[\fB=\fP\fItryb\fP] .RS 4 Opcja kontroluje wypisywanie wierszy podsumowania. Opcjonalnym argumentem \fItryb\fP może być \fBonly\fP (wyłącznie), \fBappend\fP (dołączaj) lub \fBnever\fP (nigdy). Jeśli pominie się argument \fItryb\fP, przyjmuje on wartość domyślną \fBonly\fP. .sp Podsumowanie zgłasza liczniki. Licznik składa się z etykiety i wartości całkowitej. \fB\-\-counter\fP jest opcją służącą do definiowania licznika. Jeśli użytkownik nie zdefiniuje licznika, \fBlsfd\fP użyje definicji predefiniowanych, wbudowanych liczników (domyślne liczniki), do tworzenia podsumowania wyjścia. .sp OSTRZEŻENIE: Korzystanie z \fB\-\-summary\fP wraz z \fB\-\-json\fP może spowodować nieprawidłowe wyjście. Prawidłowe jest jedynie łączenie \fB\-\-summary\fP=\fBonly\fP z \fB\-\-json\fP. .RE .sp \fB\-\-debug\-filter\fP .RS 4 Zrzuca wewnętrzną strukturę danych filtra i wychodzi. Przydatne tylko dla rozwijających narzędzie \fBlsfd\fP. .RE .sp \fB\-\-dump\-counters\fP .RS 4 Zrzuca definicję liczników stosowanych w wyniku \fB\-\-summary\fP. .RE .sp \fB\-\-hyperlink\fP[\fB=\fP\fIkiedy\fP] .RS 4 Wypisuje ścieżki punktów montowań jako odnośniki na terminalu. Opcjonalny argument \fIkiedy\fP można ustawić na \fBalways\fP (zawsze), \fBnever\fP (nigdy) lub \fBauto\fP. Jeśli pominie się argument, to domyślnie przyjmuje wartość \fBauto\fP oznaczającą, że odnośniki będą używane tylko wtedy, gdy wyjściem jest terminal. .RE .sp \fB\-H\fP, \fB\-\-list\-columns\fP .RS 4 Wypisuje kolumny, które można podać razem z opcją \fB\-\-output\fP. Można stosować w połączeniu z \fB\-\-json\fP lub \fB\-\-raw\fP, aby uzyskać wynik w formacie czytelnym maszynowo. .RE .sp \fB\-h\fP, \fB\-\-help\fP .RS 4 Wyświetla ten tekst i wychodzi. .RE .sp \fB\-V\fP, \fB\-\-version\fP .RS 4 Wyświetla wersję i wychodzi. .RE .SH "ŚRODOWISKO" .sp \fBLIBSMARTCOLS_DEBUG\fP=all .RS 4 włącza wyjście debugowania libsmartcols. .RE .sp \fBLIBSMARTCOLS_DEBUG_PADDING\fP=on .RS 4 używa widocznych znaków wypełnienia. .RE .SH "KOLUMNY WYJŚCIOWE" .sp Każda kolumna posiada typ. Typy są ograniczone znakami < i >. .sp OSTRZEŻENIE: Nazwy i typy kolumn nie są jeszcze stabilne. Mogą się zmienić w przyszłych wydaniach. .sp AINODECLASS <\f(CRłańcuch\fP> .RS 4 Klasa anonimowego i\-węzła. .RE .sp ASSOC <\f(CRłańcuch\fP> .RS 4 Powiązanie między plikiem i procesem. .RE .sp BLKDRV <\f(CRłańcuch\fP> .RS 4 Nazwa sterownika urządzenia blokowego przyznana przez \f(CR/proc/devices\fP. .RE .sp BPF\-MAP.ID <\f(CRliczba\fP> .RS 4 Identyfikator mapy bpf. .RE .sp BPF\-MAP.TYPE <\f(CRłańcuch\fP> .RS 4 Zdekodowana nazwy typu mapy bpf. .RE .sp BPF\-MAP.TYPE.RAW <\f(CRliczba\fP> .RS 4 Typ mapy bpf (surowy). .RE .sp BPF.NAME <\f(CRłańcuch\fP> .RS 4 Nazwa obiektu bpf. .RE .sp BPF\-PROG.ID <\f(CRliczba\fP> .RS 4 Identyfikator programu bpf. .RE .sp BPF\-PROG.TAG <\f(CRłańcuch\fP> .RS 4 TAG programu bpf. .RE .sp BPF\-PROG.TYPE <\f(CRłańcuch\fP> .RS 4 Zdekodowana nazwa typu programu bpf. .RE .sp BPF\-PROG.TYPE.RAW <\f(CRliczba\fP> .RS 4 Typ programu bpf (surowy). .RE .sp CHRDRV <\f(CRłańcuch\fP> .RS 4 Nazwa sterownika urządzenia znakowego przyznana przez \f(CR/proc/devices\fP. .RE .sp COMMAND <\f(CRłańcuch\fP> .RS 4 Polecenie procesu otwierającego plik. .RE .sp DELETED <\f(CRwartość logiczna\fP> .RS 4 Osiągalność z systemu plików. .RE .sp DEV <\f(CRłańcuch\fP> .RS 4 Identyfikator urządzenia zawierającego plik. .RE .sp DEVTYPE <\f(CRłańcuch\fP> .RS 4 Typ urządzenia (\f(CRblk\fP, \f(CRchar\fP lub \f(CRnodev\fP). .RE .sp ENDPOINTS <\f(CRłańcuch\fP> .RS 4 Informacje o końcówkach IPC skomunikowanych z deskryptorem pliku. .sp \fBlsfd\fP zbiera końcówki w procesach skanowanych przez \fBlsfd\fP; \fBlsfd\fP może pominąć pewne końcówki, jeśli ograniczy się procesy opcją \fB\-p\fP. .sp Format kolumn zależy od obiektu powiązanego z deskryptorem pliku: .sp typ FIFO, typ mqueue, źródła ptmx i pts .RS 4 \fIPID\fP,\fIPOLECENIE\fP,\fIPOWIĄZANIE\fP[\-r][\-w] .sp Ostatnie znaki ([\-r][\-w]) reprezentują tryb do odczytu i/lub do zapisu punktu końcowego. .RE .sp typ eventfd .RS 4 \fIPID\fP,\fIPOLECENIE\fP,\fIPOWIĄZANIE\fP .RE .sp UNIX .RS 4 Równoważne \fIUNIX\-STREAM\fP. .sp W kontenerze, \fBlsfd\fP może nie wypełnić kolumny \fIENDPOINTS\fP. Do zbierania informacji o końcówkach UNIX \fBlsfd\fP stosuje \fBsock_diag\fP(7). SELinux może ograniczyć używanie \fBsock_diag\fP w kontenerze. Można usunąć to ograniczenie ustawiając wartość logiczną \fIvirt_sandbox_use_netlink\fP na 1. Więcej informacji w podręczniku \fBcontainer_selinux\fP(8). .RE .sp UNIX\-STREAM .RS 4 \fIPID\fP,\fIPOLECENIE\fP,\fIPOWIĄZANIE\fP[\-r?][\-w?] .sp Informacja o ostatnich znakach ([\-r?][\-w?]) znajduje się w opisie \fISOCK.SHUTDOWN\fP. .RE .RE .sp EVENTFD.ID <\f(CRliczba\fP> .RS 4 Identyfikator eventfd. .RE .sp EVENTPOLL.TFDS <\f(CRłańcuch\fP> .RS 4 Deskryptory plików wskazywane przez plik eventpoll. .RE .sp FD <\f(CRliczba\fP> .RS 4 Deskryptor pliku danego pliku. .RE .sp FLAGS <\f(CRłańcuch\fP> .RS 4 Znaczniki podane przy otwieraniu pliku. .RE .sp FUID <\f(CRliczba\fP> .RS 4 Numeryczny identyfikator użytkownika właściciela pliku. .RE .sp INET.LADDR <\f(CRłańcuch\fP> .RS 4 Lokalny adres IP. .RE .sp INET.RADDR <\f(CRłańcuch\fP> .RS 4 Zdalny adres IP. .RE .sp INET6.LADDR <\f(CRłańcuch\fP> .RS 4 Lokalny adres IP6. .RE .sp INET6.RADDR <\f(CRłańcuch\fP> .RS 4 Zdalny adres IP6. .RE .sp INODE <\f(CRliczba\fP> .RS 4 Numer i\-węzła. .RE .sp INOTIFY.INODES <\f(CRłańcuch\fP> .RS 4 Wersja INOTIFY.INODES.RAW z ciasteczkiem. Format elementu to: \fInumer\-i\-węzła\fP,\fIźródło\-i\-węzła\fP. .RE .sp INOTIFY.INODES.RAW <\f(CRłańcuch\fP> .RS 4 Lista i\-węzłów monitorowania. Format elementu to: \fInumer\-i\-węzła\fP\f(CR,\fP\fIgłówny\-numer\-urządzenia\fP\f(CR:\fP\fIpoboczny\-numer\-urządzenia\fP. .RE .sp KNAME <\f(CRłańcuch\fP> .RS 4 Surowa nazwa pliku pozyskana z \f(CR/proc/\fP\fIpid\fP\f(CR/fd/\fP\fIdeskr\-pl\fP lub \f(CR/proc/\fP\fIpid\fP\f(CR/map_files/\fP\fIregion\fP. .RE .sp KTHREAD <\f(CRwartość logiczna\fP> .RS 4 Czy proces jest wątkiem jądra, czy też nie. .RE .sp MAJ:MIN <\f(CRłańcuch\fP> .RS 4 Identyfikator urządzenia w przypadku pliku specjalnego lub identyfikator urządzenia zawierającego plik. .RE .sp MAPLEN <\f(CRliczba\fP> .RS 4 Długość mapowania pliku (w stronach). .RE .sp MISCDEV <\f(CRłańcuch\fP> .RS 4 Nazwa urządzenia znakowego misc rozwiązana przez \f(CR/proc/misc\fP. .RE .sp MNTID <\f(CRliczba\fP> .RS 4 Identyfikator montowania. .RE .sp MODE <\f(CRłańcuch\fP> .RS 4 Tryb dostępu (rwx) /r\-odczyt, w\-zapis, x\-wykonanie/. .RE .sp NAME <\f(CRłańcuch\fP> .RS 4 Wersja KNAME z ciasteczkiem. Prawie to samo co KNAME. .sp Niektóre pliki mają specjalne formaty i źródła informacji: .sp AF_VSOCK .RS 4 state=\fISOCK.STATE\fP type=\fISOCK.TYPE\fP laddr=\fIVSOCK.LADDR\fP[ raddr=\fIVSOCK.RADDR\fP] .sp \f(CRraddr\fP nie jest pokazywane dla nasłuchujących gniazd. .RE .sp bpf\-map .RS 4 id=\fIBPF\-MAP.ID\fP type=\fIBPF\-MAP.TYPE\fP[ name=\fIBPF.NAME\fP] .RE .sp bpf\-prog .RS 4 id=\fIBPF\-PROG.ID\fP type=\fIBPF\-PROG.TYPE\fP tag= \fIBPF\-PROG.TAG\fP [ name=\fIBPF.NAME\fP] .RE .sp eventpoll .RS 4 tfds=\fIEVENTPOLL.TFDS\fP .RE .sp eventfd .RS 4 id=\fIEVENTFD.ID\fP .RE .sp inotify .RS 4 inodes=\fIINOTIFY.INODES\fP .RE .sp misc:tun .RS 4 iface=\fITUN.IFACE\fP[ devnetns=\fITUN.DEVNETNS\fP][ socknetns=\fISOCK.NETNS\fP] .RE .sp NETLINK .RS 4 protocol=\fINETLINK.PROTOCOL\fP[ lport=\fINETLINK.LPORT\fP[ group=\fINETLINK.GROUPS\fP]] .RE .sp PACKET .RS 4 type=\fISOCK.TYPE\fP[ protocol=\fIPACKET.PROTOCOL\fP][ iface=\fIPACKET.IFACE\fP] .RE .sp pidfd .RS 4 pid=\fITARGET\-PID\fP comm=\fITARGET\-COMMAND\fP nspid=\fITARGET\-NSPIDS\fP .sp \fBlsfd\fP pozyskuje \fITARGET\-PID\fP i \fITARGET\-NSPIDS\fP z \f(CR/proc/\fP\fIpid\fP\f(CR/fdinfo/\fP\fIdeskr\-pl\fP. .RE .sp PING .RS 4 state=\fISOCK.STATE\fP[ id=\fIPING.ID\fP][ laddr=\fIINET.LADDR\fP [ raddr=\fIINET.RADDR\fP]] .RE .sp PINGv6 .RS 4 state=\fISOCK.STATE\fP[ id=\fIPING.ID\fP][ laddr=\fIINET6.LADDR\fP [ raddr=\fIINET6.RADDR\fP]] .RE .sp ptmx .RS 4 tty\-index=\fIPTMX.TTY\-INDEX\fP .sp \fBlsfd\fP pozyskuje \fIPTMX.TTY\-INDEX\fP z \f(CR/proc/\fP\fIpid\fP\f(CR/fdinfo/\fP\fIdeskr\-pl\fP. .RE .sp RAW .RS 4 state=\fISOCK.STATE\fP[ protocol=\fIRAW.PROTOCOL\fP [ laddr=\fIINET.LADDR\fP [ raddr=\fIINET.RADDR\fP]]] .RE .sp RAWv6 .RS 4 state=\fISOCK.STATE\fP[ protocol=\fIRAW.PROTOCOL\fP [ laddr=\fIINET6.LADDR\fP [ raddr=\fIINET6.RADDR\fP]]] .RE .sp signalfd .RS 4 mask=\fISIGNALFD.MASK\fP .RE .sp TCP, TCPv6 .RS 4 state=\fISOCK.STATE\fP[ laddr=\fITCP.LADDR\fP [ raddr=\fITCP.RADDR\fP]] .RE .sp timerfd .RS 4 clockid=\fITIMERFD.CLOCKID\fP[ remaining=\fITIMERFD.REMAINING\fP [ interval=\fITIMERFD.INTERVAL\fP]] .RE .sp UDP, UDPv6 .RS 4 state=\fISOCK.STATE\fP[ laddr=\fIUDP.LADDR\fP [ raddr=\fIUDP.RADDR\fP]] .sp \fBlsfd\fP ukrywa \f(CRraddr=\fP jeśli \fIUDP.RADDR\fP wynosi \f(CR0.0.0.0\fP a \fIUDP.RPORT\fP wynosi 0. .RE .sp UDP\-LITE, UDPLITEv6 .RS 4 state=\fISOCK.STATE\fP[ laddr=\fIUDPLITE.LADDR\fP [ raddr=\fIUDPLITE.RADDR\fP]] .RE .sp UNIX\-STREAM .RS 4 state=\fISOCK.STATE\fP[ path=\fIUNIX.PATH\fP] .RE .sp UNIX .RS 4 state=\fISOCK.STATE\fP[ path=\fIUNIX.PATH\fP] type=\fISOCK.TYPE\fP .RE .RE .RS 3 .ll -.6i .sp Proszę zauważyć, że oznaczenia \f(CR(deleted)\fP są usuwane z tej kolumny. Aby poznać możliwość odczytu pliku z systemu plików proszę sprawdzić \fIKNAME\fP, \fIDELETED\fP, lub \fIXMODE\fP. .br .RE .ll .sp NETLINK.GROUPS <\f(CRliczba\fP> .RS 4 Grupy multicastowe netlink. .RE .sp NETLINK.LPORT <\f(CRliczba\fP> .RS 4 Identyfikator lokalnego portu netlink. .RE .sp NETLINK.PROTOCOL <\f(CRłańcuch\fP> .RS 4 Protokół netlink. .RE .sp NLINK <\f(CRliczba\fP> .RS 4 Liczba dowiązań. .RE .sp NS.NAME <\f(CRłańcuch\fP> .RS 4 Nazwa (\fINS.TYPE\fP:[\fIINODE\fP]) przestrzeni nazw określonej w pliku. .RE .sp NS.TYPE <\f(CRłańcuch\fP> .RS 4 Typ przestrzeni nazw podanej z plikiem. Typem jest \f(CRmnt\fP, \f(CRcgroup\fP, \f(CRuts\fP, \f(CRipc\fP, \f(CRuser\fP, \f(CRpid\fP, \f(CRnet\fP, \f(CRtime\fP lub \f(CRunknown\fP (nieznany). .RE .sp OWNER <\f(CRłańcuch\fP> .RS 4 Właściciel pliku. .RE .sp PACKET.IFACE <\f(CRłańcuch\fP> .RS 4 Nazwa interfejsu powiązana z gniazdem pakietu. .RE .sp PACKET.PROTOCOL <\f(CRłańcuch\fP> .RS 4 Nazwa protokołu L2 powiązana z gniazdem pakietu (zdekodowana). .RE .sp PACKET.PROTOCOL.RAW <\f(CRliczba\fP> .RS 4 Numer protokołu L2 powiązanego z gniazdem pakietu (surowy). .RE .sp PARTITION <\f(CRłańcuch\fP> .RS 4 Nazwa urządzenia blokowego przypisana przez \f(CR/proc/partition\fP. .RE .sp PID <\f(CRliczba\fP> .RS 4 PID procesu otwierającego plik. .RE .sp PIDFD.COMM <\f(CRłańcuch\fP> .RS 4 Polecenie procesu wskazywanego przez pidfd. .RE .sp PIDFD.NSPID <\f(CRłańcuch\fP> .RS 4 Wartość pola NSpid w \f(CR/proc/\fP\fIpid\fP\f(CR/fdinfo/\fP\fIdeskr\-pl\fP danego pidfd. .sp Cytat z pliku źródłowego kernel/fork.c Linuksa: .RS 3 .ll -.6i .sp Jeśli obsługiwane są przestrzenie nazw pid, to funkcja ta wypisze również pid danego pidfd (deskryptora pliku) odnoszącego się do wszystkich potomnych przestrzeni nazw pid danego wystąpienia, rozpoczynających się od bieżącej przestrzeni nazw pid tj. pole Pid i pierwszy wpis w polu NSpid, będą identyczne. .sp Proszę zauważyć, że różni się to od pól Pid i NSpid w /proc//status gdzie Pid i NSpid są pokazywane zawsze w odniesieniu do przestrzeni nazw pid wystąpienia procfs. .br .RE .ll .RE .sp PIDFD.PID <\f(CRliczba\fP> .RS 4 PID procesu wskazywanego przez pidfd (deskryptor pliku). .RE .sp PING.ID <`liczba`> .RS 4 Identyfikator żądania echo ICMP użyty w gnieździe PING. .RE .sp POS <\f(CRliczba\fP> .RS 4 Pozycja pliku. .RE .sp RAW.PROTOCOL <\f(CRłańcuch\fP> .RS 4 Nazwa protokołu surowego gniazda (zdekodowana). .if n .sp .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 .B Note .ps -1 .br .sp Typem danych tej kolumny była <\f(CRliczba\fP> pomiędzy v2.39 a v2.41. .sp .5v .RE .RE .sp RAW.PROTOCOL.RAW <\f(CRliczba\fP> .RS 4 Numer protokołu surowego gniazda (surowy). .RE .sp RDEV <\f(CRłańcuch\fP> .RS 4 Identyfikator urządzenia (jeśli to plik specjalny). .RE .sp SIGNALFD.MASK <\f(CRłańcuch\fP> .RS 4 Zamaskowane sygnały. .RE .sp SIZE <\f(CRliczba\fP> .RS 4 Rozmiar pliku. .RE .sp SOCK.LISTENING <\f(CRwartość logiczna\fP> .RS 4 Gniazdo nasłuchujące. .RE .sp SOCK.NETS <\f(CRliczba\fP> .RS 4 I\-węzeł identyfikujący sieciową przestrzeń nazw, do której przynależy gniazdo. .RE .sp SOCK.PROTONAME <\f(CRłańcuch\fP> .RS 4 Nazwa protokołu. .RE .sp SOCK.SHUTDOWN <\f(CRłańcuch\fP> .RS 4 Stan zamknięcia gniazda. .sp [\-r?] .RS 4 Jeśli pierwszym znakiem jest \fIr\fP, otrzymywanie jest dozwolone. Jeśli jest nim \fI\-\fP, otrzymywanie jest niedozwolone. Jeśli jest nim \fI?\fP, stan jest nieznany. .RE .sp [\-w?] .RS 4 Jeśli drugim znakiem jest \fIw\fP, wysyłanie jest dozwolone. Jeśli jest nim \fI\-\fP, wysyłanie jest niedozwolone. Jeśli jest nim \fI?\fP, stan jest nieznany. .RE .RE .sp SOCK.STATE <\f(CRłańcuch\fP> .RS 4 Stan gniazda. .RE .sp SOCK.TYPE <\f(CRłańcuch\fP> .RS 4 Typ gniazda. Przez typ rozumiemy tu drugi parametr wywołania systemowego gniazda: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} stream .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} dgram .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} raw .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} rdm .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} seqpacket .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} dccp .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} packet .RE .RE .sp SOURCE <\f(CRłańcuch\fP> .RS 4 System plików, partycja lub urządzenie zawierające plik. W przypadku powiązań mających jako wartość kolumny \fITYPE\fP łańcuch ERROR (błąd), \fBlsfd\fP wypełnia tę kolumnę wartością \fIsyscall\fP:_errno_. .RE .sp STTYPE <\f(CRłańcuch\fP> .RS 4 Surowe typy pliku zwracane przez \fBstat\fP(2): BLK, CHR, DIR, FIFO, LINK, REG, SOCK lub UNKN. .RE .sp TCP.LADDR <\f(CRłańcuch\fP> .RS 4 Lokalny adres L3 (\fIINET.LADDR\fP lub \fIINET6.LADDR\fP) oraz lokalny port TCP. .RE .sp TCP.LPORT <\f(CRliczba\fP> .RS 4 Lokalny port TCP. .RE .sp TCP.RADDR <\f(CRłańcuch\fP> .RS 4 Zdalny adres L3 (\fIINET.LADDR\fP lub \fIINET6.LADDR\fP) oraz zdalny port TCP. .RE .sp TCP.RPORT <\f(CRliczba\fP> .RS 4 Zdalny port TCP. .RE .sp TID <\f(CRliczba\fP> .RS 4 Identyfikator wątku procesu otwierającego plik. .RE .sp TIMERFD.CLOCKID <\f(CRłańcuch\fP> .RS 4 Identyfikator czasomierza. .RE .sp TIMERFD.INTERVAL <\f(CRliczba\fP> .RS 4 Interwał. .RE .sp TIMERFD.REMAINING <\f(CRnumber\fP> .RS 4 Pozostały czas. .RE .sp PTMX.TTY\-INDEX <\f(CRliczba\fP> .RS 4 Indeks TTY drugiej strony. .RE .sp TUN.DEVNETNS <\f(CRliczba\fP> .RS 4 I\-węzeł identyfikujący sieciową przestrzeń nazw, do której przynależy urządzenie. .RE .sp TUN.IFACE <\f(CRłańcuch\fP> .RS 4 Interfejs sieciowy urządzenia tun. .RE .sp TYPE <\f(CRłańcuch\fP> .RS 4 Aplikacyjna wersja \fISTTYPE\fP. To samo co \fISTTYPE\fP z wyjątkami. W przypadku \fISOCK\fP, wypisuje wartość \fISOCK.PROTONAME\fP. W przypadku \fIUNKN\fP, wypisuje wartość \fIAINODECLASS\fP jeśli \fISOURCE\fP wynosi \f(CRanon_inodefs\fP. .sp Jeśli \fBlsfd\fP otrzyma błąd przy wywołaniu wywołania systemowego, w celu uzyskania informacji o docelowym deskryptorze pliku, \fBlsfd\fP wypełni tę kolumnę dla danej pozycji łańcuchem ERROR. .RE .sp UDP.LADDR <\f(CRłańcuch\fP> .RS 4 Lokalny adres IP i lokalny port UDP. .RE .sp UDP.LPORT <\f(CRliczba\fP> .RS 4 Lokalny port UDP. .RE .sp UDP.RADDR <\f(CRłańcuch\fP> .RS 4 Zdalny adres IP i zdalny port UDP. .RE .sp UDP.RPORT <\f(CRliczba\fP> .RS 4 Zdalny port UDP. .RE .sp UDPLITE.LADDR <\f(CRłańcuch\fP> .RS 4 Lokalny adres IP i lokalny port UDPLite. .RE .sp UDPLITE.LPORT <\f(CRliczba\fP> .RS 4 Lokalny port UDP. .RE .sp UDPLITE.RADDR <\f(CRłańcuch\fP> .RS 4 Zdalny adres IP i zdalny port UDPLite. .RE .sp UDPLITE.RPORT <\f(CRliczba\fP> .RS 4 Zdalny port UDP. .RE .sp UID <\f(CRliczba\fP> .RS 4 Numer identyfikatora użytkownika. .RE .sp UNIX.IPEER <\f(CRliczba\fP> .RS 4 Numer i\-węzła drugiej strony gniazda domeny Uniksa. .sp Jeśli \fBlsfd\fP działa w kontenerze, może nie wypełnić kolumny \fIUNIX.IPEER\fP. Więcej szczegółów w opisie \fIUNIX\fP w kolumnie \fIENDPOINTS\fP. .RE .sp UNIX.PATH <\f(CRłańcuch\fP> .RS 4 Ścieżka systemu plików gniazda domeny uniksowej. .RE .sp USER <\f(CRłańcuch\fP> .RS 4 Użytkownik procesu. .RE .sp VSOCK.LADDR <\f(CRłańcuch\fP>, VSOCK.RADDR <\f(CRłańcuch\fP> .RS 4 Lokalny adres VSOCK. Formatem tego elementu jest \fIVSOCK.LCID\fP\f(CR:\fP\fIVSOCK.LPORT\fP. .sp Znane CID\-y zostaną zdekodowane: \(lq*\(rq, \(lqhypervisor\(rq, \(lqlocal\(rq i \(lqhost\(rq. Znane porty zostaną zdekodowane: \(lq*\(rq. .RE .sp VSOCK.LCID <\f(CRliczba\fP>, VSOCK.RCID <\f(CRliczba\fP> .RS 4 Lokalny oraz zdalny identyfikator kontekstu VSOCK. .RE .sp VSOCK.LPORT <\f(CRliczba\fP>, VSOCK.RPORT <\f(CRliczba\fP> .RS 4 Lokalny oraz zdalny port VSOCK. .RE .sp XMODE <\f(CRłańcuch\fP> .RS 4 Rozszerzona wersja \fIMODE\fP. Kolumna ta może się w przyszłości powiększać; nowe litery mogą być dodane do \fIXMODE\fP gdy \fBlsfd\fP zyska obsługę nowego stanu deskryptora pliku i/lub mapowania pamięci. .sp [\-r] .RS 4 otwarcie mapowania do odczytu. Występuje też w \fIMODE\fP. .RE .sp [\-w] .RS 4 otwarcie mapowania do zapisu. Występuje też w \fIMODE\fP. .RE .sp [\-x] .RS 4 zmapowany do wykonania kodu. Występuje też w \fIMODE\fP. .RE .sp [\-D] .RS 4 usunięty z systemu plików. Zob. też \fIDELETED\fP. .RE .sp [\-Ll] .RS 4 zablokowany lub wydzierżawiony. \fIl\fP reprezentuje blokadę odczytu lub blokadę dzieloną lub dzierżawę odczytu.\fIL\fP reprezentuje blokadę zapisu lub blokadę na wyłączność lub dzierżawę zapisu. Jeśli zarówno blokady lub dzierżawy odczytu/dzielone jak i zapisu/na wyłączność są zajęte przez deskryptor plików, jako flaga stosowane jest \fIL\fP. .RE .sp [\-m] .RS 4 Zwielokrotniony (multiplexed). Jeśli deskryptor pliku jest celem pliku eventpoll albo klasycznych wywołań systemowych zwielokrotniania (\fBselect\fP(2), \fBpselect\fP(2), \fBpoll\fP(2) i \fBppoll\fP(2)), ustawiana jest ta flaga bitowa. Proszę zauważyć, że jeśli przywołanie klasycznego wywołania systemowego zostanie przerwane, może nie dojść do oznaczenia przez \fBlsfd\fP jako \fIm\fP deskryptora pliku monitorowanego przez przywołanie. Zob. \fBrestart_syscall\fP(2). .RE .RE .SH "PRZYKŁADY FILTRÓW" .sp \fBlsfd\fP posiada kilka opcji filtrowania. Zwykle wystarczy znajomość opcji \fB\-Q\fP (lub \fB\-\-filter\fP). W połączeniu z opcją \fB\-o\fP (lub \fB\-\-output\fP) można dostosować wyjście do swoich potrzeb. .sp Wypisuje pliki związane z procesami PID 1 i PID 2 .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \*(Aq(PID == 1) or (PID == 2)\*(Aq .fam .fi .if n .RE .sp To samo, w inny sposób: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \*(Aq(PID == 1) || (PID == 2)\*(Aq .fam .fi .if n .RE .sp To samo, wydajniej: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-\-pid 1,2 .fam .fi .if n .RE .sp Zamiast przecinków można zastosować białe znaki: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-\-pid \*(Aq1 2\*(Aq .fam .fi .if n .RE .sp Wykorzystuje \fBpidof\fP(1) do wypisania plików związanych z programem "firefox": .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-\-pid "$(pidof firefox)" .fam .fi .if n .RE .sp Wypisuje pierwszy deskryptor pliku otwartego przez proces PID 1: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \*(Aq(PID == 1) and (FD == 1)\*(Aq .fam .fi .if n .RE .sp To samo, w inny sposób: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \*(Aq(PID == 1) && (FD == 1)\*(Aq .fam .fi .if n .RE .sp Wypisuje wszystkie działające pliki wykonywalne: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \*(AqASSOC == "exe"\*(Aq .fam .fi .if n .RE .sp To samo, w inny sposób: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \*(AqASSOC eq "exe"\*(Aq .fam .fi .if n .RE .sp To samo, ale wypisując tylko nazwy plików: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-o NAME \-Q \*(AqASSOC eq "exe"\*(Aq | sort \-u .fam .fi .if n .RE .sp Wypisuje usunięte pliki związane z procesami: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \*(AqDELETED\*(Aq .fam .fi .if n .RE .sp Wypisuje pliki inne niż zwykłe: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \*(AqTYPE != "REG"\*(Aq .fam .fi .if n .RE .sp Wypisuje urządzenia blokowe: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \*(AqDEVTYPE == "blk"\*(Aq .fam .fi .if n .RE .sp To samo, używając kolumny TYPE: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \*(AqTYPE == "BLK"\*(Aq .fam .fi .if n .RE .sp Wypisuje pliki zawierające katalog "dconf" w swoich nazwach: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \*(AqNAME =~ ".\(rs*/dconf/.*"\*(Aq .fam .fi .if n .RE .sp Wypisuje pliki otwarte w maszynie wirtualnej QEMU: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \*(Aq(COMMAND =~ ".\(rs*qemu.*") and (FD >= 0)\*(Aq .fam .fi .if n .RE .sp Wypisuje pliki timerfd wygasające w ciągu 0,5 sekundy .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-Q \*(Aq(TIMERFD.remaining < 0.5) and (TIMERFD.remaining > 0.0)\*(Aq .fam .fi .if n .RE .sp Wypisuje procesy komunikujące się za pomocą gniazd strumieni uniksowych: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd\& \-Q \*(AqTYPE == "UNIX\-STREAM" && UNIX.PATH =~ ".+"\*(Aq \-oUNIX.PATH,PID,COMMAND,FD,SOCK.STATE,ENDPOINTS .fam .fi .if n .RE .sp Wypisuje procesy komunikujące się za pomocą danego gniazda strumienia uniksowego: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd\& \-Q \*(AqTYPE == "UNIX\-STREAM" && UNIX.PATH == "@/tmp/.X11\-unix/X0"\*(Aq \-oUNIX.PATH,PID,COMMAND,FD,SOCK.STATE,ENDPOINTS .fam .fi .if n .RE .SH "PRZYKŁADY LICZNIKÓW" .sp Zgłasza liczbę deskryptorów gniazd netlink oraz deskryptorów gniazd uniksowych: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-\-summary=only \(rs \-C \*(Aqnetlink sockets\*(Aq:\*(Aq(NAME =~ "NETLINK:.*")\*(Aq \(rs \-C \*(Aqunix sockets\*(Aq:\*(Aq(NAME =~ "UNIX:.*")\*(Aq VALUE COUNTER 57 netlink sockets 1552 unix sockets .fam .fi .if n .RE .sp To samo, lecz wypisuje w formacie JSON: .RS 4 .RE .sp .if n .RS 4 .nf .fam C # lsfd \-\-summary=only \-\-json \(rs \-C \*(Aqnetlink sockets\*(Aq:\*(Aq(NAME =~ "NETLINK:.*")\*(Aq \(rs \-C \*(Aqunix sockets\*(Aq:\*(Aq(NAME =~ "UNIX:.*")\*(Aq { "lsfd\-summary": [ { "value": 15, "counter": "netlink sockets" },{ "value": 798, "counter": "unix sockets" } ] } .fam .fi .if n .RE .SH "HISTORIA" .sp Polecenie \fBlsfd\fP jest częścią pakietu util\-linux od v2.38. .SH "AUTORZY" .sp .MTO "yamato\(atredhat.com" "Masatake YAMATO" "," .MTO "kzak\(atredhat.com" "Karel Zak" "" .SH "ZOBACZ TAKŻE" .sp \fBbpftool\fP(8), \fBbps\fP(8), \fBlslocks\fP(8), \fBlsof\fP(8), \fBpidof\fP(1), \fBproc\fP(5), \fBscols\-filter\fP(5), \fBsocket\fP(2), \fBss\fP(8), \fBstat\fP(2), \fBvsock\fP(7) .SH "ZGŁASZANIE BŁĘDÓW" .sp Problemy należy zgłaszać w \c .URL "https://github.com/util\-linux/util\-linux/issues" "systemie śledzenia błędów" "." .SH "DOSTĘPNOŚĆ" .sp Polecenie \fBlsfd\fP jest częścią pakietu util\-linux, który można pobrać ze strony \c .URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "Archiwum jądra Linux" "."