এই গাইডটি ব্যাখ্যা করবে কিভাবে lsof কমান্ড ব্যবহার করে লিনাক্সে ওপেন ফাইল, সকেট এবং পাইপের লিস্ট পাবেন।
lsof হচ্ছে একটি খুব পাওয়ারফুল লিনাক্স কমান্ড লাইন টুল। এটি প্রায় সব লিনাক্স ডিস্ট্রিবিউশনের সাথে শিপ করে এবং আপনাকে ওপেন ফাইল, সকেট, এবং পাইপের লিস্ট দেয়।
টুলটির সবচেয়ে বেসিক ব্যবহার হচ্ছে কমান্ড নাম টাইপ করে রিটার্ন কী চাপা, # lsof। এই কমান্ড একটি খুব লম্বা লিস্ট রিটার্ন করবে। এই কমান্ড রান করার একটি ভালো পদ্ধতি হচ্ছে less কমান্ডের সাথে — # lsof | less

বড় করার জন্য ক্লিক করুন
lsof কে less-এর সাথে ব্যবহার করলে আপনি আউটপুট আপ-ডাউন স্ক্রোল করতে পারবেন, যা পড়া সহজ করে তোলে। অবশ্য, কমান্ডটি শুধু জেনারেল আউটপুট দেওয়ার চেয়ে অনেক বেশি করতে পারে। এটি ট্রাবলশুটিং-এ লাইফ সেভার হতে পারে।
উদাহরণস্বরূপ, আপনি lsof-কে বলতে পারেন একটি নির্দিষ্ট প্রসেস দ্বারা ওপেন করা সকল ফাইল লিস্ট করতে। প্রথমে প্রসেস আইডি পান # ps -ef কমান্ড দিয়ে। তারপর কমান্ড রান করুন # lsof -p 30646। -p står করে প্রসেস আইডি, এবং 30646 একটি উদাহরণ প্রসেস আইডি যা আপনাকে আপনার প্রসেস আইডি দিয়ে রিপ্লেস করতে হবে।

বড় করার জন্য ক্লিক করুন
আপনি আপনার সিস্টেমের একটি নির্দিষ্ট অংশ থেকে সকল ওপেন ফাইল, সকেট ইত্যাদি সার্চও করতে পারেন। তাই, আপনি যদি /mnt ডিরেক্টরির সব ফাইল দেখতে চান, কমান্ড রান করুন # lsof /mnt। অথবা, আপনি যদি একটি নির্দিষ্ট কমান্ড দ্বারা ওপেন করা সকল প্রসেস খুঁজতে চান, একটি লাইন এক্সিকিউট করুন # lsof -c mysql, যেখানে -c står করে "কমান্ড", এবং আপনি mysql-কে আপনার কাঙ্খিত কমান্ড দিয়ে রিপ্লেস করুন যার ফাইলগুলো চেক করতে চান:

বড় করার জন্য ক্লিক করুন
লিনাক্স পোর্ট, সকেট, এবং ডিভাইসকে ফাইল হিসেবে বিবেচনা করে। আপনি একটি নির্দিষ্ট প্রোটোকল বা পোর্ট ব্যবহার করে সকল কানেকশনও সার্চ করতে পারেন। আপনার মেশিনে চলমান সকল SSH কানেকশন দেখতে কমান্ড ব্যবহার করুন # lsof -i :22। অথবা আপনি যদি আপনার কম্পিউটারের সকল TCP কানেকশন দেখতে চান, কমান্ড রান করুন # lsof -i TCP:

বড় করার জন্য ক্লিক করুন
lsof একটি খুব স্মার্ট কমান্ড যার আরও অনেক অপশন আছে। টুলটির ম্যান পেজ চেক করুন আরও ইনফোর্মেশনের জন্য কিভাবে এর ব্যবহার ম্যাক্সিমাইজ করবেন।