डीएफ और माउंट का उपयोग करते समय केवल भौतिक डिस्क दिखाएं


9

जब मैं उपयोग करता हूं dfया mount, मैं भौतिक डिस्क विभाजन में सबसे अधिक दिलचस्पी रखता हूं। आजकल उन आदेशों का उत्पादन अस्थायी और आभासी फाइल सिस्टम, cgroups और अन्य चीजों से अभिभूत है जिन्हें मैं नियमित रूप से दिलचस्पी नहीं लेता हूं।

आउटपुट में मेरे भौतिक विभाजन हमेशा ' /' से शुरू होते हैं , इसलिए मैंने इसके लिए उपनाम बनाने की कोशिश की dfऔर mount:

alias df1="df | egrep '^/'"
alias mount1="mount | egrep '^/'"

इसके लिए ठीक काम करता है mount1(हालांकि यह /लाल रंग में ' ' दिखाता है ), लेकिन df1मैं कभी-कभी -hविकल्प जोड़ना चाहूंगा dfऔर नहीं कर सकता df1 -h। मैं हर विकल्प संयोजन के लिए एक उपनाम नहीं रखना चाहूंगा जो मैं उपयोग करना चाहता हूं। क्या मुझे वास्तव में बैश में कार्यों को परिभाषित करना है (मैं नहीं करना चाहूंगा)? क्या कोई बेहतर उपाय है df1?

जवाबों:


6

आप df1निम्न उपनाम का उपयोग करके तर्क समस्या को हल कर सकते हैं :

alias df1='df --type btrfs --type ext4 --type ext3 --type ext2 --type vfat --type iso9660'

किसी भी अन्य प्रकार (जोड़ना सुनिश्चित करें xfs, fuseblk(आधुनिक NTFS समर्थन के लिए) आदि, के रूप में @Pandya ने कहा,) आप रुचि रखते हैं में। इसके साथ ही आप कर सकते हैं df1 -hऔर अपेक्षित परिणाम मिलता है।

mountएक -tविकल्प है, लेकिन आप इसे कई बार निर्दिष्ट नहीं कर सकते हैं (केवल अंतिम बार लिया गया है), वहां मैं उपयोग करूंगा:

alias mount1="mount | /bin/grep -E '^/'"

मैं उपयोग के grep -Eरूप egrepमें पदावनत कर रहा हूँ और /bin/grepसुनिश्चित करता है कि आप / के --colour=autoलिए एक उपनाम से उपयोग नहीं कर रहे हैंgrepegrep


df --type ntfs5 एनटीएफएस विभाजन नहीं दिखा रहा है और इसलिए मेरे लिए उन्हें परिणाम में छोड़ रहा है
पंड्या

मुझे इसके लिए उपयोग --type fuseblkकरना है
पंड्या

@ पंड्या जो मैंने संकेत दिया है, आपको उन अन्य प्रकारों को जोड़ने की आवश्यकता है जिन्हें आप अंदर से जोड़ रहे हैं। मेरे पास कई वर्षों से मेरे सिस्टम में एनटीएफटी विभाजन नहीं हैं, इसलिए मुझे यकीन नहीं है कि मैं उस उपनाम से आया हूं जिसका मैं उपयोग करता हूं ।
एंथन

1
@ पांड्या ऐसा लग रहा है कि --type ntfsमेरे उपनाम में उस समय से था जिसमें न्यूनतम NTFS समर्थन था (उस समय जहां आपको विंडोज़ NT में रिबूट करने के बाद अपने NTFS विभाजन पर एक फाइलसिस्टम जांच करनी थी -)। मेरा जवाब अपडेट किया, धन्यवाद।
एंथन

3

आप फ़ंक्शन को निम्नानुसार परिभाषित कर सकते हैं:

function df1() { df "$@" | grep -E '^/'; }

उदाहरण आउटपुट:

$ df1 -h
/dev/sda8        25G  8.1G   16G  35% /
/dev/sda4        25G   20G  5.8G  78% /media/pandya/Documents+Edu
/dev/sda3       9.5G  7.1G  2.0G  79% /media/pandya/Ext4
/dev/sda7        24G   17G  6.9G  71% /media/pandya/Extra+Other
/dev/sda6        26G   25G  448M  99% /media/pandya/Media+Game
/dev/sda10       15G  7.9G  7.1G  53% /media/pandya/Miscellaneous
/dev/sda5        36G   22G   14G  63% /media/pandya/Software+OS

यहाँ $@आप अपने तर्कों को इनपुट करने देते हैं! [ध्यान दें कि $@हमेशा दोहरे उद्धरण चिह्नों के भीतर लिखा जाना चाहिए जब तक कि आपके पास ठोस कारण न हो। -ईडी]


3

यदि किसी भिन्न पर स्विच करना एक dfविकल्प है, तो pydfइसके बजाय का उपयोग करें , क्योंकि यह डिफ़ॉल्ट रूप से 0 ब्लॉक वाले फाइल सिस्टम को नहीं दिखाता है, और इसमें गेज, रंग और डिफ़ॉल्ट रूप से सक्षम कुछ अन्य गुण हैं। यह काफी अच्छी तरह से काम करता है df, और मूल हमेशा \dfवैसे भी उपलब्ध है।


मेरे लिए यहां सबसे उपयोगी उत्तर है। अफसोस की बात है, यह मौजूद नहीं है mount
emk2203

थोड़ी देर हो गई, लेकिन मेरे लिए pydf ने मेरी एकल शारीरिक ड्राइव और 33 / dev / पाश ## ड्राइव दिखाए, जब मैं चाहता हूं कि सभी भौतिक ड्राइव हैं। स्वीकृत डीएफ उत्तर काम करता है, लेकिन मैं इसके बजाय इस फॉर्म को पसंद करता हूं: उर्फ ​​डीएफएच = 'डीएफ-एच-एक्स स्क्वैशफिक्स-एक्स टैम्प्स'
स्टीव

1

यह उत्तर यवेस के निम्नलिखित उपदेशों को संबोधित करने का प्रयास करता है :

मैं हर विकल्प संयोजन के लिए उपनाम नहीं रखना पसंद करूंगा (1)

तथा

हालांकि यह लाल (2) में '/' दिखाता है

और (3) अलग-अलग आउटपुट में जानकारी का एक महत्वपूर्ण टुकड़ा जोड़ते हैं, जो dfकि हेडर लाइन है जो कि आपूर्ति किए गए झंडे के अनुसार बदलता है।

(1) आपको जरूरत है function, क्योंकि परिभाषा के अनुसार यह तर्क लेता है। और, यह परिभाषित करने और उपयोग करने के लिए बहुत सरल है जैसा कि आप नीचे पाएंगे।

(2) रेड /द्वारा निर्मित किया जाता है grep --color, जो अपने आप में एक सामान्य उपनाम grepहै (आप इसे चलाकर देख सकते हैं alias)।

कोड

function df1 
{ 
    df $* | sed -n '1p;/^\//p;'
}

ऊपर दी गई नई पंक्तियों का उद्देश्य पठनीयता में सुधार करना है, आप उन्हें अंतरिक्ष से बदल सकते हैं।

इस स्निपेट को सीधे इंटरएक्टिव बैश सत्र में कॉपी करें और पेस्ट करें या, और भी बेहतर, इसे अपने पास भेजें ~/.bashrc

उदाहरण उपयोग

$ df1 
Filesystem                        1K-blocks      Used Available Use% Mounted on
/dev/disk1                        487358464 316093104 171009360  65% /
/dev/disk2                           524032    302620    221412  58% /Volumes/Packer

$ df1 -hT
Filesystem                        Type   Size  Used Avail Use% Mounted on
/dev/disk1                        hfs    465G  302G  164G  65% /
/dev/disk2                        hfs    512M  296M  217M  58% /Volumes/Packer

$ df1 -hT .
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/disk1     hfs   465G  302G  164G  65% /

यह क्या करता है

फ़ंक्शन जो भी तर्क आप इसे पास करते हैं और पाइप ( ) आउटपुट को df1कॉल करता है , जिसे पैटर्न स्पेस के स्वचालित मुद्रण को दबाने के लिए कहा जाता है। बाकी लोग "स्क्रिप्ट" को व्यक्त करते हैं, दो वास्तव में:df|sed-n

  1. स्क्रिप्ट 1p1 पंक्ति को प्रिंट करती है, जो हमारे मामले में dfहेडर है (मैं psपाइपिंग के लिए उसी का उपयोग करता हूं ),
  2. स्क्रिप्ट /^\//pकिसी भी रेखा से मेल खाती है /, फिर उसे प्रिंट करती है
  3. ; 2 sed स्क्रिप्ट को अलग करता है

0

मैं उपयोग करता हूं alias df='df -hT -xtmpfs -xdevtmpfs'

बहुत ज्यादा बेकार है कि आपको dfइन दिनों लिनक्स पर GNU वास्तव में उपयोग करने के लिए एक उपनाम का उपयोग करना होगा । केवल "वास्तविक" फाइल सिस्टम दिखाने का विकल्प होना चाहिए (जो भी इसका मतलब है)।

एकान्त में, df -hxtmpfsअधिकांश बकवास को बाहर निकालता है और बिना किसी अन्य के उपयोग के रहता है। वास्तव में इससे भी बदतर नहीं netstat -tulnpऔर ऐसे ... * आह *


0

पढ़ना man mount

आरोहियों
की सूची लिस्टिंग मोड केवल पिछड़ी संगतता के लिए बनाए रखा जाता है। अधिक मजबूत और अनुकूलन योग्य उत्पादन उपयोग के लिए findmnt(8), विशेषकर आपकी लिपियों में।

मुझे वांछित आउटपुट प्राप्त करने का एक और तरीका दिखाया गया है।

मैंने एक फंक्शन बनाया lsmounts

lsmounts () {
  findmnt -D -t nosquashfs,notmpfs,nodevtmpfs
}

तर्कों के लिए स्पष्टीकरण:

  • -D: आउटपुट प्रदान करें जैसे हम इसे जानते हैं df
  • -t: उन फ़ाइल सिस्टम के प्रकारों का चयन करें जिन्हें आप देखना चाहते हैं। Prepending noउल्लिखित फ़ाइल सिस्टम को बाहर करता है।

इसलिए मुझे वांछित आउटपुट मिलता है

SOURCE                       FSTYPE   SIZE   USED  AVAIL USE% TARGET
/dev/mapper/vgubuntu-lvroot  ext4    78,3G  42,5G  31,7G  54% /
/dev/mapper/vgubuntu-lvhome  ext4   284,5G 146,4G 124,5G  51% /home
...
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.