LSFD(1) أوامر المستخدم LSFD(1)

الاسم

lsfd - سرد واصفات الملفات

موجز

lsfd [خيار]

الوصف

صُمم lsfd ليكون بديلاً حديثاً لـ lsof(8) على أنظمة لينكس. وبخلاف lsof، فإن lsfd متخصص في نواة لينكس؛ حيث يدعم ميزات لينكس الخاصة مثل مساحات الأسماء (namespaces) برمجية أبسط. لا يعد lsfd بديلاً مطابقاً لـ lsof؛ فهما يختلفان في واجهة سطر الأوامر وتنسيقات الخرج.

إن الخرج المبدئي عرضة للتغيير. لذا، كلما أمكن، يجب تجنب استخدام المخرجات المبدئية في نصوصك البرمجية. حدد دائماً الأعمدة المتوقعة صراحةً باستخدام --output columns-list في البيئات التي تتطلب خرجاً مستقراً.

يستخدم lsfd مكتبة Libsmartcols لتنسيق الخرج وترشيحه. راجع وصف خيار --output لتخصيص تنسيق الخرج، وخيار --filter للترشيح. استخدم lsfd --list-columns للحصول على قائمة بكافة الأعمدة المتاحة.

الخيارات

-l، --threads

السرد على مستوى الخيوط (threads).

-J، --json

استخدم تنسيق مخرجات JSON.

-n، --noheadings

لا تطبع الترويسات.

-o، --output قائمة

حدد أعمدة المخرجات المراد طباعتها. راجع قسم OUTPUT COLUMNS لمعرفة تفاصيل الأعمدة المتاحة.

يمكن توسيع قائمة الأعمدة المبدئية إذا حُددت قائمة في التنسيق +قائمة (مثال: lsfd -o +DELETED).

-r، --raw

استخدم تنسيق المخرجات الخام.

--notruncate

لا تبتر النص في الأعمدة.

-p, --pid list

يجمع المعلومات للعمليات المحددة فقط. list هي قائمة بمعرفات PID مفصولة بفواصل. انظر أيضاً FILTER EXAMPLES.

-i[4|6], --inet[=4|=6]

اسرد مقابس IPv4 و/أو مقابس IPv6 فقط.

-Q, --filter expression

يطبع فقط الملفات التي تطابق الشرط الممثل في التعبير expression. انظر أيضاً ‎scols-filter(5)‎ و FILTER EXAMPLES.

يمكن استخدام الخيار ‎-Q‎ مع معرف PID (مثلاً: ‎-Q PID==1‎) والخيار ‎-p‎ (مثلاً: ‎-p 1‎) لتحقيق نفس النتيجة، ولكن استخدام الخيار ‎-p‎ أكثر كفاءة بكثير لأنه يعمل في مرحلة معالجة أبكر بكثير من الخيار ‎-Q‎.

-C، --counter لصيقة:‎تعبير_تصفية

عرف عدادًا مخصصًا يُستخدم في مخرجات --summary. ينشئ lsfd عدادًا باسم لصيقة. أثناء جلب المعلومات، يعد lsfd الملفات التي تطابق تعبير_تصفية، ويخزن العدد المحصى في العداد المسمى لصيقة. يُطبق lsfd المرشحات المعرفة بخيارات --filter قبل العد؛ والملفات المستثناة بواسطة المرشحات لا تُعد.

انظر ‎scols-filter(5)‎ حول filter_expr. يجب ألا تتضمن اللصيقة label المحرف { ولا المحرف : . يمكنك تعريف عدادات متعددة بتحديد هذا الخيار عدة مرات. انظر أيضاً COUNTER EXAMPLES.

--summary[=mode]

يتحكم هذا الخيار في أسطر ملخص المخرجات. المعامل الاختياري mode يمكن أن يكون only، أو append، أو never. إذا حُذف المعامل mode، فإنه يكون only مبدئياً.

يُبلغ الملخص عن العدادات. يتكون العداد من وسم وقيمة صحيحة. --counter هو الخيار لتعريف العداد. إذا لم يعرف المستخدم أي عداد، يستخدم lsfd تعريفات العدادات المدمجة مسبقًا (العدادات المبدئية) لإنشاء مخرجات الملخص.

تنبيه: استخدام --summary و --json قد يؤدي لعطب المخرجات. فقط الجمع بين --summary=only و --json هو الصحيح.

--debug-filter

تخلص من بنية البيانات الداخلية للمرشح واخرج. هذا مفيد لمطوري lsfd فقط.

--dump-counters

تخلص من تعريف العدادات المستخدمة في مخرجات --summary.

--hyperlink[=متى]

اطبع المسارات كروابط تشعبية للطرفية. يمكن أن يكون معامل متى الاختياري always أو never أو auto. وإذا حُذف المعامل، فسيُضبط مبدئياً على auto، مما يعني أن الروابط التشعبية ستُستخدم فقط عندما يذهب المخرج إلى طرفية.

-H، --list-columns

يسرد الأعمدة التي يمكن تحديدها بالخيار ‎--output‎. يمكن استخدامه مع ‎--json‎ أو ‎--raw‎ للحصول على القائمة بتنسيق مقروء آلياً.

-h، --help

اعرض نص المساعدة ثم اخرج.

-V، --version

اعرض الإصدار واخرج.

البيئة

LIBSMARTCOLS_DEBUG=all

يُفعّل مخرجات تصحيح أخطاء libsmartcols.

LIBSMARTCOLS_DEBUG_PADDING=on

يستخدم محارف حشو مرئية.

أعمدة المخرجات

لكل عمود نوع. تحاط الأنواع بالعلامتين < و >.

تنبيه: أسماء الأعمدة وأنواعها ليست مستقرة بعد. قد تُغيّر في الإصدارات المستقبلية.

AINODECLASS <سلسلة_نصية>

فئة الـ inode المجهول.

ASSOC <سلسلة_نصية>

الارتباط بين الملف والعملية.

BLKDRV <سلسلة_نصية>

اسم تعريف الجهاز الكتلي الذي حُلل بواسطة /proc/devices.

BPF-MAP.ID <رقم>

معرف خريطة Bpf.

BPF-MAP.TYPE <سلسلة_نصية>

الاسم الناتج عن فك ترميز نوع خريطة bpf.

BPF-MAP.TYPE.RAW <رقم>

نوع خريطة Bpf (خام).

BPF.NAME <سلسلة_نصية>

اسم كائن Bpf.

BPF-PROG.ID <رقم>

معرف برنامج Bpf.

BPF-PROG.TAG <سلسلة_نصية>

وسم برنامج Bpf.

BPF-PROG.TYPE <سلسلة_نصية>

الاسم الذي فُك ترميزه لنوع برنامج bpf.

BPF-PROG.TYPE.RAW <رقم>

نوع برنامج Bpf (خام).

CHRDRV <سلسلة_نصية>

اسم مشغل جهاز محرفي تم حله بواسطة /proc/devices.

COMMAND <سلسلة_نصية>

أمر العملية التي تفتح الملف.

DELETED <منطقي>

إمكانية الوصول من نظام الملفات.

DEV <سلسلة_نصية>

معرف الجهاز الذي يحتوي على الملف.

DEVTYPE <سلسلة_نصية>

نوع الجهاز (blk أو char أو nodev).

ENDPOINTS <سلسلة_نصية>

معلومات نقاط نهاية IPC المتصلة مع fd.

يجمع lsfd نقاط النهاية داخل العمليات التي يفحصها lsfd؛ وقد يفتقد lsfd بعض نقاط النهاية إذا حُصرت العمليات باستخدام الخيار -p.

يعتمد تنسيق العمود على الكائن المرتبط بـ fd:

نوع FIFO, نوع mqueue, مصادر ptmx و pts

PID,COMMAND,ASSOC[-r][-w]

تمثل الأحرف الأخيرة ([-r][-w]) وضع القراءة و/أو الكتابة لنقطة النهاية.

نوع eventfd

PID,COMMAND,ASSOC

UNIX

نفس عمل UNIX-STREAM.

داخل حاوية، قد لا يملأ lsfd عمود ENDPOINTS. يستخدم lsfd الأداة ‎sock_diag(7)‎ لجمع معلومات حول نهايات اتصال UNIX. قد يحد SELinux من استخدام sock_diag داخل الحاوية. يمكنك إزالة هذا القيد بضبط القيمة 1 للمتغير المنطقي virt_sandbox_use_netlink. انظر ‎container_selinux(8)‎ لمزيد من التفاصيل.

UNIX-STREAM

PID,COMMAND,ASSOC[-r?][-w?]

بخصوص الأحرف الأخيرة ([-r?][-w?])، راجع وصف SOCK.SHUTDOWN.

EVENTFD.ID <رقم>

معرف Eventfd.

EVENTPOLL.TFDS <سلسلة_نصية>

واصفات الملفات المستهدفة بواسطة ملف eventpoll.

FD <رقم>

واصف ملف للملف.

FLAGS <سلسلة_نصية>

الأعلام المحددة عند فتح الملف.

FUID <رقم>

رقم معرف المستخدم لمالك الملف.

INET.LADDR <سلسلة_نصية>

عنوان IP المحلي.

INET.RADDR <سلسلة_نصية>

عنوان IP البعيد.

INET6.LADDR <سلسلة_نصية>

عنوان IP6 المحلي.

INET6.RADDR <سلسلة_نصية>

عنوان IP6 البعيد.

INODE <رقم>

رقم العقدة المفهرسة (Inode).

INOTIFY.INODES <سلسلة_نصية>

نسخة مُعقّبة من INOTIFY.INODES.RAW. تنسيق العنصر هو رقم-العقدة-المفهرسة,مصدر-العقدة-المفهرسة.

INOTIFY.INODES.RAW <سلسلة_نصية>

قائمة بالعقد المفهرسة المراقبة. تنسيق العنصر هو رقم-العقدة-المفهرسة,رئيسي-الجهاز:ثانوي-الجهاز.

KNAME <سلسلة_نصية>

اسم الملف الخام المستخرج من /proc/معرّف-العملية/fd/fd أو /proc/معرّف-العملية/map_files/region.

KTHREAD <منطقي>

ما إذا كانت العملية خيط نواة أم لا.

MAJ:MIN <سلسلة_نصية>

معرف الجهاز للملفات الخاصة، أو معرف الجهاز الذي يحتوي الملف.

MAPLEN <رقم>

طول تخطيط الملف (بالصفحات).

MISCDEV <سلسلة_نصية>

اسم جهاز محرفي متنوع تم حله بواسطة /proc/misc.

MNTID <رقم>

معرف الوصل.

MODE <سلسلة_نصية>

وضع الوصول (rwx).

NAME <سلسلة_نصية>

نسخة مُعقّبة من KNAME. وهي تشبه KNAME غالباً.

بعض الملفات لها تنسيقات ومصادر معلومات خاصة:

AF_VSOCK

state=SOCK.STATE type=SOCK.TYPE laddr=VSOCK.LADDR[ raddr=VSOCK.RADDR]

raddr لا يظهر لمقابس الاستماع.

bpf-map

id=BPF-MAP.ID type=BPF-MAP.TYPE[ name=BPF.NAME]

bpf-prog

id=BPF-PROG.ID type=BPF-PROG.TYPE tag= BPF-PROG.TAG [ name=BPF.NAME]

eventpoll

tfds=EVENTPOLL.TFDS

eventfd

id=EVENTFD.ID

inotify

inodes=INOTIFY.INODES

misc:tun

iface=TUN.IFACE[ devnetns=TUN.DEVNETNS][ socknetns=SOCK.NETNS]

NETLINK

protocol=NETLINK.PROTOCOL[ lport=NETLINK.LPORT[ group=NETLINK.GROUPS]]

PACKET

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/fd.

PING

state=SOCK.STATE[ id=PING.ID][ laddr=INET.LADDR [ raddr=INET.RADDR]]

PINGv6

state=SOCK.STATE[ id=PING.ID][ laddr=INET6.LADDR [ raddr=INET6.RADDR]]

ptmx

tty-index=PTMX.TTY-INDEX

يستخرج lsfd المَعلمة PTMX.TTY-INDEX من /proc/معرّف-العملية/fdinfo/fd.

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

signalfd

mask=SIGNALFD.MASK

TCP, TCPv6

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

timerfd

clockid=TIMERFD.CLOCKID[ remaining=TIMERFD.REMAINING [ interval=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

لاحظ أن علامات (deleted) تُزال من هذا العمود. راجع KNAME، أو DELETED، أو XMODE لمعرفة قابلية قراءة الملف من نظام الملفات.

NETLINK.GROUPS <رقم>

مجموعات بث Netlink المتعدد.

NETLINK.LPORT <رقم>

معرف منفذ Netlink المحلي.

NETLINK.PROTOCOL <سلسلة_نصية>

ميفاق Netlink.

NLINK <رقم>

عدد الروابط.

NS.NAME <سلسلة_نصية>

اسم (NS.TYPE:[INODE]) مساحة الأسماء المحددة مع الملف.

NS.TYPE <سلسلة_نصية>

نوع مساحة الأسماء المحددة مع الملف. النوع هو mnt أو cgroup أو uts أو ipc أو user أو pid أو net أو time أو unknown.

OWNER <سلسلة_نصية>

مالك الملف.

PACKET.IFACE <سلسلة_نصية>

اسم الواجهة المرتبطة بمقبس الحزمة (packet socket).

PACKET.PROTOCOL <سلسلة_نصية>

اسم ميفاق L2 المرتبط بمقبس الحزم (مفكوك الترميز).

PACKET.PROTOCOL.RAW <رقم>

رقم ميفاق L2 المرتبط بمقبس الحزم (خام).

PARTITION <سلسلة_نصية>

اسم جهاز كتلي حُلّ بواسطة /proc/partition.

PID <رقم>

معرف العملية (PID) التي تفتح الملف.

PIDFD.COMM <سلسلة_نصية>

أمر العملية المستهدفة بواسطة pidfd.

PIDFD.NSPID <سلسلة_نصية>

قيمة حقل NSpid في /proc/معرّف-العملية/fdinfo/fd الخاص بـ pidfd.

مقتبس من kernel/fork.c في شجرة مصدر لينكس:

إذا كانت مساحات أسماء pid متاحة، فستطبع هذه الدالة أيضًا الـ pid الذي يشير إليه pidfd معين لجميع مساحات أسماء pid المنحدرة بدءًا من مساحة أسماء pid الحالية للمثيل، أي أن حقل Pid والمدخل الأول في حقل NSpid سيكونان متطابقين.

لاحظ أن هذا يختلف عن حقلي Pid و NSpid في /proc/<pid>/status حيث يُعرض Pid و NSpid دائمًا بالنسبة لمساحة أسماء pid الخاصة بمثيل procfs.

PIDFD.PID <رقم>

معرف العملية (PID) المستهدفة بواسطة pidfd.

PING.ID <`number`>

معرف طلب صدى ICMP المستخدم على مقبس PING.

POS <رقم>

موضع الملف.

RAW.PROTOCOL <سلسلة نصية>

اسم ميفاق المقبس الخام (مفكوك الترميز).

Note

نوع بيانات هذا العمود كان <عدد> من الإصدار v2.39 إلى v2.41.

RAW.PROTOCOL.RAW <رقم>

رقم ميفاق المقبس الخام (خام).

RDEV <سلسلة_نصية>

معرف الجهاز (إذا كان ملفًا خاصًا).

SIGNALFD.MASK <سلسلة_نصية>

الإشارات المقنعة.

SIZE <رقم>

حجم الملف.

SOCK.LISTENING <منطقي>

مقبس استماع.

SOCK.NETS <رقم>

فهرس العقدة (inode) الذي يحدد نطاق تسمية الشبكة الذي ينتمي إليه المقبس.

SOCK.PROTONAME <سلسلة_نصية>

اسم الميفاق.

SOCK.SHUTDOWN <سلسلة_نصية>

حالة إغلاق المقبس.

[-r?]

إذا كان الرمز الأول هو r، فإن الاستقبال مسموح به. وإذا كان -، فإن الاستقبال غير مسموح به. وإذا كان ?، فإن الحالة مجهولة.

[-w?]

إذا كان الرمز الثاني هو w، فإن الإرسال مسموح به. وإذا كان -، فإن الإرسال غير مسموح به. وإذا كان ?، فإن الحالة مجهولة.

SOCK.STATE <سلسلة_نصية>

حالة المقبس.

SOCK.TYPE <سلسلة_نصية>

نوع المقبس. النوع هنا يعني المعامل الثاني لاستدعاء النظام socket:
•stream
•dgram
•raw
•rdm
•seqpacket
•dccp
•packet

SOURCE <سلسلة_نصية>

نظام الملفات، أو القسم، أو الجهاز الذي يحتوي على الملف. بالنسبة للارتباط الذي تظهر فيه القيمة ERROR في عمود TYPE، يملأ 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 البعيد.

TID <رقم>

معرف الخيط (Thread ID) للعملية التي تفتح الملف.

TIMERFD.CLOCKID <سلسلة_نصية>

Clockid.

TIMERFD.INTERVAL <رقم>

الفترة.

TIMERFD.REMAINING <رقم>

الوقت المتبقي.

PTMX.TTY-INDEX <رقم>

فهرس TTY للطرف المقابل.

TUN.DEVNETNS <عدد>

فهرس العقدة (inode) الذي يحدد نطاق تسمية الشبكة الذي ينتمي إليه الجهاز.

TUN.IFACE <سلسلة_نصية>

واجهة الشبكة الموجودة خلف جهاز tun.

TYPE <سلسلة_نصية>

النسخة المجهزة من STTYPE. وهي مطابقة لـ STTYPE مع استثناءات. بالنسبة لـ SOCK، تُطبع قيمة SOCK.PROTONAME. وبالنسبة لـ UNKN، تُطبع قيمة AINODECLASS إذا كان SOURCE هو anon_inodefs.

إذا واجه lsfd خطأ عند استدعاء نظام لمعرفة معلومات عن واصف ملف مستهدف، يملأ lsfd هذا العمود بالقيمة ERROR.

UDP.LADDR <سلسلة_نصية>

عنوان IP المحلي ومنفذ UDP المحلي.

UDP.LPORT <رقم>

منفذ UDP المحلي.

UDP.RADDR <سلسلة_نصية>

عنوان IP البعيد ومنفذ UDP البعيد.

UDP.RPORT <رقم>

منفذ UDP البعيد.

UDPLITE.LADDR <سلسلة_نصية>

عنوان IP المحلي ومنفذ UDPLite المحلي.

UDPLITE.LPORT <رقم>

منفذ UDP المحلي.

UDPLITE.RADDR <سلسلة_نصية>

عنوان IP البعيد ومنفذ UDPLite البعيد.

UDPLITE.RPORT <رقم>

منفذ UDP البعيد.

UID <رقم>

رقم معرف المستخدم.

UNIX.IPEER < عدد >

رقم Inode للقرين في مقبس نطاق UNIX.

إذا كان lsfd يعمل داخل حاوية، فقد لا يملأ عمود UNIX.IPEER. انظر وصف UNIX في عمود ENDPOINTS لمزيد من التفاصيل.

UNIX.PATH <سلسلة_نصية>

مسار نظام الملفات لمقبس نطاق UNIX.

USER <سلسلة_نصية>

مستخدم العملية.

VSOCK.LADDR <سلسلة_نصية>, VSOCK.RADDR <سلسلة_نصية>

عنوان VSOCK المحلي. تنسيق العنصر هو VSOCK.LCID:VSOCK.LPORT.

سيُجرى فك ترميز معرفات سياق (CIDs) المعروفة: “*”، أو “hypervisor”، أو “local”، أو “host”. كما سيُجرى فك ترميز المنافذ المعروفة: “*”.

VSOCK.LCID <رقم>, VSOCK.RCID <رقم>

معرفات سياق VSOCK المحلية والبعيدة.

VSOCK.LPORT <رقم>, VSOCK.RPORT <رقم>

منافذ VSOCK المحلية والبعيدة.

XMODE <سلسلة_نصية>

النسخة الموسعة من MODE. قد يكبر هذا العمود؛ حيث يمكن إلحاق أحرف جديدة بـ XMODE عندما يدعم lsfd حالة جديدة لواصفات الملفات و/أو تخطيطات الذاكرة.

[-r]

مفتوح أو مخطط للقراءة. هذا موجود أيضًا في MODE.

[-w]

فُتح أو خُطط للكتابة. هذا موجود أيضاً في MODE.

[-x]

خُطط لتنفيذ الكود. هذا موجود أيضاً في MODE.

[-D]

حُذف من نظام ملفات. انظر أيضاً DELETED.

[-Ll]

أُقفل أو أُجّر. يمثل l قراءة، أو قفلاً مشتركاً أو إيجار قراءة. ويمثل L كتابة أو قفلاً حصرياً أو إيجار كتابة. إذا أُخذت أقفال أو إيجارات القراءة/المشتركة والكتابة/الحصرية معاً بواسطة واصف ملف، فسيُستخدم L كعلامة.

[-m]

متعدد الإرسال (Multiplexed). إذا كان واصف الملف مستهدفاً بواسطة ملف eventpoll أو استدعاءات النظام الكلاسيكية لتعدد الإرسال (‎select(2)‎، و ‎pselect(2)‎، و ‎poll(2)‎، و ‎ppoll(2)‎)، تُضبط علامة البت هذه. لاحظ أنه إذا قوطع استدعاء للنظام الكلاسيكي، فقد يفشل lsfd في وضع علامة m على واصفات الملفات المراقبة بواسطة ذلك الاستدعاء. انظر ‎restart_syscall(2)‎.

أمثلة المرشحات

يحتوي lsfd على خيارات قليلة للترشيح. في معظم الحالات، ما يجب معرفته هو خيار -Q (أو --filter). عند دمجه مع خيار -o (أو --output)، يمكنك تخصيص المخرجات كما تريد.

اسرد الملفات المرتبطة بالعمليات ذات المعرفات PID 1 و PID 2:

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

افعل الشيء نفسه بطريقة بديلة:

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

افعل الشيء نفسه بطريقة أكثر كفاءة:

# lsfd --pid 1,2

يمكن استخدام المسافات البيضاء بدلاً من الفاصلة:

# lsfd --pid '1 2'

استخدم pidof(1) لسرد الملفات المرتبطة بـ "firefox":

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

اسرد واصف الملف الأول الذي فتحته العملية ذات المعرف PID 1:

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

افعل الشيء نفسه بطريقة بديلة:

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

اسرد جميع الملفات التنفيذية التي تعمل:

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

افعل الشيء نفسه بطريقة بديلة:

# lsfd -Q 'ASSOC eq "exe"'

افعل الشيء نفسه ولكن اطبع أسماء الملفات فقط:

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

اسرد الملفات المحذوفة المرتبطة بالعمليات:

# lsfd -Q 'DELETED'

اسرد الملفات غير العادية:

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

اسرد الأجهزة الكتلية:

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

افعل الشيء نفسه مع عمود TYPE:

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

اسرد الملفات التي تتضمن دليل "dconf" في أسمائها:

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

اسرد الملفات المفتوحة في حاسوب QEMU افتراضي:

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

اسرد ملفات timerfd المنتهية خلال 0.5 ثانية:

# lsfd -Q '(TIMERFD.remaining < 0.5) and (TIMERFD.remaining > 0.0)'

اسرد العمليات التي تتواصل عبر مقابس unix stream:

# lsfd  -Q 'TYPE == "UNIX-STREAM" && UNIX.PATH =~ ".+"' -oUNIX.PATH,PID,COMMAND,FD,SOCK.STATE,ENDPOINTS

اسرد العمليات التي تتواصل عبر مقبس unix stream محدد:

# lsfd  -Q 'TYPE == "UNIX-STREAM" && UNIX.PATH == "@/tmp/.X11-unix/X0"' -oUNIX.PATH,PID,COMMAND,FD,SOCK.STATE,ENDPOINTS

أمثلة العدادات

بلّغ عن أعداد واصفات مقابس netlink وواصفات مقابس unix:

# lsfd --summary=only \
        -C 'netlink sockets':'(NAME =~ "NETLINK:.*")' \
        -C 'unix sockets':'(NAME =~ "UNIX:.*")'
VALUE COUNTER
   57 netlink sockets
 1552 unix sockets

افعل الشيء نفسه ولكن مع الطباعة بتنسيق JSON:

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

انظر أيضاً

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.

التوفر

الأمر lsfd جزء من حزمة util-linux التي يمكن تنزيلها من أرشيف نواة لينكس https://www.kernel.org/pub/linux/utils/util-linux/.

2026-05-18 util-linux 2.42.1