LSFD(1)

НАЗИВ
lsfd - исписује описнике датотека

УВОД

lsfd [опција]

ОПИС

lsfd је замишљено да буде савремена замена за lsof(8) на Линукс системима. За разлику од lsof-а, lsfd је специјализован за Линукс кернел; подржава Линуксу специфичне функције као што су називни простори са једноставнијим кодом. lsfd није уметнута замена за lsof; разликују се у линији наредби сучељу и излазним форматима.

Основни излаз је субјекат за измену. Тако да кад год је могуће, треба да избегавате коришћење основних излаза у вашим скриптама. Увек изричито дефинишите очекиване колоне користећи --output списак-колона у окружењима у којима се захтева стабилан излаз.

lsfd користи „Libsmartcols“ за форматирање излаза и филтрирање. Видите опис --output опције за прилагођавање формата излаза, и опцију --filter за филтрирање. Користите lsfd --help да добијете списак свих доступних колона.

ОПЦИЈЕ

-l, --threads
    Исписује ниво у нитима.

-J, --json
    Користи ЈСОН формат излаза.

-n, --noheadings
    Не исписује заглавља.

-o, --output списак
    Наводи које колоне излаза ће се исписати. Видите одељак КОЛОНЕ ИЗЛАЗА за појединости о доступним колонама.

    Основни списак колона се може проширити ако је списак наведен у формату +списак (нпр., lsfd -o +DELETED).

-r, --raw
    Користи сирови излазни формат.

--notruncate
    Не скраћује текст у колонама.

-p, --pid list
    Collect information only for the specified processes. The list is a comma-separated list of PIDs. See also FILTER EXAMPLES.

-i[4|6], --inet[=4|=6]
    Исписује само IPv4 и/или IPv6 прикључнице.

-Q, --filter expression
    Print only the files matching the condition represented by the expression. See also scols-filter(5) and FILTER EXAMPLES.

    The -Q option with a PID (for example: -Q PID==1) and the -p option (for example: -p 1) can be used to achieve the same result, but using the -p option is much more efficient because it works at a much earlier stage of processing than the -Q option.

-C, --counter натпис:филтер_израз
    Дефинише произвољни бројач коришћен у --summary излазу. lsfd прави бројач под називом натпис. За време прикупљања информација, lsfd броји датотеке које одговарају филтер_изразу, и складишти избројани број у бројач под називом натпис. lsfd примењује филтере дефинисане опцијама --filter пре бројања; датотеке искључене филтерима се не броје.

    See scols-filter(5) about filter_expr. label should not include { nor :. You can define multiple counters by specifying this option multiple times. See also COUNTER EXAMPLES.

--summary[=mode]
    This option controls summary lines output. The optional argument mode can be only, append, or never. If the mode argument is omitted, it defaults to only.

    Бројачи извештаја сажетка. Бројач се састоји од натписа и целобројне вредности. --counter је опција за дефинисање бројача. Ако корисник не дефинише бројач, lsfd користи дефиниције унапред девинисаних уграђених бројача (основни бројачи) да сачини излаз сажетка.

    ОПРЕЗ: Коришћење --summary и --json може учинити излаз оштећеним. Исправно је само комбиновање --summary=only и --json.

--debug-filter
    Исписује структуру унутрашњих података за филтер и излази. Ово је од користи само lsfd програмерима.

--dump-counters
    Исписује дефиницију бројача коришћених у излазу --summary.

--hyperlink[=when]
    Print paths as terminal hyperlinks. The optional when argument can be always, never, or auto. If the argument is omitted, it defaults to auto, which means that hyperlinks will only be used when the output goes to a terminal.

-H, --list-columns
    List the columns that can be specified with the --output option. Can be used with --json or --raw to get the list in a machine-readable format.

-h, --help
    Приказује текст помоћи и излази.

-V, --version
    Исписује издање и излази.

ОКРУЖЕЊЕ

LIBSMARTCOLS_DEBUG=all
    укључује излаз „libsmartcols“ прочишћавања.

LIBSMARTCOLS_DEBUG_PADDING=on
    користи видљиве знакове попуњавања.

КОЛОНЕ ИЗЛАЗА

Свака колона има врсту. Врсте су између < и >.

ОПРЕЗ: Називи и врсте колона нису стабилни још увек. Могу се изменити у будућим издањима.

AINODECLASS <ниска>
    Класа анонимног и-чвора.

ПРИДРУ <ниска>
    Придруживање између датотеке и процеса.

БЛКДРВ <ниска>
    Назив уграђеног програма блок уређаја решеног од стране „/proc/devices“.

BPF-MAP.ID <број>
    ИД бфп мапе.

БФП-МАПА.ВРСТА <ниска>
    Дешифрован назив врсте „bpf“ мапе.

ВРСТА.БФП-МАПЕ.НЕОБРАЂЕНА <број>
    Врста бфп мапе (необрађено).

БФП.НАЗИВ <ниска>
    Назив бфп објекта.

ИД.БФП-ПРОГ <број>
    ИД бфп програма.

ОЗНАКА.БФП-ПРОГ <ниска>
    ОЗНАКА бфп програма.

ВРСТА.БФП-ПРОГ <ниска>
    Дешифрован назив врсте „bpf“ програма.

ВРСТА.БФП-ПРОГ.НЕОБРАЂЕНО <број>
    Врста бфп програма (необрађено).

ЗНКДРВ <ниска>
    Назив уграђеног програма знаковног уређаја решеног од стране „/proc/devices“.

НАРЕДБА <ниска>
    Наредба процеса који отвара датотеку.

ОБРИСАНО <логичка>
    Досежност са система датотека.

УРЕЂ <ниска>
    ИД уређаја који садржи датотеку.

ВРСТАУРЕЂ <ниска>
    Врста уређаја (blk, char, или nodev).

КРАЈЊЕТАЧКЕ <ниска>
    Информације IPC крајњих тачака комунициране описником датотека.

    lsfd прикупља крајње тачке у процесима које lsfd скенира; lsfd може промашити неке крајње тачке ако ограничите процесе опцијом -p.

    Формат колоне зависи од објекта придруженог са описником датотеке:

    ПУПИ врста, врста м-реда, „ptmx“ и „pts“ извори
        ПИД,НАРЕДБА,ПРИДРУЖ[-r][-w]

        Последњи знаци ([-r][-w]) представљају режим читања и/или писања крајње тачке.

    врста описника датотеке догађаја
        ПИД,НАРЕДБА,ПРИДРУЖ

    UNIX
        Same as UNIX-STREAM.

        In a container, lsfd may not fill ENDPOINTS column. lsfd uses sock_diag(7) to collect information about UNIX endpoints. SELinux may limit the use sock_diag in a container. You can remove the limit by setting 1 to virt_sandbox_use_netlink bool. See container_selinux(8) for more details.

    UNIX-STREAM
        ПИД,НАРЕДБА,ПРИДРУЖ[-r?][-w?]

        О последњим знацима ([-r?][-w?]), видите опис за ПРИКЉ.ГАШЕЊЕ.

ИД_ОДДОГАЂАЈА <број>
    ИД описника датотеке догађаја.

EVENTPOLL.TFDS <ниска>
    Описници датотека нациљани „eventpoll“ датотеком.

ОД <број>
    Описник датотеке за датотеку.

ЗАСТАВИЦЕ <ниска>
    Заставице наведене приликом отварања датотеке.

ДУИД <број>
    ИД број корисника власника датотеке.

ИНЕТ.ЛАДР <ниска>
    Локална ИП адреса.

ИНЕТ.УАДР <ниска>
    Удаљена ИП адреса.

ИНЕТ6.ЛАДР <ниска>
    Локална ИП6 адреса.

ИНЕТ6.УАДР <ниска>
    Удаљена ИП6 адреса.

И-ЧВОР <број>
    Број и-чвора.

INOTIFY.И-ЧВОРОВИ <ниска>
    Обрађено издање INOTIFY.INODES.RAW-а. Формат елемента је број-и-чвора,извор-и-чвора.

INOTIFY.И-ЧВОРОВИ.НЕОБРАЂЕНИ <ниска>
    Списак и-чворова праћења. Облик елемента је број-и-чвора,главни-уређај:споредни-уређај.

НАЗИВ <ниска>
    Сирови назив датотеке извучен из „/proc/“пид„/fd/“од или „/proc/“пид„/map_files/“регион.

КНИТ <логичка>
    Да ли је процес нит кернела или није.

MAJ:MIN <ниска>
    ИД уређаја за специјални, или ИД уређаја који садржи датотеку.

МАПДУЖ <број>
    Дужина мапирања датотеке (у страници).

РАЗНУРЕЂ <ниска>
    Назив разног знаковног уређаја ког решава „/proc/misc“.

ИДКЧЊА <број>
    ИД качења.

РЕЖИМ <ниска>
    Режим приступа (rwx).

НАЗИВ <ниска>
    Обрађено издање КНАЗИВ-а. Углавном је исто као КНАЗИВ.

    Неке датотеке имају посебне формате и изворе информација:

    AF_VSOCK
        state=ПРИКЉ.СТАЊЕ type=ПРИКЉ.ВРСТА laddr=VПРИКЉ.LАДЕРСА[ raddr=VПРИКЉ.RАДРЕСА]

        „raddr“ се не приказује за прикључнице ослушкивања.

    бфп-мапа
        ид=ИД.БФП-МАПЕ врста=ВРСТА.БФП-МАПЕ[ назив=БФП.НАЗИВ]

    бфп-прог
        id=BPF-PROG.ID type=BPF-PROG.TYPE tag= BPF-PROG.TAG [ name=BPF.NAME]

    eventpoll
        tfds=EVENTPOLL.TFDS

    eventfd
        ид=ИД.ОДДОГАЂАЈА

    inotify
        и-чворови=INOTIFY.И-ЧВОРОВИ

    разно:тун
        iface=TUN.IFACE[ devnetns=TUN.DEVNETNS][ socknetns=SOCK.NETNS]

    МРЕЖНАВЕЗА
        protocol=NETLINK.PROTOCOL[ lport=NETLINK.LPORT[ group=NETLINK.GROUPS]]

    ПАКЕТ
        type=SOCK.TYPE[ protocol=PACKET.PROTOCOL][ iface=PACKET.IFACE]

    pidfd
        pid=TARGET-PID comm=TARGET-COMMAND nspid=TARGET-NSPIDS

        lsfd ИЗВЛАЧИ TARGET-PID И TARGET-NSPIDS из „/proc/“пид„/fdinfo/“од.

    ПИНГ
        state=SOCK.STATE[ id=PING.ID][ laddr=INET.LADDR [ raddr=INET.RADDR]]

    ПИНГв6
        state=SOCK.STATE[ id=PING.ID][ laddr=INET6.LADDR [ raddr=INET6.RADDR]]

    ptmx
        tty-index=PTMX.TTY-INDEX

        lsfd ИЗВЛАЧИ TARGET-PID И TARGET-NSPIDS из „/proc/“пид„/fdinfo/“од.

    RAW
        state=SOCK.STATE[ protocol=RAW.PROTOCOL [ laddr=INET.LADDR [ raddr=INET.RADDR]]]

    RAWv6
        state=SOCK.STATE[ protocol=RAW.PROTOCOL [ laddr=INET6.LADDR [ raddr=INET6.RADDR]]]

    од_сигнала
        mask=МАСКА.ОПСИГНАЛА

    TCP, TCPv6
        state=SOCK.STATE[ laddr=TCP.LADDR [ raddr=TCP.RADDR]]

    timerfd
        clockid=TIMERFD.CLOCKID[ преостало=TIMERFD.REMAINING [ период=TIMERFD.INTERVAL]]

    UDP, UDPv6
        state=SOCK.STATE[ laddr=UDP.LADDR [ raddr=UDP.RADDR]]

        lsfd скрива „raddr=“ ако је UDP.RADDR „0.0.0.0“ и UDP.RPORT 0.

    UDP-LITE, UDPLITEv6
        state=SOCK.STATE[ laddr=UDPLITE.LADDR [ raddr=UDPLITE.RADDR]]

    UNIX-STREAM
        state=SOCK.STATE[ path=UNIX.PATH]

    UNIX
        state=SOCK.STATE[ path=UNIX.PATH] type=SOCK.TYPE

    Знајте да су „(обрисани)“ означавачи уклоњени из ове колоне. Погледајте К-НАЗИВ, ОБРИСАНО, или X-РЕЖИМ да сазнате читљивост датотеке из вашег система датотека.

МРЕЖНАВЕЗА.ГРУПЕ <број>>
    Мултикаст групе мрежне везе.

МРЕЖНАВЕЗА.ЛПРИКЉУЧНИК <број>>
    Ид локалног прикључника мрежне везе.

МРЕЖНАВЕЗА.ПРОТОКОЛ <ниска>>
    Протокол мрежне везе.

БВЕЗЕ <број>
    Укупност везе.

НС.НАЗИВ <ниска>
    Назив (NS.TYPE:[INODE]) називног простора наведеног датотеком.

НС.ВРСТА <ниска>
    Врста називног простора наведеног датотеком. Врста је „mnt“, „cgroup“, „uts“, „ipc“, „user“, „pid“, „net“, „time“ или „unknown“.

ВЛАСНИК <ниска>
    Власник датотеке.

ПАКЕТ.IFACE <ниска>
    Назив сучеља придруженог са прикључницом пакета.

ПАКЕТ.ПРОТОКОЛ <ниска>
    L2 protocol name associated with the packet socket (decoded).

PACKET.PROTOCOL.RAW <number>
    L2 protocol number associated with the packet socket (raw).

ПАРТИЦИЈА <ниска>
    Назив блок уређаја како га решава „/proc/partition“.

ПИД <број>
    ПИД процеса који отвара датотеку.

ОДПИД.НАРЕДБА <ниска>
    Наредба процеса који је на мети „pidfd“-а.

ОДПИД.НСПИД <ниска>
    Закон NSpid поља у „/proc/“pid„/fdinfo/“fd „pidfd“-а.

    Цитирано из „кернела/fork.c“ стабла избора Линукса:

        Ако су пид називни простори подржани, тада ће ова функција такође исписати пид датог „pidfd“-а на који се односи за све подређене пид називне просторе почевши од тренутног пид називног простора примерка, тј. Пид поље и први унос у „NSpid“ пољу биће истоветни.

        Имајте на уму да се ово разликује од поља „Pid“ и „NSpid“ у „/proc/<пид>/статус“ где су Пид и НСпид увек приказани у односу на пид називни простор „procfs“ примерка.

ОДПИД.ПИД <број>
    ПИД процеса који је на мети „pidfd“-а.

ПИНГ.ИД <број>
    Ид захтева ICMP еха који се користи на PING прикључници.

ПОЛ <број>
    Положај датотеке.

RAW.PROTOCOL <string>
    Protocol name of the raw socket (decoded).

        Note

        The data type of this column was <number> from v2.39 to v2.41.

RAW.PROTOCOL.RAW <number>
    Protocol number of the raw socket (raw).

RDEV <ниска>
    ИД уређаја (ако је посебна датотека).

МАСКА.ОПСИГНАЛА <ниска>
    Маскирани сигнали.

ВЕЛИЧИНА <број>
    Величина датотеке.

SOCK.LISTENING <логичка>
    Прикључница ослушкивања.

SOCK.NETS <број>
    Inode identifying network namespace where the socket belongs.

SOCK.PROTONAME <ниска>
    Назив протокола.

УТИЧ.ГАШЕЊЕ <ниска>
    Стање гашења прикључнице.

    [-r?]
        Ако је први знак r, прихватања су дозвољена. Ако је -, прихватања нису дозвољена. Ако је ?, стање је непознато.

    [-w?]
        Ако је други знак w, преношења су дозвољена. Ако је -, преношења нису дозвољена. Ако је ?, стање је непознато.

SOCK.STATE <ниска>
    Стање прикључнице.

SOCK.TYPE <ниска>
    Врста прикључница. Овде врста значи други параметар системског позива прикључнице:

        • stream

        • dgram

        • raw

        • rdm

        • seqpacket

        • dccp

        • пакет

ИЗВОР <ниска>
    Систем датотека, партиција или уређај који садржи датотеку. За придруживање које има ГРЕШКУ као вредност за колону ВРСТА, lsfd попуњава ту колону са syscall:_errno_.

STTYPE <ниска>
    Сирове врсте датотека које даје stat(2): BLK, CHR, DIR, FIFO, LINK, REG, SOCK, или UNKN.

TCP.LADDR <ниска>
    Локална L3 (INET.LADDR или INET6.LADDR) адреса и локални TCP прикључник.

TCP.LPORT <број>
    Локални TCP прикључник.

TCP.RADDR <ниска>
    Удаљена L3 (INET.RADDR или INET6.RADDR) адреса и удаљени TCP прикључник.

TCP.RPORT <број>
    Удаљени TCP прикључник.

ТИД <број>
    ИД нити процеса који отвара датотеку.

ОДОДБРОЈАВАЧА.ИДСАТА <ниска>
    ИД_сата.

ИДОДБРОЈАВАЧА.ПЕРИОД <број>
    Интервал.

ИДОДБРОЈАВАЧА.ПРЕОСТАЛО <број>
    Преостало време.

PTMX.TTY-INDEX <број>
    TTY индекс дупликата.

TUN.DEVNETNS <number>
    Inode identifying network namespace where the device belongs.

TUN.IFACE <ниска>
    Мрежно сучеље иза тун уређаја.

ВРСТА <ниска>
    Обрађено издање STTYPE-а. Исто је као STTYPE са изузецима. За ПРИКЉ, исписује вредност за SOCK.PROTONAME. За НЕПОЗН, исписује вредност за AINODECLASS ако је ИЗВОР „anon_inodefs“.

    Ако lsfd добије грешку када позива „syscall“ да сазна о описнику циљне датотеке, lsfd за њега попуњава ову колону са ГРЕШКОМ.

UDP.LADDR <ниска>
    Локална ИП адреса и локални UDP прикључник.

UDP.LPORT <број>
    Локални UDP прикључник.

UDP.RADDR <ниска>
    Удаљена ИП адреса и удаљени UDP прикључник.

UDP.RPORT <број>
    Удаљени UDP прикључник.

UDPLITE.LADDR <ниска>
    Локална ИП адреса и локални UDPLite прикључник.

UDPLITE.LPORT <број>
    Локални UDP прикључник.

UDPLITE.RADDR <ниска>
    Удаљена ИП адреса и удаљени UDPLite прикључник.

UDPLITE.RPORT <број>
    Удаљени UDP прикључник.

УИД <број>
    ИД број корисника.

UNIX.IPEER < number >
    Inode number for the peer of the UNIX domain socket.

    If lsfd runs in a container, it may not fill UNIX.IPEER column. See the description of UNIX in ENDPOINTS column for more details.

UNIX.ПУТАЊА <ниска>
    Назив путање система датотека за прикључницу ЈУНИКС домена.

КОРИСНИК <ниска>
    Корисник процеса.

VSOCK.LADDR <ниска>, VSOCK.RADDR <ниска>
    Локална VSOCK адреса. Формат елемента је VSOCK.LCID:VSOCK.LPORT.

    Добро познати CID-ови биће дешифровани: „*“, „hypervisor“, „local“, или „host“. Добро познати прикључници биће дешифровани: „*“.

VSOCK.LCID <број>, VSOCK.RCID <број>
    Локални и удаљени одредници VSOCK контекста.

VSOCK.LPORT <број>, VSOCK.RPORT <број>
    Локални и удаљени VSOCK прикључници.

X-РЕЖИМ <ниска>
    Проширено издање РЕЖИМ-а. Ова колона може нарасти; нова слова се могу придодати на X-РЕЖИМ када lsfd подржава ново стање описника датотеке и/или мапирања меморије.

    [-r]
        отворено мапираног за читање. Ово је такође у РЕЖИМ-у.

    [-w]
        отворено мапираног за писање. Ово је такође у РЕЖИМ-у.

    [-x]
        мапирано за извршавање кода. Ово је такође у РЕЖИМУ.

    [-D]
        избрисано из система датотека. Видитњ такође ОБРИСАНО.

    [-Ll]
        закључан или закупљен. l представља читање, дељено закључавање или закуп читања. L представља писање или изричито закључавање или закуп писања. Ако су и читање/дељено и писање/изричито закључавање или закуп узети од стране описника датотеке, L се користи као заставица.

    [-m]
        Multiplexed. If the file descriptor is targeted by a eventpoll file or classical system calls for multiplexing (select(2), pselect(2), poll(2), and ppoll(2)), this bit flag is set. Note that if an invocation of the classical system calls is interrupted, lsfd may fail to mark m on the file descriptors monitored by the invocation. See restart_syscall(2).

ПРИМЕРИ ФИЛТЕРА

lsfd има неколико опција за филтрирање. У већини случајева, треба да знате за -Q (или --filter) опцију. Комбиноване са -o (или --output) опцијом, можете да прилагодите излаз како желите.

Исписује датотеке придружене са ПИД 1 и ПИД 2 процесима:

    # lsfd -Q '(PID == 1) или (PID == 2)'

Ради исто на другачији начин:

    # lsfd -Q '(PID == 1) || (PID == 2)'

Ради исто на делотворнији начин:

    # lsfd --pid 1,2

Празнине се могу користити уместо зареза:

    # lsfd --pid '1 2'

Користи pidof(1) за списак датотека придружених са „firefox“:

    # lsfd --pid "$(pidof firefox)"

Исписује 1° описник датотеке отворен ПИД 1 процесом:

    # lsfd -Q '(PID == 1) и (FD == 1)'

Ради исто на другачији начин:

    # lsfd -Q '(PID == 1) && (FD == 1)'

Исписује све покренуте извршне:

    # lsfd -Q 'ASSOC == "exe"'

Ради исто на другачији начин:

    # lsfd -Q 'ASSOC eq "exe"'

Чини исто али исписује само називе датотека:

    # lsfd -o NAZIV -Q 'ASSOC eq "exe"' | sort -u

Исписује обрисане датотеке придружене процесима:

    # lsfd -Q 'DELETED'

Исписује не-регуларне датотеке:

    # lsfd -Q 'TYPE != "REG"'

Исписује блок уређаје:

    # lsfd -Q 'DEVTYPE == "blk"'

Чини исто са колоном ВРСТА:

    # lsfd -Q 'TYPE == "BLK"'

Исписује датотеке укључујући „dconf“ директоријум у њиховим називима:

    # lsfd -Q 'NAME =~ ".\*/dconf/.*"'

Исписује датотеке отворене у QEMU виртуелној машини:

    # lsfd -Q '(COMMAND =~ ".\*qemu.*") и (FD >= 0)'

Исписује датотеке описника датотека одбројавача истеклих за 0.5 секунде:

    # lsfd -Q '(TIMERFD.преостало < 0.5) и (TIMERFD.преостало > 0.0)'

Исписује процесе који комуницирају путем прикључница јуникс тока:

    # lsfd  -Q 'VRSTA == "UNIX-TOK" && UNIX.PUTANJA =~ ".+"' -oUNIX.PUTANJA,PID,NAREDBA,OD,SOCK.STANJE,KRAJWETAČKE

Исписује процесе који комуницирају путем наведене прикључнице јуникс тока:

    # lsfd  -Q 'VRSTA == "UNIX-TOK" && UNIX.PUTANJA == "@/tmp/.X11-unix/X0"' -oUNIX.PUTANJA,PID,NAREDBA,OD,SOCK.STANJE,KRAJWETAČKE

ПРИМЕРИ БРОЈАЧА

Извештава о броју описника прикључнице мрежне везе и о описницима јуникс прикључнице:

    # lsfd --summary=only \
            -C 'netlink sockets':'(NAME =~ "NETLINK:.*")' \
            -C 'unix sockets':'(NAME =~ "UNIX:.*")'
    БРОЈАЧ ВРЕДНОСТИ
       57 netlink sockets
     1552 unix sockets

Чини исто али исписује у ЈСОН запису:

    # lsfd --summary=only --json \
            -C 'netlink sockets':'(NAME =~ "NETLINK:.*")' \
            -C 'unix sockets':'(NAME =~ "UNIX:.*")'
    {
       "lsfd-summary": [
          {
             "value": 15,
             "counter": "netlink sockets"
          },{
             "value": 798,
             "counter": "unix sockets"
          }
       ]
    }

ИСТОРИЈАТ

Наредба lsfd је део „util-linux“ пакета још од v2.38.

АУТОРИ

ПОГЛЕДАЈТЕ ТАКОЂЕ

bpftool(8), bps(8), lslocks(8), lsof(8), pidof(1), proc(5), scols-filter(5), socket(2), ss(8), stat(2), vsock(7)

ПРИЈАВЉИВАЊЕ ГРЕШАКА

За пријављивање грешака, користите „https://github.com/util-linux/util-linux/issues[issue tracker]“.

ДОСТУПНОСТ

Наредба lsfd је део „util-linux“ пакета који се може преузети са