আমি সবচেয়ে সঠিক পদ্ধতি সম্পর্কে অবগত যাচ্ছি lstat () সিস্টেম কলের আউটপুট ব্যবহার করা। বিশেষত, st_dev ক্ষেত্র। একটি কমান্ড লাইন ইউটিলিটি, স্ট্যাট (1) রয়েছে যা এই তথ্যটি দেখতে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, আমার ল্যাপটপে "স্ট্যাট / ইত্যাদি / ইস্যু" এর আউটপুট:
File: ‘/etc/issue’
Size: 65 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 1610916043 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
তৃতীয় লাইনটি দেখুন, প্রথম ক্ষেত্র, "ডিভাইস"। এখানে এটি 801 ঘন্টা তালিকাবদ্ধ। এই মানটিকে দুটি বাইট, 8 এবং 1 এ বিভক্ত করা যেতে পারে প্রথম বাইটটি প্রধান সংখ্যা হিসাবে পরিচিত, দ্বিতীয় বাইটটি গৌণ সংখ্যা। সুতরাং, পরবর্তী পদক্ষেপটি হ'ল বড় কোন ডিভাইসটি 1, কোনও ডিভাইসটি নির্ধারণ করা হয়
আমি পরামর্শ / প্রকোপ / পার্টিশনগুলি দ্রুততম হিসাবে খুঁজে পাই। আমার ক্ষেত্রে, / proc / পার্টিশনের বিষয়বস্তু রয়েছে:
major minor #blocks name
8 16 234431064 sdb
8 17 33554432 sdb1
8 18 200875608 sdb2
8 0 500107608 sda
8 1 500106584 sda1
এটি আউটপুট থেকে বরং স্পষ্ট যে প্রধান 8, গৌণ 1 এসডিএ 1। আমরা একটি ls -l / dev / sda1 দিয়ে এটি নিশ্চিত করতে পারি
brw-rw---- 1 root disk 8, 1 May 8 05:33 /dev/sda1
ডেটস্ট্যাম্পের আগে 8, 1 টি লক্ষ্য করুন।
এটি বুঝতে / মনে রাখা গুরুত্বপূর্ণ যে / dev / sda1 এর মতো কোনও ডিভাইস ফাইলের নাম কেবল একটি লেবেল। প্রধান এবং গৌণ সংখ্যা হ'ল ডিভাইস ফাইলের উল্লেখযোগ্য, গুরুত্বপূর্ণ মান। আপনি যদি কৌতূহলী হন তবে ডিভাইস ফাইলগুলি তৈরি করতে ব্যবহৃত mknod (1) ইউটিলিটিটি পরীক্ষা করে দেখুন। আমি নিম্নলিখিত সিনট্যাক্স সহ বড় 8, নাবালিক 18 দিয়ে আর্দভার্ক নামে একটি নতুন / দেব এন্ট্রি তৈরি করতে পারি:
mknod /dev/aardvark b 8 18
তারপরে, আমি এটি সহজেই মাউন্ট করতে পারি:
mount /dev/aardvark /mnt
এবং, আমরা যদি মাউন্ট কমান্ডের আউটপুট বা / proc / মাউন্টগুলির সামগ্রীগুলি দেখি এবং আমরা দেখতে পাই:
/dev/aardvark on /mnt type xfs (rw,relatime,attr2,inode64,noquota)
df -h শো:
/dev/aardvark 192G 154G 38G 81% /mnt
যাইহোক, এইগুলির মূল বিষয়টিই বোঝানো যায় যে একটি ব্লক ডিভাইস সনাক্ত করার জন্য গুরুত্বপূর্ণ বিবরণ হ'ল প্রধান এবং গৌণ সংখ্যা - ডিভাইস ফাইলের লেবেল নয় - এবং lstat () সিস্টেম কলটি ব্যবহার করার সর্বোত্তম উপায় এই মানগুলি জিজ্ঞাসা করুন।
একটি সর্বশেষ মন্তব্য হিসাবে, আমি আপনার প্রশ্নের উত্তরটি দিচ্ছি তা নিশ্চিত করার জন্য আমি কেবল আপনার প্রশ্নটি পুনরায় পড়ি এবং আমি বুঝতে পেরেছিলাম যে আপনি কোন সোর্স ডিভাইস লেবেল একটি বাইন্ড মাউন্টের জন্য / প্রোক / মাউন্টগুলিতে প্রদর্শিত হবে তা জিজ্ঞাসা করছেন। এটি একই উত্স ডিভাইস লেবেল যেমন বিন্দু মাউন্ট জন্য ফাইল সিস্টেম মাউন্টপয়েন্ট উত্স জন্য মূল মাউন্ট (2) কল ব্যবহৃত হয়েছিল। সম্ভবত একটি উদাহরণ সাহায্য করবে:
আমার কাছে / dev / sdb2 এবং / dev / aardvark (উপরের মতো)। এগুলি উভয়ই বড় 8, নাবালিক 18. দ্রষ্টব্য, আমি একই ফাইল সিস্টেম দুটিবার মাউন্ট করব। আমি নিম্নলিখিতটি করি:
mkdir /mnt1 /mnt2 /foo
mount /dev/aardvark /mnt1
mount /dev/sdb2 /mnt2
লক্ষ্য করুন যে আমি / mnt1 এ ডিরেক্টরিটি কিছুটা তৈরি করেছি। তবে যেহেতু / mnt1 এবং / mnt2 তে একই ফাইল সিস্টেমটি মাউন্ট করা আছে, তাই সামুদির / mnt2 এর মাধ্যমেও পৌঁছানো যাবে।
mkdir /mnt1/somedir
mkdir /foo/left /foo/right
mount -o bind /mnt1/somedir /foo/left
mount -o bind /mnt2/somedir /foo/right
এখন, আমরা যদি / প্রোম / মাউন্টগুলি পরীক্ষা করি তবে আমরা দেখতে পাই:
/dev/aardvark /mnt1 xfs rw,relatime,attr2,inode64,noquota 0 0
/dev/sdb2 /mnt2 xfs rw,relatime,attr2,inode64,noquota 0 0
/dev/aardvark /foo/left xfs rw,relatime,attr2,inode64,noquota 0 0
/dev/sdb2 /foo/right xfs rw,relatime,attr2,inode64,noquota 0 0
/ Foo / ... বাইন্ড মাউন্টগুলিতে উত্স ডিভাইস লেবেলটি ফাইল সিস্টেম মাউন্ট (2) কলটিতে মূলত সরবরাহ করা মানের সমান। মনে রাখবেন, / উদাহরণস্বরূপ / dev / aardvark এবং / dev / sdb2 একই ডিভাইস।
আমি বুঝতে পেরেছি যে আমি সবেমাত্র একটি উপন্যাস টাইপ করেছি এবং প্রথমার্ধটি সত্যিই আপনার প্রশ্নের কোনও উত্তর দেয় না, তবে এটি মুছে ফেলার মতো এমন অপচয় বলে মনে হয়েছিল। সম্ভবত এটি অন্য কাউকে সাহায্য করবে।
শুভকামনা
পিএস মনে রাখবেন যে কিছু ফাইল সিস্টেমগুলি নেটওয়ার্ক ভিত্তিক - যেমন এনএফএস বা সিআইএফএস - বা ভার্চুয়াল - যেমন প্রোফস বা সিএসএফস এবং কোনও সোর্স ব্লক ডিভাইস নেই। স্ট্যাট আউটপুটে ডিভাইস হিসাবে কী ফিরিয়ে দেওয়া হবে তা আমি জানি না, কেবল এটির জন্য মূল্য।
$PWD
(যা আমি মাউন্ট করছি) যদি সিরিজগুলি, বাঁধাইয়ের মাউন্ট ইত্যাদির একটি সিরিজে সমাহিত করা হয় তবে মাউন্ট পয়েন্টগুলির জন্য আমার পুনরাবৃত্তভাবে পরীক্ষা করা দরকার।