কোনও ফোল্ডারটি কোন শারীরিক ডিভাইসে অবস্থিত তা আমি কীভাবে খুঁজে পাব?


110

বিশেষত: আমি করেছি sudo mkdir /work, এবং এটি সত্যই আমার হার্ডড্রাইভে বসে এবং অন্য কোনও ড্রাইভে ম্যাপ না করা হয়েছে তা যাচাই করতে চাই।

এই ফোল্ডারটি শারীরিকভাবে কোথায় রয়েছে তা আমি কীভাবে পরীক্ষা করব?


দেখতে unix.stackexchange.com/q/149660/4778 findmnt -T /work
Ctrl-Alt-delor

উত্তর:


148

df(1)কমান্ড আপনাকে ডিভাইস যে একটি ফাইল অথবা ডাইরেক্টরি হয় বলতে হবে:

df /work

প্রথম ক্ষেত্রে ফিল্ড বা ডিরেক্টরি চালু রয়েছে এমন ডিভাইস রয়েছে।

যেমন

$ df /root
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              1043289    194300    795977  20% /

ডিভাইসটি যদি লজিকাল ভলিউম হয় তবে আপনাকে কোন ব্লক ডিভাইস (গুলি) লজিক্যাল ভলিউম চালু আছে তা নির্ধারণ করতে হবে। এর জন্য, আপনি lvs(8)কমান্ডটি ব্যবহার করতে পারেন :

# df /usr
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/orthanc-usr
                       8256952   4578000   3259524  59% /usr
# lvs -o +devices /dev/mapper/orthanc-usr
  LV   VG      Attr   LSize Origin Snap%  Move Log Copy%  Convert Devices     
  usr  orthanc -wi-ao 8.00g                                       /dev/sda3(0)

শেষ কলামটি আপনাকে বলে যে usrভলিউম গোষ্ঠীতে লজিক্যাল ভলিউম orthanc( /dev/mapper/orthanc-usr) ডিভাইসে রয়েছে /dev/sda3। যেহেতু একটি ভলিউম গোষ্ঠী একাধিক শারীরিক ভলিউম বিস্তৃত করতে পারে তাই আপনি দেখতে পাবেন যে আপনার একাধিক ডিভাইস তালিকাভুক্ত রয়েছে।

অন্য ধরণের লজিক্যাল ব্লক ডিভাইস হ'ল এমডি (একাধিক ডিভাইস, এবং আমি মনে করি তাকে মেটা-ডিস্ক বলা হয়) ডিভাইস, যেমন /dev/md2। এমডির ডিভাইসের উপাদানগুলি দেখতে, আপনি ব্যবহার করতে mdadm --detailবা সন্ধান করতে পারেন/proc/mdstat

# df /srv
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/md2             956626436 199340344 757286092  21% /srv
# mdadm --detail /dev/md2
...details elided...
    Number   Major   Minor   RaidDevice State
       0       8        3        0      active sync   /dev/sda3
       1       8       19        1      active sync   /dev/sdb3

আপনি দেখতে পারেন যে /dev/md2চালু রয়েছে /dev/sda3এবং /dev/sdb3ডিভাইস।

অন্যান্য পদ্ধতি রয়েছে যা ব্লক ডিভাইসগুলিতে বাসা বাঁধতে পারে (ফিউজ, লুপব্যাক ফাইল সিস্টেমগুলি) যার অন্তর্নিহিত ব্লক ডিভাইস নির্ধারণের জন্য নিজস্ব পদ্ধতি থাকবে এবং আপনি একাধিক স্তর এমনকি বাসা বাঁধতে পারেন যাতে আপনাকে নিজের পথে যেতে হবে। প্রতিটি কেস আসার সাথে সাথে আপনাকে নিতে হবে।


4
+1 টি। মজাদার. আমি জানতাম না যে dfএতটা থাকার ব্যবস্থা ছিল।
ফাহিম মিঠা

ঠিক আছে, আমি এটি করেছি এবং আমার ফাইল সিস্টেম হিসাবে / ডেভ / ম্যাপার / ফান-রুট পেয়েছি। এখন কি? (আমার কম্পিউটারের নাম 'মজাদার')
রিপার 234

1
তাহলে সম্ভবত আপনি এলভিএম ব্যবহার করছেন? lvdisplayবা lvsআপনার বন্ধু হতে হবে।
ফোনেহেহে

5
আমি এই জবাবটি দেখে এতই মুগ্ধ হয়েছি যে, আমি এটি "কাঁচাদেব" কমান্ডের ভিত্তি হিসাবে ব্যবহার করেছি যা কোনও পাথ বা পার্টিশনের অন্তর্নিহিত ডিভাইস (গুলি) প্রদান করে এমনকি এমন ক্ষেত্রে এমনকি এলভিএম এবং / অথবা এমডি বাসা বাঁধে। এটি গিথুব উপলভ্য: github.com/BMDan/rawdev
BMDan

5

একটি স্ক্রিপ্টের জন্য, আপনি ব্যবহার করতে পারেন:

$ df -P <pathname> | awk 'END{print $1}'

এটি পসিক্স সামঞ্জস্যপূর্ণ।


বেশিরভাগ সময় কাজ করে, তবে <pathname> একটি বিটিআরএফএস স্ন্যাপশটে থাকলে এই প্রতিবেদনটি '-'।
উপবৃত্তাকার দর্শন 18

1

উবুন্টুর আধুনিক বিতরণে আপনার ফাইল / ডিরেক্টরি এবং ডিভাইসের মধ্যে একটি অতিরিক্ত স্তর (ডিভাইস ম্যাপার) রয়েছে। /dev/mapperপ্রকৃত বিশেষ ডিভাইসগুলিকে নির্দেশ করে প্রতীকী লিঙ্ক রয়েছে। উদাহরণস্বরূপ, বর্তমান ডিরেক্টরিতে চেষ্টা করা:

$ df . | grep '^/' | cut -d' ' -f1
/dev/mapper/kubuntu--vg-root

$ ls -l /dev/mapper/kubuntu--vg-root
lrwxrwxrwx 1 root root 7 Nov 22 18:02 /dev/mapper/kubuntu--vg-root -> ../dm-1

সুতরাং প্রোগ্রামগতভাবে ডিভাইসের পুরো পাথ পেতে, আপনি ব্যবহার করতে পারেন:

$ realpath $(df . | grep '^/' | cut -d' ' -f1)

যা আমার কেস প্রিন্ট:

/dev/dm-1

realpath জিএনইউ কোর্টিলের অংশ।


চমৎকার, তবে কখন পুরো পথটি কার্যকর? dfএখনও mapperপথ প্রদর্শন করবে ।
ড্যান ড্যাসকলেসকু

@ ড্যানডাসক্লেস্কু ফেয়ার পয়েন্ট যখন / আপনি যদি সত্যিকারের হার্ডওয়্যার ডিভাইসটি জানতে চান তবে এই প্রশ্নটি আঘাত করার সময় আমি যা খুঁজছিলাম তা কার্যকর হতে পারে।
আরিলফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.