আমি কীভাবে বলব যে আমাকে কেবল শারীরিক ফাইলের তালিকা তৈরি করতে হবে (সকেট নয়, টিসিপি / আইপি সংযোগ নয়, কেবল শারীরিক ফাইল)?
আমি কীভাবে বলব যে আমাকে কেবল শারীরিক ফাইলের তালিকা তৈরি করতে হবে (সকেট নয়, টিসিপি / আইপি সংযোগ নয়, কেবল শারীরিক ফাইল)?
উত্তর:
কিছু ম্যান পৃষ্ঠাগুলি সন্ধান করার পরে, আপনি কমান্ডটি ব্যবহার করেছেন বলে মনে হয়:
sudo lsof /
এটি / ডিরেক্টরিতে সমস্ত উন্মুক্ত ফাইল তালিকাভুক্ত করবে, যা লিনাক্স ফাইল সিস্টেমের সমস্ত কিছু। কেবল পরীক্ষা করা হয়েছে এবং এটি কেবল আরইজি এবং ডিআইআর দেখায়।
আরও উদাহরণ:
lsof -a -d 0-999 -c <command name> /
lsof -a -d 0-999 -p <pid> /
0-999 এটিকে কোনও ফাইল বর্ণনাকারী নম্বর সহ ফাইলগুলিতে সীমাবদ্ধ করে।
/
একটি স্যুইচ থাকতে পারে, তবে আপনি যদি গ্রেপের মাধ্যমে এটি ফিল্টার করতে আপত্তি না করেন তবে আপনি sudo lsof | egrep 'REG|DIR'
"শারীরিক ফাইল" ধরে ধরে ধরে নিতে পারেন , আপনি নিয়মিত ফাইল এবং ডিরেক্টরি বোঝাতে চাইছেন।
man lsof
সেই কলামে থাকতে পারে এমন সমস্ত ধরণের জন্য ম্যান পেজের OUTPUT :: TYPE বিভাগটি দেখুন ।
এটিই আমি করেছি যা আমার পক্ষে নিখুঁতভাবে কাজ করেছে:
lsof -F n -p 12501 | grep ^n/ | cut -c2- | sort -u
-F n
বিকল্প lsof
এটি শুধুমাত্র প্রিন্ট আউট করতে হবে নাম খোলা ফাইল। প্রতিটি আউটপুট লাইন একটি খোলা ফাইলের নাম আছে যা একক অক্ষর দিয়ে শুরু করবো এন দ্বারা অবিলম্বে অনুসৃত নাম । নিয়মিত ফাইলগুলি সর্বদা ফাইলের পরম, সম্পূর্ণ-যোগ্য নাম হবে। grep ^n/
একটি নাম একটি দিয়ে শুরু সঙ্গে কেবলমাত্র সেই লাইন নির্বাচন হবে /
(একটি পরম, সম্পূর্ণরূপে যোগ্যতাসম্পন্ন ফাইলের নাম, যার অর্থ); এভাবে খোলা বন্দর, সকেট, পাইপ (যেমন ফিফস) ইত্যাদি cut -c2-
দূর করে The প্রথম অক্ষরটি n
কেবল ফাইলের নাম বাদ দেবে। তারপরে অবশেষে, sort -u
কোনও ডুপ্লিকেট এন্ট্রি বাদ দেবে।
একটি সতর্কতা, এর মধ্যে এমন ফাইল অন্তর্ভুক্ত থাকবে যেগুলি নিয়মিত নয় যতক্ষণ না তাদের নামটি শুরু হয় /
। উদাহরণস্বরূপ, নিম্নলিখিতগুলির সাথে শুরু হওয়া সমস্ত ফাইল অন্তর্ভুক্ত থাকবে:
এবং আপনার ওএসের উপর নির্ভর করে অন্যরাও থাকতে পারেন।