Du -h এবং ls-lh এর মধ্যে পার্থক্য কী?


31

প্রতিটি কমান্ড আপনাকে বিভিন্ন ফলাফল দেয় বলে ফাইলগুলির আকারটি পড়ার সঠিক উপায়টি কী তা বুঝতে আমার অসুবিধা হচ্ছে। আমি http://forums.devshed.com/linux-help-33/du-and-ls-generating-inconsistance-file-sizes-42169.html এ একটি পোস্টও দেখতে পেয়েছি যা নিম্নলিখিতটি জানিয়েছে;

du ফাইল ফাইলটি যেমন ফাইল সিস্টেমে থাকে তেমন আকার দেয়। (IE আপনাকে সর্বদা এমন ফলাফল দেবে যা 1024 দ্বারা বিভাজ্য)।

ls আপনাকে ফাইলের আসল আকার দেবে।

আপনি যা দেখছেন তা হ'ল ফাইলের আসল আকার এবং এটির ডিস্কে স্থানের পরিমাণের মধ্যে পার্থক্য। (একে ফাইল সিস্টেমের দক্ষতাও বলা হয়)।

এটি ফাইল সিস্টেম এবং ফাইলের প্রকৃত আকারের উপর নির্ভর করে তার মধ্যে পার্থক্য কী

উত্তর:


48

একে বলা হয় স্ল্যাক স্পেস :

পৃথক বিট এবং বাইটের শীর্ষে বিমূর্ততার প্রতিটি স্তর নষ্ট স্থানের ফলস্বরূপ যখন কোনও ডাটাফিল ক্ষুদ্রতম ডাটা ইউনিটের চেয়ে ছোট হয় তখন ফাইল সিস্টেম ট্র্যাকিং করতে সক্ষম হয়। একটি সেক্টর, গুচ্ছ বা ব্লকের মধ্যে এই নষ্ট স্থানকে সাধারণত স্ল্যাক স্পেস হিসাবে উল্লেখ করা হয় এবং এটি সাধারণত অতিরিক্ত ডেটা সঞ্চয় করার জন্য ব্যবহার করা যায় না। পৃথক 256-বাইট সেক্টরের জন্য, সর্বোচ্চ অপচয় করা স্থানটি 255 বাইট। Kil৪ কিলোবাইট ক্লাস্টারের জন্য সর্বাধিক নষ্ট স্থান 65,535 বাইট।

সুতরাং, যদি আপনার ফাইল সিস্টেমটি KB৪ কেবি ইউনিটে স্থান বরাদ্দ করে এবং আপনি একটি ৩ কেবি ফাইল সঞ্চয় করেন তবে:

  • ফাইলটির আসল আকার 3 কেবি।
  • ফাইলটির আবাসিক আকার KB৪ কিলোবাইট, যেহেতু সেই ইউনিটে থাকা 61১ কেবি অন্য কোনও ফাইলের জন্য বরাদ্দ করা যায় না এবং এভাবে হারিয়ে যায়।

দ্রষ্টব্য : কিছু ফাইল সিস্টেমগুলি অবরুদ্ধ সাবলোকেশন সমর্থন করে, যা একই ব্লকে একাধিক ছোট ফাইল (বা বড় ফাইলগুলির পুচ্ছ প্রান্ত) নির্ধারণ করে এই সমস্যাটি প্রশমিত করতে সহায়তা করে।


1
এটি এক জঘন্য ব্যাখ্যা।
স্পেসম্যানস্পিফ

1
@ হ্যান্ডিম্যান 5 - ধন্যবাদ হ্যান্ডিম্যান 5। সুতরাং আমি যখন কোনও ফাইল বা ফোল্ডারের আকারের দিকে তাকিয়ে থাকি তখন এলএস এটি আসল আকারটি দেয় তবে ডু বাসিন্দার আকারটি ফেরত দেয়? এটা কি ঠিক? সুতরাং ফাইলের আকারের দিকে তাকানোর সময় কোনটি সবচেয়ে নিখুঁত অর্থাৎ আবাসিক আকার বা ফাইলের আকার বা এটি একটি স্বেচ্ছাসেবী প্রশ্ন?
চিনাবাদু মনকি

8
@ পানটসমনকি, নির্ভুলতা দর্শকের চোখে পড়ে। ;-) মূলত, আপনি যদি ফাইলটি অন্য কোথাও নিয়ে যায় (যেমন নেটওয়ার্কের অনুলিপি করা, একটি জিপ ফাইলে যুক্ত করা, কোনও বাহ্যিক ড্রাইভে ব্যাকআপ ইত্যাদি) নিয়ে উদ্বিগ্ন থাকেন তবে প্রকৃত আকারটি কী আপনি যত্নশীল. আপনি যদি এখন ফাইলটি যেখানে বাস করেন সেই ড্রাইভে থাকা পরিমাণের পরিমাণ নিয়ে উদ্বিগ্ন হন তবে আপনি আবাসিক আকারের বিষয়ে যত্নশীল হন। যেহেতু duআপনাকে dইস্ক sষি দেখাচ্ছে u, এটি বর্তমান ড্রাইভে নেওয়া স্থানটির দিকে নজর দিচ্ছে এবং এটি আপনাকে আবাসিক আকার দেখায়।
Handyman5

1
@ হ্যান্ডিম্যান 5 - এটি পোস্টের প্রায় এক বছর পরে কিন্তু কৌতূহলজনক যে ব্যবহারের সময় উপরের উত্তরটি কীভাবে আলাদা হয় df -h?
চিনাবাদামমনেকি

1
dfঅবশিষ্ট ব্লকের সংখ্যা * ফাইল সিস্টেম ব্লক আকারের রিপোর্ট করে। এই ক্ষেত্রে এটি আরও বেশি পছন্দ হবে du, এমনকি আংশিকভাবে ব্যবহৃত ব্লকগুলি সম্পূর্ণ বরাদ্দ হিসাবে বিবেচিত হয়। dfমূলত স্ট্যাটিভিএফস অনুবাদ করে , তাই কী চলছে সে সম্পর্কে আরও ভাল ধারণা পেতে আপনি সেই সিস্টেম কলটির দিকে নজর দিতে পারেন।
Handyman5

19

এখানে আরও একটি বিকল্প রয়েছে, এটি আবৃত হয়নি - স্পার্স ফাইল । এই ক্ষেত্রে, duএকটি সহজ চেয়ে ছোট সাইজ দেখাবে ls -l, কারণ lsহচ্ছে ফাইলের "আকার" প্রতিবেদন আপাত , আকার (আপনি পড়তে যদি আপনি শূন্যর একটি সম্পূর্ণ অনেক চেয়েছিলেন পারে বাইটের সংখ্যা) যখন duইচ্ছা ব্যবহৃত প্রকৃত সংখ্যা ডিস্ক ব্লক ব্যবহার চালিয়ে যান।

মজাদার কৌশল: একটি বিশাল অনেক বড় স্পার্স ফাইল তৈরি করুন, তারপরে আপনার বন্ধুদের কাছে আপনার কত ডিস্কের জায়গা রয়েছে তা মুগ্ধ করুন ("দেখুন, আমি আমার হার্ড ড্রাইভে এগারো-গাজিলিয়ন 1 টিবি ফাইল সঞ্চয় করছি!")। ঠিক আছে, সম্ভবত এত মজা না।


6

ফাইল সিস্টেমগুলি ব্লক দিয়ে তৈরি। ফাইলগুলি ব্লকগুলিতে ঝরঝরে করে ফিট করতে হবে না। যদি কোনও ফাইল 1024 বাইট হয় তবে এটির আকার ls এবং du হবে 1024 the

উপরের উদাহরণটি নোট করুন যা 1024 এর একটি ব্লকের আকার ধরেছে these

ls -l fred
-rw-r--r-- 1 iain users 1024 Jul 13 22:06 fred

du -h fred
8.0K    fred

0

তারা আরও আলাদা হতে পারে আরও একটি কারণ আছে। du -h জানেন যখন এটি একই ফাইলটি অন্য নামের অধীনে (হার্ড লিঙ্কগুলি, যেমন সিমলিংকের বিপরীতে) দেখায় এবং প্রতিটি ফাইলের আকারের জন্য প্রতিবেদন করবে তবে সাধারণ পিতামহ ডিরেক্টরিতে কেবল একবার আকার যুক্ত করবে।

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