আপনি যদি পছন্দ করেন তবে আপনি আমার বাশ স্ক্রিপ্টটি সেই উদ্দেশ্যে ব্যবহার করতে পারেন। এটি প্রকৃতপক্ষে আপনার প্রয়োজনের তুলনায় কিছুটা বেশি করে, অর্থাৎ এটি কতটা স্থান ব্যবহৃত হচ্ছে তাও দেখায়। আশা করি আপনি এটি পছন্দ করেছেন :) এবং আমি এটিও আশা করি যে আউটপুটটি আমার লিনাক্স বাক্সের মতো ঝরঝরে হবে ... (দ্রষ্টব্য: এটি কেবলমাত্র আপনার এইচডিডি এবং ডিভিডি-রোমের মতো সত্যিকারের হার্ডওয়্যার দেখায় , তবে এটি আমার উদ্দেশ্যগুলির পক্ষে যথেষ্ট) sufficient
গুরুত্বপূর্ণ দ্রষ্টব্য: এই স্ক্রিপ্টটিsudo
ওএনএসইএর কারণে চালিত হতে পারে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
}'