LSFD(1) | Корисничке наредбе | 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 пидови
Обе опције, како опција -Q са изразом укључујући ПИД, тј. „-Q (ПИД == 1)“, тако и опција -p, тј. „-p 1“, могу исписати исти излаз, али коришћење опције -p је делотворније јер опција -p ради на много ранијем стадијуму обраде него опција -Q.
-i[4|6], --inet[=4|=6]
-Q, --filter израз
-C, --counter натпис:филтер_израз
Видите ИЗРАЗ ФИЛТЕРА о изразу_филтера. натпис не треба да обухвати „{“ нити „:“. Можете да дефинишете више бројача навођењем ове опције више пута.
Видите такође ПРИМЕРИ БРОЈАЧА.
--summary[=када]
Бројачи извештаја сажетка. Бројач се састоји од натписа и целобројне вредности. --counter је опција за дефинисање бројача. Ако корисник не дефинише бројач, lsfd користи дефиниције унапред девинисаних уграђених бројача (основни бројачи) да сачини излаз сажетка.
ОПРЕЗ: Коришћење --summary и --json може учинити излаз оштећеним. Исправно је само комбиновање --summary=only и --json.
--debug-filter
--dump-counters
-h, --help
-V, --version
КОЛОНЕ ИЗЛАЗА¶
Свака колона има врсту. Врсте су између < и >.
ОПРЕЗ: Називи и врсте колона нису стабилни још увек. Могу се изменити у будућим издањима.
AINODECLASS <„ниска“>
ПРИДРУ <„ниска“>
БЛКДРВ <„ниска“>
ЗНКДРВ <„ниска“>
НАРЕДБА <„ниска“>
ОБРИСАНО <„логичка“>
УРЕЂ <„ниска“>
ВРСТАУРЕЂ <„ниска“>
КРАЈЊАТАЧКА <„ниска“>
ПУПИ врста.
Последњи знак ([-r][-w]) представља режим читања и/или писања крајње тачке.
lsfd прикупља крајње тачке у процесима које lsfd скенира; lsfd може промашити неке крајње тачке ако ограничите процесе опцијом -p.
ОД <„број“>
ЗАСТАВИЦЕ <„ниска“>
ДУИД <„број“>
ИНЕТ.ЛАДР <„ниска“>
ИНЕТ.УАДР <„ниска“>
ИНЕТ6.ЛАДР <„ниска“>
ИНЕТ6.УАДР <„ниска“>
И-ЧВОР <„број“>
НАЗИВ <„ниска“>
КНИТ <„логичка“>
MAJ:MIN <„ниска“>
МАПДУЖ <„број“>
РАЗНУРЕЂ <„ниска“>
ИДКЧЊА <„број“>
РЕЖИМ <„ниска“>
НАЗИВ <„ниска“>
Неке датотеке имају посебне формате и изворе информација:
МРЕЖНАВЕЗА
ПАКЕТ
pidfd
lsfd ИЗВЛАЧИ TARGET-PID И TARGET-NSPIDS из „/proc/“пид„/fdinfo/“од.
ПИНГ
ПИНГв6
RAW
RAWv6
TCP, TCPv6
UDP, UDPv6
lsfd скрива „raddr=“ ако је UDP.RADDR „0.0.0.0“ и UDP.RPORT 0.
UDP-LITE, UDPLITEv6
UNIX-STREAM
UNIX
МРЕЖНАВЕЗА.ГРУПЕ <„број“>>
МРЕЖНАВЕЗА.ЛПРИКЉУЧНИК <„број“>>
МРЕЖНАВЕЗА.ПРОТОКОЛ <„ниска“>>
БВЕЗЕ <„број“>
НС.НАЗИВ <„ниска“>
НС.ВРСТА <„ниска“>
ВЛАСНИК <„ниска“>
ПАКЕТ.IFACE <„ниска“>
ПАКЕТ.ПРОТОКОЛ <„ниска“>
ПАРТИЦИЈА <„ниска“>
ПИД <„број“>
ОДПИД.НАРЕДБА <„ниска“>
ОДПИД.НСПИД <„ниска“>
Цитирано из „кернела/fork.c“ стабла избора Линукса:
Ако су пид називни простори подржани, тада ће ова функција такође исписати пид датог „pidfd“-а на који се односи за све подређене пид називне просторе почевши од тренутног пид називног простора примерка, тј. Пид поље и први унос у „NSpid“ пољу биће истоветни.
Имајте на
уму да се
ово
разликује
од поља „Pid“
и „NSpid“ у
„/proc/<пид>/статус“
где су Пид и
НСпид увек
приказани
у односу на
пид
називни
простор
„procfs“
примерка.
ОДПИД.ПИД <„број“>
ПИНГ.ИД <„број“>
ПОЛ <„број“>
RAW.PROTOCOL <„број“>
RDEV <„ниска“>
ВЕЛИЧИНА <„број“>
SOCK.LISTENING <„логика“>
SOCK.NETS <„број“>
SOCK.PROTONAME <„ниска“>
SOCK.STATE <„ниска“>
SOCK.TYPE <„ниска“>
ИЗВОР <„ниска“>
STTYPE <„ниска“>
TCP.LADDR <„ниска“>
TCP.LPORT <„цео_број>
TCP.RADDR <„ниска“>
TCP.RPORT <„цео_број“>
ТИД <„број“>
ВРСТА <„ниска“>
UDP.LADDR <„ниска“>
UDP.LPORT <„цео_број“>
UDP.RADDR <„ниска“>
UDP.RPORT <„цео_број“>
UDPLITE.LADDR <„ниска“>
UDPLITE.LPORT <„цео_број“>
UDPLITE.RADDR <„ниска“>
UDPLITE.RPORT <„цео_број“>
УИД <„број“>
UNIX.ПУТАЊА <„ниска“>
КОРИСНИК <„ниска“>
ИЗРАЗ ФИЛТЕРА¶
lsfd процењује израз прослеђен опцији --filter сваки пут пре исписивања реда датотеке. lsfd исписује ред само ако је резултат процене „true“.
Израз се састоји од назива колона, литерала и оператора као: „ОБРИСАНО“, „(ПИД == 1)“, „(НАЗИВ == "/etc/passwd")“, „(ПИД == 1) && ОБРИСАНО“. „ОБРИСАНО“, „ПИД“, и „НАЗИВ“ јесу називи колона у примеру. „1“ и „"/etc/passwd"“ су литерали. „==“ и „&&“ су оператори.
Пре евалуације, lsfd замењује називе колона у датом изразу стварним вредностима колоне у реду. Постоје три различите врсте података: „логички“, „ниска“, и „број“. За колоне са врстом „логички“, вредност може бити самостојећа. За вредности „ниска“ и „број“, вредност мора бити операнд или оператор, на пример, „(ПИД == 1)“. Видите „КОЛОНЕ ИЗЛАЗА“ о врстама колона.
Литерал је за директно представљање вредности. Видите BOOLLIT, STRLIT, и NUMLIT. Различите врсте података имају различиту синтаксу литерала.
Оператор ради са једним или два операнда. Оператор има очекивање о врсти података својих операнда. Давање неочекиване врсте података оператору доводи до грешке у синтакси.
Оператори који могу имати два операнда су „and“, „or“, „eq“, „ne“, „le“, „lt“, „ge“, „gt“, „=~“, „!~“. Азбучним редом именовани оператори имају алијасе у Ц-језику: „&&“, „||“, „==“, „!=“, „<“, „⇐“, „>=“, и „>“.
„!“ је једини оператор који може имати један операнд.
„eq“, „ne“, и њихови алијаси очекују да операнди имају исту врсту података. Примена ових оператора даје „логичку“ вредност.
„и“, „или“, „не“ и њихови алијаси очекују да операнди имају „логичку“ врсту података. Примена ових оператора даје „логичку“ вредност.
„lt“, „le“, „gt“, „ge“, и њихови алијаси очекују да операнди имају „бројевну“ врсту података. Примена ових оператора даје „логичку“ вредност.
„=~“ је за поређење регуларног израза; ако ниска са десне стране одговара регуларном изразу на левој страни, резултат је тачан. Операнд са десне стране мора бити литерал ниске. Видите STRLIT о синтакси.
„!~“ је скраћена верзија за „not (STR =~ PAT)“; обрће резултат од „=~“.
Ограничења¶
Тренутна примена не дефинише предност унутар оператора. Користите ( и ) изричито за груписање подизраза ако ваш израз користи више од два оператора.
О „броју“ уписаних вредности, погон филтера подржава само не-негативне целе бројеве.
Полу-формална синтакса¶
ИЗРАЗ
ЛОГИЧКИ_ИЗРАЗ0
ЛОГИЧКИ_ИЗРАЗ
КОЛОНА
ЛОГИЧКИ_ОП1
ИЗР_НИСКЕ
ИЗР_БРОЈА
ЛОГИЧКИ_ЛИТ
ЗНАКОВИ
ЛИТ_НИСКЕ
ЛИТ_БРОЈА
ЛОГИЧКИ_ОП2
ОП2
ЛОГИЧКИ_ОП2BL
ОП2БЛ
ЛОГИЧКИ_ОП2CMP
OP2CMP
ЛОГИЧКИ_ОП2РЕГ
OP2REG
ПРИМЕРИ ФИЛТЕРА¶
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)'
Скрива датотеке придружене нитима кернела:
# lsfd -Q '!KTHREAD'
ПРИМЕРИ БРОЈАЧА¶
Извештава о броју описника прикључнице мрежне везе и о описницима јуникс прикључнице
# 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.
АУТОРИ¶
Masatake YAMATO <yamato@redhat.com>, Karel Zak <kzak@redhat.com>
ПОГЛЕДАЈТЕ ТАКОЂЕ¶
ПРИЈАВЉИВАЊЕ ГРЕШАКА¶
За пријављивање грешака, користите пратиоца грешака на <https://github.com/util-linux/util-linux/issues>.
ДОСТУПНОСТ¶
Наредба lsfd је део пакета „util-linux“ који се може преузети са Архиве Линукс кернела <https://www.kernel.org/pub/linux/utils/util-linux/>.
2024-01-05 | util-linux 2.39.3 |