के लिए df
calculate योग करने के लिए, का उपयोग करें --totals
विकल्प। यदि आप केवल कुछ चुनिंदा ड्राइव पर योग चाहते हैं, तो उन्हें तर्क के रूप में निर्दिष्ट करें।
उदाहरण (और मेरे कंप्यूटर से आउटपुट)
यह सभी स्थानीय आरोहियों के लिए कुल है:
$ df --total -hl
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 14G 12G 2,1G 85% /
none 490M 660K 489M 1% /dev
none 497M 1,5M 495M 1% /dev/shm
none 497M 260K 496M 1% /var/run
none 497M 0 497M 0% /var/lock
/dev/sda1 3,7G 418M 3,3G 12% /fastdisk
total 19G 12G 7,3G 62%
कुछ ड्राइव पर प्रतिबंध (ध्यान दें कि यदि निर्दिष्ट पथ एक सटीक माउंट बिंदु नहीं है, तो निकटतम माउंट बिंदु का उपयोग किया जाता है [अंत में नोट देखें] ):
$ df -hl --total /home /fastdisk
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 14G 12G 2,1G 85% /
/dev/sda1 3,7G 418M 3,3G 12% /fastdisk
total 17G 12G 5,3G 69%
या dev
नाम का उपयोग कर :
$ df -hl --total /dev/sda1 /dev/sdb1
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 3,7G 418M 3,3G 12% /fastdisk
/dev/sdb1 14G 12G 2,1G 85% /
total 17G 12G 5,3G 69%
आगे अनुकूलन
यदि आप 'विशेष' को छोड़कर सभी आरोह को सूचीबद्ध करना चाहते हैं, तो आप -x
विभाजन प्रकार से बाहर करने के विकल्प का उपयोग कर सकते हैं । ( -T
प्रकार दिखाने के लिए विकल्प का उपयोग करें ।)
व्यक्तिगत रूप से, इंटरैक्टिव उपयोग के लिए, मैं ~/.bash_aliases
'गैर-भौतिक' आरोह को बाहर करने के लिए निम्नलिखित बैश उपनाम (जोड़ा गया ) का उपयोग करता हूं ।
alias df='df -h -x devtmpfs -x tmpfs -x debugfs'
ध्यान दें
माउंट पॉइंट्स के भीतर पथ निर्दिष्ट करने से कुछ समय के लिए अलग-अलग परिणाम प्राप्त हो सकते हैं जो माउंट पॉइंट पर सटीक पथ निर्दिष्ट करते हैं। उदाहरण के लिए, मेरे लैपटॉप पर मैं sshfs
अपने (स्थानीय) फ़ाइल-सर्वर को माउंट करने के लिए उपयोग करता हूं।
df -h ~/.server-root/ ~/.server-root/disks/A ~/.server-root/disks/B
Filesystem Size Used Avail Use% Mounted on
johan@server:/ 185G 58G 118G 33% /home/johan/.server-root
johan@server:/ 1,9T 637G 1,2T 35% /home/johan/.server-root
johan@server:/ 1,8T 1,1T 757G 59% /home/johan/.server-root
सर्वर रूट ( /
) को माउंट किया गया है ~/.server-root
। हालांकि, सर्वर पर, डिस्क चालू हैं /disks/*
, जो df
(लैपटॉप पर) के बारे में 'पता नहीं' है।
जाहिर है df
, सर्वर पर विभिन्न माउंट पर डिस्क उपयोग सूचीबद्ध कर सकते हैं अगर उचित रास्तों दिया। हालाँकि, यह सभी पथों के लिए समान "फाइलसिस्टम" और "माउंटेड" दिखाता है, क्योंकि (मेरा मानना है) कि sshfs
स्थानीय कर्नेल माउंट टेबल में एकमात्र माउंट पॉइंट (इस माउंट से संबंधित ) है।
एक और बात: वास्तव में प्रश्न से संबंधित नहीं है, लेकिन प्रश्न के पिछले उत्तर से संबंधित है ।
awk
स्क्रिप्ट (या समान) के साथ संख्याओं को जोड़ना , जैसे कुछ पहले पोस्ट किए गए उत्तर हैं, ध्वज का उपयोग करते समय एक अच्छा विचार नहीं है -h
। ऐसा इसलिए है क्योंकि विशेष हैंडलिंग की आवश्यकता है। आप size+=$2;
एक क्षेत्र के लिए नहीं कर सकते हैं जो 418M
एक पंक्ति में और 12G
दूसरे पर है और इससे कुछ उपयोगी मिलता है…
पैदावार में awk
जोड़ने के साथ एक उदाहरण के 500M
लिए 10.2G
$ echo -e '500M\n10.2G' | awk '{size+=$1;} END{print size;}'
510.2
510.2 क्या?
यहाँ स्पष्ट रूप से एक समस्या है। तो, सिर्फ याद करने के लिए एक टिप के रूप में , जब df
(और अन्य जो 'मानव पठनीय' संख्याओं का उपयोग कर सकते हैं ) के आउटपुट पर गणना (स्वचालित) करते हैं । सुनिश्चित करें कि आप ध्वज का उपयोग नहीं करते हैं -h
और गणना स्क्रिप्ट का इनपुट इसके बजाय, सामान्यीकृत है (उदाहरण के लिए बाइट्स, ब्लॉक, KB या जो भी) और अंत में 'डिस्प्ले स्केलिंग' करें। अधिकांश स्क्रिप्टिंग और प्रोग्रामिंग भाषाओं में, कुछ को जोड़ना कठिन नहीं है:
If value < threshold Then
print (value),"B"
Else If value < 1024*threshold Then
print (value/1024),"kB"
Else If value < 1024*1024*threshold Then
print (value/1024/1024),"MB"
(and so on...)
जहाँ मूल्य बाइट्स में होता है और थ्रेसहोल्ड 1000 के क्रम पर एक मान होता है। इस पद्धति का उत्थान यह है कि आप इसे आसानी से मुद्रित मानों (उपसर्ग को छोड़कर) को एक वांछित सीमा में और अपने कई महत्वपूर्ण अंकों के साथ आसानी से तैयार कर सकते हैं। चुनने। -h
स्विच के साथ मानक उपयोगिताओं के मामले की तुलना में , जहां प्रारूप अक्सर तय होता है।
बेशक, इस गणना को अक्सर अधिक कुशल और / या सुरुचिपूर्ण बनाया जा सकता है, लेकिन यह उस विशिष्ट भाषा के लिए एक प्रश्न है जो इसमें लिखा गया है। फ्रैंकली, अगर यह एक उपयोगकर्ता स्क्रिप्ट में उपयोग किया जाता है जो केवल और फिर अंतःक्रियात्मक रूप से देखने के लिए चलाया जाता है। कुछ जानकारी, दक्षता वास्तव में एक चिंता का विषय नहीं है।