আমি ls -lকোনও ফাইলের যৌক্তিক আকার পেতে ব্যবহার করতে পারি, তবে কোনও ফাইলের দৈহিক আকার পাওয়ার কোনও উপায় আছে কি?
আমি ls -lকোনও ফাইলের যৌক্তিক আকার পেতে ব্যবহার করতে পারি, তবে কোনও ফাইলের দৈহিক আকার পাওয়ার কোনও উপায় আছে কি?
উত্তর:
ls -lআপনাকে ফাইলটির আপাত আকার দেবে, যা কোনও প্রোগ্রামের পড়া শুরু থেকে শেষ পর্যন্ত ফাইলটি পড়লে বাইটের সংখ্যা। duআপনাকে "ডিস্কে" ফাইলের আকার দেবে।
ডিফল্টরূপে, duআপনাকে ডিস্ক ব্লকের সংখ্যায় ফাইলের আকার দেয় তবে আপনি -hপরিবর্তে একটি মানব পাঠযোগ্য ইউনিট পেতে ব্যবহার করতে পারেন । duআপনার সিস্টেমে ম্যানুয়ালটিও দেখুন ।
নোট করুন যে GNU কোর্টিলের সাথে du(যা সম্ভবত লিনাক্সের মধ্যে রয়েছে), -bবাইটগুলি পেতে --apparent-sizeবিকল্পটি বোঝায় । আপনি ডিস্কে আসলে ব্যবহৃত বাইট সংখ্যা পেতে এটি ব্যবহার করতে চান না। পরিবর্তে, ব্যবহার করুন --block-size=1বা -B 1।
জিএনইউ দিয়ে lsআপনি ls -s --block-size=1ফাইলটিও করতে পারেন । এটি du -B 1ফাইলের মতো একই নম্বর দেবে ।
উদাহরণ:
$ ls -l file
-rw-r--r-- 1 myself wheel 536870912 Apr 8 11:44 file
$ ls -lh file
-rw-r--r-- 1 myself wheel 512M Apr 8 11:44 file
$ du -h file
24K file
$ du -B 1 file
24576 file
$ ls -s --block-size=1 file
24576 file
এর অর্থ এটি একটি 512 এমবি ফাইল যা ডিস্কে প্রায় 24 কেবি লাগে। এটি একটি বিরল ফাইল (বেশিরভাগ শূন্য যা আসলে ডিস্কে লিখিত হয় না তবে ফাইলটিতে যৌক্তিক "ছিদ্র" হিসাবে প্রতিনিধিত্ব করা হয়)। প্রাক-বরাদ্দ হওয়া বড় ফাইলগুলির সাথে কাজ করার সময় স্পার ফাইলগুলি সাধারণ হয়, যেমন ভার্চুয়াল মেশিনগুলির জন্য ডিস্ক চিত্রগুলি বা স্ব্যাপ ফাইলগুলি ইত্যাদি a
fallocateআপনার লিনাক্স সিস্টেমে ম্যানুয়ালটিও দেখুন ।
du আসলে কতটা ডেটা পড়া lsযায় তা দেখায় , যখন ডিস্ক সেক্টরগুলি বরাদ্দ করা হয়েছে তার পরিমাণ দেখায়।
duফাইলটি আসলে যে ডিস্কের ব্যবহার করছে তা দেখায়, যখন আপাত আকার (যৌক্তিক আকার) দেখানো হয়েছে যে lsকোনও প্রোগ্রাম এটি থেকে কতগুলি বাইট পড়তে সক্ষম হবে। যদি ফাইলটি অপ্রয়োজনীয় হয় তবে কিছু পঠিত বাইট শূন্য হতে পারে তবে তাদের পড়ার প্রোগ্রামটিতে কেবল বিতরণ করা হবে (ডিস্ক থেকে নয়)।