duওএস এক্সে ব্যবহৃত বিএসডি সংস্করণটি 512-বাইট ব্লক সহ আকারের রিপোর্ট করে - আকারগুলি মূলত পরবর্তী 512-বাইট মান পর্যন্ত গোল হয়। এটি আপনাকে ডিস্কে স্থান বলে দেয় যা ডেটার পরিমাণের চেয়ে বড়। আপনার যদি অনেক ছোট ফাইল থাকে তবে পার্থক্যটি বড় হতে পারে।
এখানে একটি উদাহরণ।
এটি নিয়মিত সহ মান du। এটি 512-বাইট ব্লকে রয়েছে:
$ du -s
248 .
-hএকটি আরো ভালো পঠনযোগ্য সংখ্যা পতাকা ফলাফল, কিলোবাইট হবে। প্রত্যাশিত হিসাবে এটি 512-বাইট ব্লকের অর্ধেক সংখ্যা:
$ du -hs
124K .
অবশেষে, আপনি ফাইলগুলিতে প্রকৃত বাইটের যোগফল ব্যবহার করতে findএবং awkদিতে পারেন। এটি ধীর ধরণের, তবে এটি কার্যকর:
$ find . -type f -exec ls -l {} \; | awk '{sum += $5} END {print sum}'
60527
এই মানটি ফাইন্ডারের তথ্য তথ্য উইন্ডো দ্বারা উল্লিখিত সংখ্যার সাথে ঠিক মেলে। (ফাইলগুলির এই সেটে কোনও অদ্ভুত কাঁটাচামচ বা এক্সটটার নেই)) এটি উল্লিখিত মানের তুলনায় উল্লেখযোগ্যভাবে ছোট du।
এটি কীভাবে কাজ করে তা এখানে: এটি সমস্ত ফাইলের একটি তালিকা পেয়েছে এবং এগুলিকে দেয় ls -l; তারপরে awkবাইটগুলি গণনা করতে ব্যবহৃত হয়। -type fযাতে শুধুমাত্র ফাইল (এবং ডিরেক্টরি) পাঠানো পেতে পতাকা আছে ls। এই পতাকা ছাড়াই এটি ডিরেক্টরি নাম প্রেরণ lsকরবে এবং প্রতিটি ফাইল দু'বার তালিকাভূক্ত হবে: একবার পৃথক ফাইল হিসাবে এবং একবার ডিরেক্টরিতে কোনও আইটেম হিসাবে।
এর জিএনইউ সংস্করণটি duব্লকের পরিবর্তে প্রকৃত বাইটে মান দিতে পারে। দুর্ভাগ্যজনক যে বিএসডি সংস্করণটি duনমনীয় নয়।
-k1 কে-বাইটের ব্লক আকার ব্যবহার করতে বিকল্পটি ব্যবহার করতে পারেন