यदि आप चाहें, तो आप इस उद्देश्य के लिए मेरी बैश स्क्रिप्ट का उपयोग कर सकते हैं। यह वास्तव में आपकी आवश्यकता से थोड़ा अधिक करता है, अर्थात यह भी दिखाएगा कि कितना स्थान उपयोग किया जाता है। आशा है कि आप इसे पसंद करेंगे :) और मुझे यह भी उम्मीद है कि आउटपुट मेरे लिनक्स बॉक्स की तरह साफ-सुथरा होगा ... (नोट: यह केवल आपके HDDs और DVD-ROM की तरह वास्तविक हार्डवेयर दिखाएगा , लेकिन यह मेरे उद्देश्यों के लिए पर्याप्त है।)
महत्वपूर्ण सूचना: इस स्क्रिप्ट कोsudo
ONCE के तहत चलाया जा सकता है blkid
। कम से कम मेरे डिस्ट्रो पर, बूटअप के बाद नियमित उपयोगकर्ता के रूप में चलने पर शून्य आउटपुटblkid -o export
करेगा । इसका कारण यह है कि "नियमित उपयोगकर्ता प्रतिपादन" में , डेटा को वास्तव में कैश फ़ाइल (सामान्य रूप से ) से पुनर्प्राप्त किया जाएगा , जो कि केवल द्वारा लिखने योग्य है और इस प्रकार वर्तमान डेटा के साथ आबादी प्राप्त करने के लिए एक रन के तहत आवश्यकता होगी ।blkid
/run/blkid/blkid.tab
root
sudo
#!/bin/bash
# LICENSE: GPL
if [[ $(id -u) -ne 0 ]]; then
if [[ ! -s /run/blkid/blkid.tab ]]; then
# no cache file found when run as regular user
# this will require one run under sudo to populate cache file
echo -e "Cache file does not exist or is empty.\nPlease give your root password to continue:\n\n"
sudo blkid >/dev/null
fi
fi
df -P |
sort |
awk 'BEGIN {
fmthdr = "%-12s%-22s%-10s\t%-5s\n"
# since we want to use single quotes for showing label names, we had better
# replace the problematic single quote character by its hex representation, "\x27"
fmtlin_w_qu = "%-12s\x27%-17s\x27\t %-10s\t%4s used\n"
fmtlin_wo_qu = "%-12s%-17s\t %-10s\t%4s used\n"
printf fmthdr, " Device ", "Volume Label", "File System", "Storage usage"
printf fmthdr, "---------", "------------", "-----------", "-------------"
}
/^\/dev\/[sh]/{
lab = "" # CLEAR lab w/every run (very important!)
("blkid -o export "$1" | grep LABEL | cut -f2 -d=") | getline lab
("blkid -o export "$1" | grep TYPE | cut -f2 -d=") | getline fs
if (lab == "") {
lab = "<none>"
fmtlin = fmtlin_wo_qu
}
else
fmtlin = fmtlin_w_qu
printf fmtlin, $1, lab, fs, $5
}'