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 пидови
    Прикупља информације само за наведене процесе. pids је списак пид-ова. Зарез или празнине се могу користити као раздвајачи. Можете да користите ову опцију са pidof(1). Видите ПРИМЕРИ ФИЛТЕРА.

    Обе опције, како опција -Q са изразом укључујући ПИД, тј. „-Q (ПИД == 1)“, тако и опција -p, тј. „-p 1“, могу исписати исти излаз, али коришћење опције -p је делотворније јер опција -p ради на много ранијем стадијуму обраде него опција -Q.

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

-Q, --filter израз
    Исписује само датотеке које одговарају услову представљеном са израз. Видите такође scols-filter(5) и ПРИМЕРИ ФИЛТЕРА.

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

    Видите scols-filter(5) о изразу_филтера. натпис не треба да обухвати „{“ нити „:“. Можете да дефинишете више бројача навођењем ове опције више пута.

    Видите такође ПРИМЕРИ БРОЈАЧА.

--summary[=када]
    Ова опција контролише излаз сажетка редова. Опционални аргумент када може бити only, append ili never. Ако је аргумент када изостављен, подразумева се only.

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

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

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

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

--hyperlink[=режим]
    Исписује путање као хипервезе терминала. режим може бити постављен на „always“, „never“ или „auto“. Изборни аргумент када може се поставити на „auto“, „never“ или „always“. Ако је аргумент када изостављен, пребациће се на „auto“. Поставка „auto“ значи да ће хипервезе бити коришћене само ако је излаз на терминалу.

-H, --list-columns
    Исписује доступне колоне које можете навести на опцији --output.

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

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

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

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

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

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-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

    МРЕЖНАВЕЗА
        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 протокол придружен са прикључницом пакета.

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

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

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

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

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

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

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

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

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

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

RAW.PROTOCOL <број>
    Број протокола сирове прикључнице.

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

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

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

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

SOCK.NETS <број>
    И-чвор који одређује мрежни називни простор где прикључница пришпада.

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

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

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]
        Мултиплексирано. Ако је описник датотеке циљан „eventpoll“ датотеком или класичним системским позивима за мултиплексирање (select, pselect, poll, и ppoll), ова заставица бита је постављена. Знајте да ако је позивање класичних системских позива прекинуто, lsfd неће успети да означи m на описницима датотека које је надгледало позивање. Видите 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“ пакета који се може преузети са