كيفية استخدام Linux lsof Command

موجه شل على لينكس

فاطماواتي أحمد زينوري / Shutterstock.com



إذا كان كل شيء في Linux عبارة عن ملف ، فيجب أن يكون هناك ما هو أكثر من مجرد ملفات على محرك الأقراص الثابتة. سيوضح لك هذا البرنامج التعليمي كيفية استخدام lsof لمشاهدة جميع الأجهزة والعمليات الأخرى التي يتم التعامل معها كملفات.

في نظام Linux ، كل شيء عبارة عن ملف

العبارة المقتبسة في كثير من الأحيان كل شيء في Linux عبارة عن ملف نوعا ما صحيح. الملف عبارة عن مجموعة من البايتات. عندما يتم قراءتها إلى برنامج أو إرسالها إلى طابعة ، يبدو أنهم انشاء دفق بايت. عندما يتم كتابتها ل، أنهم قبول دفق بايت.





تقبل العديد من مكونات النظام الأخرى أو تنشئ تدفقات من البايتات ، مثل لوحات المفاتيح ووصلات المقابس والطابعات وعمليات الاتصال. نظرًا لأنهم يقبلون أو ينشئون أو يقبلون وينشئون تدفقات البايت ، فيمكن التعامل مع هذه الأجهزة - بمستوى منخفض جدًا - كما لو كانت ملفات.

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



الإعلانات

ملفات البيانات والبرامج الموجودة على القرص الثابت هي ملفات نظام ملفات قديمة عادية. يمكننا استخدام ls الأمر لإدراجها ومعرفة بعض التفاصيل عنها.

كيف نتعرف على جميع العمليات والأجهزة الأخرى التي يتم التعامل معها كما لو كانت ملفات؟ نستخدم lsof يأمر. هذا يسرد الملفات المفتوحة في النظام. أي أنه يسرد أي شيء يتم التعامل معه كما لو كان ملفًا.

ذات صلة: ماذا يعني 'كل شيء هو ملف' في لينكس؟



الأمر lsof

العديد من العمليات أو الأجهزة التي lsof يمكنك الإبلاغ عن الانتماء إلى الجذر أو تم تشغيله بواسطة الجذر ، لذلك ستحتاج إلى استخدام sudo الأمر مع lsof.

ونظرًا لأن هذه القائمة ستكون طويلة جدًا ، فسنقوم بتمريرها عبر less .

lsof

قبل lsof يظهر الإخراج قد يرى مستخدمو جنوم رسالة تحذير في نافذة المحطة.

lsof

lsof يحاول معالجة كافة أنظمة الملفات المثبتة. ظهرت رسالة التحذير هذه بسبب /proc واجه نظام الملفات الافتراضي جنوم (GVFS). هذه حالة خاصة لـ نظام الملفات في مساحة المستخدم (فتيل). إنه بمثابة جسر بين جنوم وواجهات برمجة التطبيقات والنواة. لا أحد - ولا حتى الجذر - يمكنه الوصول إلى أحد أنظمة الملفات هذه ، باستثناء المالك الذي قام بتثبيته (في هذه الحالة ، جنوم). يمكنك تجاهل هذا التحذير.

الإعلانات

الإخراج من lsof واسع جدا. الأعمدة الموجودة في أقصى اليسار هي:

الأعمدة الموجودة في أقصى اليمين هي:

أعمدة lsof

لا تنطبق كافة الأعمدة على كل نوع من أنواع الملفات المفتوحة. من الطبيعي أن يكون بعضها فارغًا.

  • يأمر : اسم الأمر المرتبط بالعملية التي فتحت الملف.
  • PID : رقم تعريف العملية للعملية التي فتحت الملف.
  • زمن : رقم تعريف المهمة (الخيط). العمود الفارغ يعني أنها ليست مهمة ؛ إنها عملية.
  • مستخدم : معرف المستخدم أو اسم المستخدم الذي تنتمي إليه العملية ، أو معرف المستخدم أو تسجيل الدخول للشخص الذي يملك الدليل في lsof حيث kern.log يجد معلومات حول العملية.
  • فد : يعرض واصف الملف للملف. واصفات الملف موصوفة أدناه.
  • نوع : نوع العقدة المرتبطة بالملف. أنواع الملاحظات موصوفة أدناه.
  • جهاز : يحتوي إما على أرقام الجهاز ، مفصولة بفواصل ، لحرف خاص ، أو ملف خاص ، أو عادي ، أو دليل ، أو ملف NFS ، أو عنوان مرجعي kernel يحدد الملف. قد يُظهر أيضًا العنوان الأساسي أو اسم الجهاز لجهاز مقبس Linux AX.25.
  • الحجم / إيقاف : يعرض حجم الملف أو ملف إزاحة بالبايت.
  • العقدة : يعرض رقم عقدة ملف محلي ، أو رقم إدخال ملف NFS في مضيف الخادم ، أو نوع بروتوكول الإنترنت. قد يعرض STR لدفق أو IRQ أو رقم إدخال لجهاز مقبس Linux AX.25.
  • اسم : يعرض اسم نقطة التحميل ونظام الملفات الذي يوجد عليه الملف.

عمود FD

يمكن أن يكون واصف الملف في عمود FD أحد الخيارات العديدة ؛ صفحة الرجل قم بإدراجهم جميعًا .

يمكن أن يتكون إدخال عمود FD من ثلاثة أجزاء: واصف ملف ، وحرف نمط ، وحرف قفل. بعض واصفات الملفات الشائعة هي:

  • cwd : دليل العمل الحالي.
  • يخطئ : خطأ في معلومات FD (انظر عمود الاسم).
  • ltx : نص مكتبة مشتركة (كود وبيانات).
  • م 86 : ملف تعيين DOS دمج.
  • انا انا : ملف الذاكرة المعين.
  • mmap : جهاز الذاكرة المعين.
  • pd : دليل الوالدين.
  • rtd : دليل الجذر.
  • رسالة قصيرة : نص البرنامج (كود وبيانات)
  • رقم يمثل واصف الملف.

يمكن أن يكون حرف الوضع واحدًا مما يلي:

  • ص : الوصول للقراءة.
  • في : الوصول للكتابة.
  • ش : الوصول للقراءة والكتابة.
  • '': حرف مسافة ، إذا كان الوضع غير معروف ولا يوجد حرف قفل.
  • - : الوضع غير معروف وهناك شخصية قفل.

يمكن أن يكون حرف القفل واحدًا مما يلي:

  • ص : قراءة القفل على جزء من الملف.
  • ص : قراءة القفل على الملف بأكمله.
  • في : اكتب القفل على جزء من الملف.
  • في : اكتب القفل على الملف بأكمله.
  • ش : قراءة وكتابة قفل بأي طول.
  • يو : نوع قفل غير معروف.
  • ': حرف فضاء. بدون قفل.

عمود النوع

هناك أكثر من 70 إدخالات التي قد تظهر في عمود النوع. بعض الإدخالات الشائعة التي ستراها هي:

  • ريج : ملف نظام ملفات عادي.
  • لك : الدليل.
  • FIFO : أول ما يصل أولا.
  • CHR : ملف خاص بالأحرف.
  • BLK : منع ملف خاص.
  • إنت : مقبس إنترنت.
  • يونكس : مقبس مجال UNIX

راجع العمليات التي فتحت ملفًا

للاطلاع على العمليات التي فتحت ملفًا معينًا ، قم بتوفير اسم الملف كمعامل لـ lsof. على سبيل المثال ، لمشاهدة العمليات التي فتحت rsyslogd ملف ، استخدم هذا الأمر:

syslog

lsof يستجيب من خلال عرض العملية المفردة ، +D التي بدأها المستخدم /var/log/.

انظر كل الملفات المفتوحة من دليل

لرؤية الملفات التي تم فتحها من دليل ، والعمليات التي فتحتها ، مرر الدليل إلى lsof كمعامل. يجب عليك استخدام /home (الدليل) الخيار.

الإعلانات

لمشاهدة كافة الملفات المفتوحة في /home الدليل ، استخدم هذا الأمر:

-c

lsof يستجيب بقائمة بجميع الملفات المفتوحة في هذا الدليل.

لمشاهدة كافة الملفات التي تم فتحها من lsof الدليل ، استخدم الأمر التالي:

-u

تم فتح الملفات من ^ يتم عرض الدليل. لاحظ أنه مع وجود أوصاف أقصر في بعض الأعمدة ، تكون القائمة بأكملها أضيق.

سرد الملفات المفتوحة من خلال عملية

لمشاهدة الملفات التي تم فتحها بواسطة عملية معينة ، استخدم -u (الأمر) الخيار. لاحظ أنه يمكنك توفير أكثر من مصطلح بحث واحد لـ ^ ذات مرة.

/home

الإعلانات

-p يوفر قائمة بالملفات التي تم فتحها بواسطة أي من العمليات المتوفرة في سطر الأوامر.

انظر الملفات المفتوحة من قبل المستخدم

لقصر العرض على الملفات التي تم فتحها بواسطة مستخدم معين ، استخدم -t (المستخدم) الخيار. في هذا المثال ، سنلقي نظرة على الملفات التي تم فتحها بواسطة عمليات مملوكة أو تم إطلاقها نيابة عن Mary.

lsof

تم فتح جميع الملفات المدرجة نيابة عن المستخدم Mary. يتضمن ذلك الملفات التي تم فتحها بواسطة بيئة سطح المكتب ، على سبيل المثال ، أو ببساطة نتيجة تسجيل ماري الدخول.

باستثناء الملفات التي فتحها المستخدم

لاستبعاد الملفات التي تم فتحها من قبل المستخدم ، استخدم lsof المشغل أو العامل. يؤدي استبعاد المستخدمين من القائمة إلى تسهيل العثور على المعلومات التي تهمك. يجب استخدام lsof الخيار كما كان من قبل ، وأضف -a حرف في بداية اسم المستخدم.

-a

هذه المرة ، قائمة +|-r لا يتضمن الدليل أيًا من الملفات التي تم فتحها بواسطة المستخدم Mary.

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

لسرد الملفات التي تم فتحها بواسطة عملية معينة ، استخدم lsof (عملية) الخيار وتوفير معرف العملية كمعامل.

+r

الإعلانات

يتم سرد كافة الملفات التي تم فتحها بواسطة معرّف العملية الذي قدمته لك.

سرد معرّفات العمليات التي فتحت حقلاً

لمشاهدة معرفات العمليات للعمليات التي فتحت ملفًا معينًا ، استخدم -r (مقتضب) الخيار وتوفير اسم الملف في سطر الأوامر.

lsof

يتم عرض معرفات العملية في قائمة بسيطة.

استخدم عمليات البحث 'و' و 'أو'

لنقوم بسرد الملفات التي تم فتحها بواسطة المستخدم Mary ، والتي تتعلق بعمليات SSH. نعلم أنه يمكننا توفير أكثر من عنصر بحث واحد في سطر الأوامر ، لذلك يجب أن يكون هذا سهلاً.

lsof

فلنلقِ الآن نظرة على ناتج -r. هذا لا يبدو صحيحا. هناك إدخالات في الإخراج بدأها الجذر.

هذا ليس ما كنا نتوقعه. ماذا حدث؟

عند تقديم مصطلحات بحث متعددة +r سيعيد أي ملف يطابق مصطلح البحث الأول أو مصطلح البحث الثاني ، وما إلى ذلك. بمعنى آخر ، يقوم بإجراء بحث OR.

لصنع -i قم بإجراء بحث AND ، استخدم -p (و) الخيار. هذا يعني أن الملفات الوحيدة التي سيتم إدراجها ستكون تلك التي تطابق مصطلح البحث الأول ، و مصطلح البحث الثاني ، وما إلى ذلك.

دعونا نحاول ذلك مرة أخرى ونستخدم -a اختيار.

-c

الآن كل ملف في القائمة هو ملف تم فتحه بواسطة ماري أو بالنيابة عنها ، ويرتبط بأمر SSH.

تحديث العرض تلقائيًا

يمكننا استخدام ssh (كرر) خيار وضع lsof في وضع التكرار. يمكن تطبيق خيار التكرار بطريقتين ، إما : أو lsof. يجب أيضًا إضافة عدد الثواني التي نريدها lsof للانتظار قبل تحديث العرض.

الإعلانات

استخدام خيار التكرار في أيٍّ من التنسيقين يجعل lsof عرض النتائج كالمعتاد ، لكنها تضيف خطًا متقطعًا إلى أسفل الشاشة. ينتظر عدد الثواني المتوفرة في سطر الأوامر ثم يقوم بتحديث العرض بمجموعة جديدة من النتائج.

باستخدام lsof الخيار سيستمر هذا حتى تضغط على Ctrl + C. باستخدام

sudo lsof | less
تنسيق ، سيستمر حتى لا توجد نتائج لعرضها ، أو حتى تضغط على Ctrl + C.

lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs Output information may be incomplete.

لاحظ الخط المتقطع أسفل القائمة. هذا يفصل كل عرض جديد للبيانات عند تحديث الإخراج.

عرض الملفات المرتبطة باتصالات الإنترنت

ال

sudo lsof /var/log/kern.log
يسمح لك خيار (الإنترنت) بمشاهدة الملفات المفتوحة من خلال العمليات المرتبطة باتصالات الشبكة والإنترنت.

sudo lsof +D /var/log/

يتم عرض جميع الملفات التي تم فتحها بواسطة اتصالات الشبكة والإنترنت.

عرض الملفات المرتبطة باتصالات الإنترنت حسب معرف العملية

لمشاهدة الملفات المفتوحة عن طريق اتصالات الإنترنت المرتبطة بمعرف عملية معين ، أضف

sudo lsof +D /home
الخيار و
sudo lsof -c ssh -c init
اختيار.

الإعلانات

نحن هنا نبحث عن الملفات التي تم فتحها عن طريق اتصال الإنترنت أو الشبكة ، من خلال عملية بمعرف 606.

sudo lsof -u mary

يتم عرض جميع الملفات التي تم فتحها بواسطة معرف العملية 606 والمرتبطة باتصالات الإنترنت أو الشبكة.

عرض الملفات المرتبطة باتصالات وأوامر الإنترنت

يمكننا استخدام

sudo lsof +D /home -u ^mary
(الأمر) للبحث عن الملفات التي تم فتحها بواسطة عمليات محددة. للبحث عن الملفات التي تم فتحها عن طريق الإنترنت أو اتصالات الشبكة المرتبطة بـ
sudo lsof - p 4610
العملية ، استخدم الأمر التالي:

sudo lsof -t /usr/share/mime/mime.cache

يتم سرد جميع الملفات المفتوحة بسبب عمليات ssh في الإخراج.

عرض الملفات المرتبطة باتصالات ومنافذ الإنترنت

يمكننا أن نجعل

sudo lsof -u mary -c ssh
تقرير عن الملفات التي تم فتحها عن طريق الإنترنت أو اتصالات الشبكة على منفذ معين. للقيام بذلك ، نستخدم
sudo lsof -u mary -c ssh -a
متبوعًا برقم المنفذ.

الإعلانات

هنا نطلب

sudo lsof -u mary -c ssh -a -r5
لسرد الملفات التي تم فتحها عن طريق الشبكة أو اتصالات الإنترنت باستخدام المنفذ 22.

lsof -i

تم فتح جميع الملفات المدرجة من خلال العمليات المرتبطة بالمنفذ 22 (وهو المنفذ الافتراضي لاتصالات SSH).

عرض الملفات المرتبطة باتصالات وبروتوكولات الإنترنت

يمكننا أن نطلب

sudo lsof -i -a -p 606
لإظهار الملفات التي تم فتحها من خلال العمليات المرتبطة باتصالات الشبكة والإنترنت ، والتي تستخدم بروتوكولًا محددًا. يمكننا الاختيار من بين TCP و UDP و SMTP. دعونا نستخدم بروتوكول TCP ونرى ما نحصل عليه.

lsof -i -a -c ssh

الملفات الوحيدة المدرجة هي تلك التي تم فتحها بواسطة العمليات التي تستخدم بروتوكول TCP.

لقد خدشنا السطح فقط

يُعد هذا أساسًا جيدًا في بعض حالات الاستخدام الشائعة لـ

lsof -i :22
، ولكن هناك الكثير من ذلك. فقط ما هو مقدار ما يمكن الحكم عليه من خلال حقيقة أن صفحة الدليل يزيد طولها عن 2800 سطر.

ال

sudo lsof -i tcp
يمكن استخدام الأمر للبحث بشكل أعمق في طبقات الملفات المفتوحة والملفات الزائفة. لقد قدمنا ​​خريطة تخطيطية ؛ الأطلس في صفحة الرجل .

أوامر لينكس
الملفات قطران · الكهروضوئية · قط · تاك · chmod · سيطرة · فرق · سيد · مع · رجل · Pushd · popd · fsck · اختبار · فيما يليها · فد · باندوك · قرص مضغوط · المسار $ · awk · انضم · جي ق · يطوى · فريد · جورنال سي تي ال · ذيل · حالة · ls · fstab · رما - طرد - قذف · أقل · chgrp · تشاون · مراجعة · نظرة · سلاسل · نوع · إعادة تسمية · أزيز · بفك · تتعدد · أومونت · تثبيت · fdisk · مكفس · جمهورية مقدونيا · rmdir · رسينك · مدافع · gpg · نحن · نانو · مكدير · ال · ln · تصحيح · يتحول · rclone · أجاد · SRM
العمليات الاسم المستعار · شاشة · أعلى · لطيف · رائع · تقدم · دعامة · النظام · تمكس · chsh · التاريخ · في · حزمة · مجانا · التي · dmesg · usermod · ملاحظة · الجذور · xargs · tty · الخنصر · lsof · vmstat · نفذ الوقت · حائط · نعم · قتل · نايم · سودو · له · زمن · المجموعة · usermod · مجموعات · lshw · اغلق · اعادة التشغيل · توقف · انقطاع التيار الكهربائي · passwd · lscpu · كرونتاب · تاريخ · bg · fg
الشبكات netstat · بينغ · مسار التتبع · IP · ss · الذي هو · fail2ban · bmon · أنت · اصبع اليد · nmap · بروتوكول نقل الملفات · لفة · wget · من الذى · من أنا · في · iptables · ssh-كجن · ufw

ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين

اقرأ التالي
  • & [رسقوو] ؛ Cyber ​​Monday 2021: أفضل العروض التقنية
  • & [رسقوو] ؛ Cyber ​​Monday 2021: أفضل عروض Apple
  • & [رسقوو] ؛ كيفية البحث عن ملف Spotify 2021 الخاص بك
  • & [رسقوو] ؛ مجلد الكمبيوتر هو 40: كيف أنشأت شركة Xerox Star سطح المكتب
  • & [رسقوو] ؛ 5 مواقع ويب يجب على كل مستخدم Linux وضع إشارة مرجعية عليها
  • & [رسقوو] ؛ الدالات مقابل الصيغ في Microsoft Excel: ما الفرق؟
صورة الملف الشخصي لـ Dave McKay ديف مكاي
استخدم Dave McKay أجهزة الكمبيوتر لأول مرة عندما كان الشريط الورقي المثقوب رائجًا ، وهو يقوم بالبرمجة منذ ذلك الحين. بعد أكثر من 30 عامًا في صناعة تكنولوجيا المعلومات ، أصبح الآن صحفيًا متخصصًا في مجال التكنولوجيا. خلال مسيرته المهنية ، عمل كمبرمج مستقل ، ومدير فريق تطوير برمجيات دولي ، ومدير مشروع خدمات تكنولوجيا المعلومات ، ومؤخراً كمسؤول حماية البيانات. تم نشر كتاباته على موقع howtogeek.com و cloudavvyit.com و itenterpriser.com و opensource.com. ديف هو مبشر لينكس ومدافع مفتوح المصدر.
اقرأ السيرة الذاتية الكاملة

مقالات مثيرة للاهتمام