লিনাক্সে 'du' কমান্ডের আউটপুট নিয়ে আমি বিভ্রান্ত হয়ে পড়েছি


21

আমি file.o নামে একটি ফাইল তৈরি করি, আমি file.o ফাইলের আকারটি পরীক্ষা করতে চাই।

du -h file.o ====> 4.0K

du -b file.o ====> 1120

অনুসারে du -b file.o, আমি ফাইলটি জানতে পারি o 1120 বাইট বড়। তবে কেন du -h file.oআউটপুটস 4.0 কে (মানে 4 * 1024 বাইট)?

উত্তর:


33

ফাইলটি ছোট, তবে এটি ডিস্কে একটি পুরো 4.0K ব্লক নেয় (আপনার একটি ব্লকে কেবল একটি ফাইল থাকতে পারে)। যদি এর বাইট আকারটি (উদাহরণস্বরূপ) 5678 বাইট হয়, তবে এটি দুটি 4.0K ব্লক, অর্থাৎ 8.0K দখল করবে।

du -b ডিফল্ট ব্লক আকারকে ওভাররাইড করে বাইটগুলিতে আকারগুলি মুদ্রণ করে।


10

ইউরোয়ের উত্তর যুক্ত করতে প্রতিটি ফাইল সিস্টেম / পার্টিশনের জন্য ব্লকের আকার পৃথক হতে পারে।

আপনি tune2fs -l /dev/<disk> | grep '^Block size'বা ব্যবহার করে একটি ফাইল সিস্টেমের ব্লক আকার খুঁজে পেতে পারেন stat -c "%o" <file on the disk>

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.