অ-অপ্রত্যাশিত আচরণ -হাজ্বের পতাকা উত্তরে ড


0

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

যখন আমি সক্রিয়ভাবে লিখছি এমন একটি ডিরেক্টরিরির আকার পরিমাপ করার সময় আজ আমার খুব অদ্ভুত অভিজ্ঞতা ছিল।

>>> du -s
15565160    .
>>> du -sh
7.4G    .

প্রথম দিকে আমি ভেবেছিলাম যে আমি একটি অদ্ভুত জায়গায় ডিরেক্টরিটি ধরছি, কিন্তু আমি দেখলাম যে উভয় মান খুব স্থির ছিল, আমি ডিরেক্টরিতে লিখিত রেখেছি কেবলমাত্র সামান্য বৃদ্ধি / হ্রাসকৃত মানগুলি ফেরত দিচ্ছি। আমার প্রথম ধারণাটি ছিল যে এটি কিছু অদ্ভুত মধ্যস্থতাকারী রাষ্ট্র ছিল, তবে সেই ক্ষেত্রে আমি এর ফলে জঙ্গলের ঝাঁকুনি আশা করতাম। du -s যে আমি পালন না।

এখানে কি হচ্ছে? কি হয় 155... নম্বর? এটি বাইট মত মনে হচ্ছে না। প্রায় 450 এর মধ্যে একটি সুন্দর সামঞ্জস্যপূর্ণ অনুপাত বলে মনে হচ্ছে। অর্থাৎ, আমি যদি একাধিক ফলাফল পাই du -s 450 দ্বারা আমি উল্লিখিত বাইট সংখ্যা কাছাকাছি কাছাকাছি পেতে du -sh

বড় প্রশ্ন যদি আমি সব বরাবর ভুল হয়েছে। কেন যোগ করা হয় -h এই প্রসঙ্গে মুদ্রণ বিন্যাস পরিবর্তন ছাড়া অন্য কিছু করছেন?

উত্তর:


4

প্রথম বন্ধ, আপনি সঠিক। দ্য -h পতাকা (সাহায্য পাঠ্য মুদ্রণ করতে ব্যবহৃত হয় না) বিভিন্ন অ্যাপ্লিকেশন বলতে ব্যবহার করা হয় রূপান্তর আউটপুট "মানুষের পঠনযোগ্য বিন্যাস।" এটি গুরুত্বপূর্ণ ... আমরা এটি ফিরে আসব। জন্য du বিশেষ করে -s পতাকা তার স্বাভাবিক "প্রতি-ডিরেক্টরি" আউটপুট একটি সারাংশ দেয়। মূলত, এটি একসঙ্গে সব যোগ করে।

du লজিকাল ব্লকগুলির একটি ডিরেক্টরি এবং তার সামগ্রীগুলি স্টোরেজ মিডিয়াতে দখল করার সংখ্যাগুলি ডিফল্ট করে। দখলকৃত ব্লকগুলির সংখ্যা অনেক ডিস্ক ইউটিলিটি এবং স্ক্রিপ্টিংয়ের জন্য দরকারী ... তবে এটি খুব "মানব পাঠযোগ্য নয়।" -H ফ্ল্যাগটি ব্লক গণনাগুলিকে কয়েকটি বাইটে রূপান্তর করে, তারপর 1024 এর নিকটতম ফ্যাক্টরগুলিতে রাউন্ডগুলি (এবং কয়েকটি শেনানিজ্যান্স ... আমরা আপনার ক্ষেত্রে গিগাবাইটস এবং দশমিক অতীতের এক ডিজিট শেষ করি)।

আপনি যা বলেছেন তা প্রদত্ত, আমি আপনার সিস্টেমে একটি 512-বাইট ব্লক আকারের জন্য কনফিগার করা হয়েছে betting করতে ইচ্ছুক কারণ:

15565160 * 512 / 1024^3

এটা মনে রাখা গুরুত্বপূর্ণ du ব্লক আকার সমান (ক্রম), মান সেট দ্বারা অনুমান --block-size= পতাকা, মান DU_BLOCK_SIZE, BLOCK_SIZE, অথবা BLOCKSIZE পরিবেশ ভেরিয়েবল, বা 1024। 1024 বিটগুলি সাধারণ ডিফল্ট ব্লক আকার যা বেশিরভাগ আধুনিক ফাইল সিস্টেম দ্বারা ব্যবহৃত হয়। কিন্তু 512 বাইট ব্লক বিশেষত বিরল নয়। এই পরিবর্তনগুলি পরীক্ষা করুন, তাদের মধ্যে একটি সম্ভবত 512 সেট করা হয়। অথবা আপনার একটি বিশেষ সংস্করণ থাকতে পারে du


এটা ব্যাখ্যা করে! অনেক ধন্যবাদ. ডি আকার ব্লক ডিফল্ট কোন ধারণা ছিল। অনুমান করে যে ls থেকে বাইটগুলি সামঞ্জস্যপূর্ণ ছিল, কিন্তু পরিষ্কারভাবে একটি খারাপ অনুমান
Slater Victoroff
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.