लिनक्स में माउंटेड फाइल सिस्टम की पूरी और सटीक सूची कैसे प्राप्त करें?


150

मैं आमतौर पर mountयह जांचने के लिए उपयोग करता हूं कि कौन से फाइल सिस्टम माउंट किए गए हैं। मुझे यह भी पता के बीच कुछ संबंध नहीं है mountऔर /etc/mtabलेकिन मैं विवरण के बारे में यकीन नहीं है। पढ़ने के बाद कि कैसे / अगर / मुहिम शुरू की है मैं और अधिक भ्रमित हो।

मेरा सवाल है: माउंटेड फाइल सिस्टम की सबसे सटीक सूची कैसे प्राप्त करें? क्या मुझे केवल mountसामग्री /etc/mtab, या की सामग्री का उपयोग करना चाहिए या पढ़ना चाहिए /proc/mounts? सबसे भरोसेमंद परिणाम क्या देगा?


3
आपको इस प्रश्न का स्वीकृत उत्तर भी पढ़ना चाहिए: unix.stackexchange.com/questions/12040/…
nozimica

मैं लिनक्स में / etc / mtab को जोड़ने में मदद नहीं कर सकता हूँ ? क्योंकि यह गैर-लिनक्स विवरणों को कवर करता है जो यहां कोई भी उत्तर नहीं देता है।
वीजुन झोउ

जवाबों:


140

माउंटेड फाइल सिस्टम की निश्चित सूची में है /proc/mounts

यदि आपके पास अपने सिस्टम पर किसी भी प्रकार के कंटेनर हैं, तो /proc/mountsकेवल उन फ़ाइल सिस्टम को सूचीबद्ध करता है जो आपके वर्तमान कंटेनर में हैं। उदाहरण के लिए, चेरोट में , /proc/mountsकेवल उन फाइल सिस्टम को सूचीबद्ध करता है जिनका आरोह बिंदु चुरोट के भीतर होता है। ( चुरोट, मन से बचने के तरीके हैं। )

इसमें माउंटेड फ़ाइल सिस्टम की एक सूची भी है /etc/mtab। इस सूची का रखरखाव mountऔर umountकमांड द्वारा किया जाता है । इसका मतलब यह है कि यदि आप इन आदेशों (जो बहुत दुर्लभ है) का उपयोग नहीं करते हैं, तो आपकी कार्रवाई (माउंट या अनमाउंट) रिकॉर्ड नहीं की जाएगी। व्यवहार में, यह ज्यादातर एक चेरोट में होता है जो आपको ऐसी /etc/mtabफाइलें मिलेगी जो सिस्टम की स्थिति से बेतहाशा भिन्न होती हैं। इसके अलावा, चेरोट में की गई आरोह चुरोट में /etc/mtabनहीं बल्कि मुख्य में परिलक्षित होगी /etc/mtab। जबकि /etc/mtabकेवल पढ़ने के लिए फाइल किए गए कार्य-प्रणाली भी वहां रिकॉर्ड नहीं किए गए हैं।

जिस कारण से आप कभी-कभी /etc/mtabवरीयता में या इसके अलावा परामर्श करना चाहते हैं /proc/mounts, वह यह है कि क्योंकि इसमें माउंट कमांड लाइन तक पहुंच है, यह कभी-कभी ऐसी जानकारी प्रस्तुत करने में सक्षम है जो समझने में आसान है; उदाहरण के लिए आप अनुरोध के रूप में माउंट विकल्प देखते हैं (जबकि के रूप /proc/mountsमें mountऔर कर्नेल चूक को सूचीबद्ध करता है ), और बाइंड माउंट इस तरह दिखाई देते हैं /etc/mtab


1
का फ़ायदा क्या है mountबनाए रखने /etc/mtabअगर यह पर भरोसा नहीं किया जा सकता है? क्या इसके बजाय mountजानकारी प्रस्तुत करना बेहतर नहीं होगा /proc/mounts?
पायोत्र डोब्रोगोस्ट

2
@PiotrDobrogost /etc/mtabजानकारी दर्ज कर सकता है कि कर्नेल ट्रैक नहीं करता है, जैसे कि मूल रूप से अनुरोध किए गए विकल्प, और डिवाइस के लिए डुप्लिकेट प्रविष्टियों के रूप में प्रदर्शित होने के बजाय दिखने वाले बिंदुओं को बांधें । फिर भी, कई वितरण /etc/mtabएक सममेलन बनाने की ओर बढ़ रहे हैं /proc/mounts
गाइल्स

3
फिर भी, कई वितरण /etc/mtabएक सममेलन बनाने की ओर बढ़ रहे हैं /proc/mountsसुनने में अच्छा है - इस जानकारी को उत्तर में जोड़ने से यह और भी बेहतर हो जाएगा। क्या आपको लगता है कि कर्नेल द्वारा अनुरोधित विकल्प ट्रैक करना संभव और लाभदायक होगा?
पायोत्र डोब्रोगोस्ट

2
ध्यान दें कि आपको / proc / mounts की सामग्री से बचना होगा। जैसा कि getmntent (3) पेज, स्पेस (\ 040), टैब (\ 011), न्यूलाइन (\ 012) और बैकस्लैश (\ 134) पर वर्णित है, विशेष रूप से नियंत्रित करने की आवश्यकता है। विशेष रूप से यदि उपयोगकर्ता आरोह सक्षम हैं, तो आपको इन रास्तों के साथ काम करते समय बहुत सावधान रहने की आवश्यकता होगी।
एरिक

2
कृपया कमांड का उपयोग करने के लिए अन्य उत्तर भी देखें findmntजो कि 2010 से पसंदीदा तरीका है और संभावित रूप से निकट भविष्य में एकमात्र सुरक्षित तरीका है जब माउंट नेमस्पेस सामान्य होंगे।
मार्की 555

68

V। 2.18 (जुलाई 2010) util-linux में एक उपकरण शामिल है जो आपको वर्तमान में माउंट की गई फ़ाइल सिस्टम की सूची प्रदर्शित करने की अनुमति देता है:

findmnt

आप डिफ़ॉल्ट ट्री दृश्य से सूची दृश्य के साथ स्विच कर सकते हैं -l, आउटपुट कॉलम को -o(इसी तरह के lsblk) के साथ परिभाषित कर सकते हैं , फ़ाइल सिस्टम प्रकार -tआदि के आधार पर फ़िल्टर परिणाम ...

findmnt -lo source, target, fstype, label, options, used -t ext4
SOURCE    TARGET      FSTYPE LABEL OPTIONS                           USED
/dev/sda1 /           ext4   ARCH  rw,noatime,discard,data=ordered  17.6G
/dev/sdb2 /media/DATA ext4   DATA  rw,noatime,discard,data=ordered    44M

अधिक जानकारी के लिए manपृष्ठ पढ़ें (और findmnt --helpउपलब्ध स्तंभों की सूची प्राप्त करने के लिए)


33

शायद इसलिए कि इस सवाल का जवाब दिए 5 साल हो चुके हैं और चीजें बदल गई हैं। cat /proc/mountsजानकारी के बारे में आप परवाह नहीं है की एक बहुत कुछ पैदा करता है। आज, IMHO, मुझे यह अंतिम समाधान लगता है।

df -h --output=source,target

जब आप मैन पेज पढ़ते हैं तो सभी प्रकार के विकल्प होते हैं जो आप कर सकते हैं लेकिन यह वही है जो आप करते हैं। उदाहरण के लिए परिणाम को साफ करने के लिए और भी अधिक आप इस कमांड के साथ "tmpfs" प्रकार की फाइल को बाहर कर सकते हैं:

df -hx tmpfs --output=source,target

df फाइल स्तर पर काम करता है न कि फाइल के स्तर पर।

ऊपर दिए गए आदेशों में नेटवर्क माउंट भी शामिल होंगे।

कुछ और जानकारी देखने के लिए इसका उपयोग करें:

df -hT

नोट धीमी गति से आरोहित नेटवर्क कनेक्शन के साथ इसमें कई मिनट लग सकते हैं!

यदि आपके पास माउंटेड नेटवर्क कनेक्शन के बारे में परवाह नहीं है या (और आपके पास रूट अनुमति है) तो इससे भी बेहतर है:

sudo lsblk -f

आपको रूट करने की ज़रूरत नहीं है, लेकिन कुछ फ़ील्ड / कॉलम (जैसे लेबल) में अशक्त डेटा होगा, जो अभी भी ठीक हो सकता है कि प्रश्न यह जानना चाहते हैं कि फाइलसिस्टम माउंट किए गए हैं।
रिक

उबंटू। हालाँकि मैंने बस "findmnt" की खोज की है जो रूट का उपयोग नहीं करता है और यह नेटवर्क माउंटेड फाइल सिस्टम को सूचीबद्ध करता है। मैं उस ज्ञान को शामिल करने के लिए अपने उत्तर को संपादित करने की सोच रहा था।
रिक

:-) मैं आपका उत्तर एक वोट देने के लिए थक गया लेकिन जब तक मेरे पास 15+ का
रिक नहीं है

1
Btw, अगर आप --outputUbuntu 12 जैसी किसी चीज़ के साथ उपयोग करने की कोशिश कर रहे हैं जो उन विकल्पों को स्वीकार नहीं करता है, तो findmntनीचे don_crissti के उत्तर को देखें जो करता है।
Mat Schaffer

findmntलेबल प्रदर्शित करने के लिए उच्च क्षमताओं (रूट के साथ परीक्षण किए गए; रूट की सभी क्षमताएं हैं) की आवश्यकता होती है।
सीटीएल-एल्ट-डेलोर

23

अधिकांश समय, mountसबसे सुविधाजनक तरीका है। वर्तमान में माउंट किए गए फ़ाइल सिस्टम की पूरी और सटीक सूची के लिए, आपको /proc/mounts(जैसे, cat /proc/mounts) की सामग्री को पढ़ना चाहिए ।

उदाहरण के लिए, यदि बढ़ते हुए /रीडराईट विफल हो गया और इसे फिर से कमबैक के रूप में आसानी से माउंट किया गया, /etc/mtab(जो mountकमांड आपको बताता है कि क्या आरोहित है, और लिखता है - यदि यह - जब यह बदल गया है तो क्या अपडेट नहीं किया जाएगा) यह प्रतिबिंबित करने के लिए /(जिसमें सम्‍मिलित है /etc/mtab) वर्तमान में आसानी से माउंट किया गया है। इस स्थिति में, रनिंग mountआम तौर पर आपको (गलत तरीके से) बताएगा कि /रीडराइट को माउंट किया गया था।

सामान्य परिस्थितियों में (यानी, जब फाइलसिस्टम जिसमें इसे लिखा जा सकता है), /etc/mtabवर्तमान में माउंट किए गए फाइल सिस्टम की एक सूची शामिल है। यह भ्रमित नहीं होना है /etc/fstab, जिसमें फाइलसिस्टम की एक सूची है जो सिस्टम शुरू होने पर स्वचालित रूप से माउंट होने वाली है।

बेशक, यदि /procवर्चुअल फाइलसिस्टम स्वयं माउंटेड नहीं है, तो आप इसमें कोई भी वर्चुअल फाइल नहीं पढ़ सकते हैं, जिसमें शामिल होगा /proc/mounts। यह बहुत ही कम मामला है। इस स्थिति में, mountयह देखने के लिए कि क्या माउंट किया गया है, शायद आपका सबसे अच्छा विकल्प है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.