কিভাবে লিনাক্সে একটি ডাইরেক্টরির সাইজ পাবেন

How Get Size Directory Linux



লিনাক্সে একটি ডাইরেক্টরির সাইজ জানা যতটা সহজ মনে হয় ততটা সহজ নয়। Ls -s কমান্ড ফাইল এবং সাব -ডিরেক্টরিকে তাদের মাপ সহ তালিকাভুক্ত করবে। যাইহোক, ডিরেক্টরিগুলির জন্য দেওয়া মাপগুলি (প্রায় 4096 বাইট) ডিস্ক ব্যবহার নয়। একটি ডিরেক্টরির জন্য দেখা মাপ হল ডিরেক্টরির মেটা-ডেটার আকার।

মেটাডেটা হলো ডেটা সম্পর্কিত তথ্য। আপাত আকার হল কম্পিউটারের সাধারণ ব্যবহারকারীর কাছে গুরুত্বপূর্ণ ডাটার আকার। ব্যবহারকারীর চিঠি, ছবি, ভিডিও ইত্যাদির বিষয়বস্তু (পাঠ্য), আপাত আকার গঠন করে। এই তথ্য কম্পিউটারে নির্বিচারে রাখা হয় না। আপাত আকারের ডেটা অবশ্যই নিয়ন্ত্রিত পদ্ধতিতে রাখতে হবে। এটা সনাক্তকরণযোগ্য হতে হবে। এটি সম্পূর্ণ হতে হবে। এর জন্য অন্যান্য প্রয়োজনীয়তা রয়েছে। এই অতিরিক্ত প্রয়োজনীয়তা অর্জনের জন্য কিছু অতিরিক্ত ডেটার প্রয়োজন হয় এবং এই অতিরিক্ত ডেটা হল মেটা-ডেটা।







মনে রাখবেন, একটি ভলিউমে শুধুমাত্র একটি ডিরেক্টরি আছে। বাকিগুলি সাব-ডাইরেক্টরি। রুট ডাইরেক্টরি সাব-ডাইরেক্টরিকে জন্ম দেয়, যা অন্য সাব-ডাইরেক্টরিকে নিচে নামতে দেয়। যাইহোক, সাব-ডাইরেক্টরিগুলিকে সাধারণত ডাইরেক্টরি বলা হয়। এবং তাই, শুধুমাত্র একটি ডিরেক্টরি গাছ আছে।



সুতরাং, ls -s একটি ডিরেক্টরি আকার পেতে দরকারী নয়। তাহলে কোন কমান্ডটি দরকারী? - du কমান্ড। du মানে ডিস্ক ব্যবহার। এটি ডিরেক্টরিটির ডিস্ক ব্যবহার মুদ্রণ করে।



এই নিবন্ধটি লিনাক্সে du কমান্ডের বিভিন্ন বৈশিষ্ট্য ব্যাখ্যা করে, যা বিভিন্ন প্রোগ্রামারকে ডিরেক্টরিগুলির আকার এবং তাদের উপ-ডিরেক্টরিগুলি জানার উপায় প্রদান করে। বাশ হল এই নিবন্ধের কোড নমুনার জন্য ব্যবহৃত শেল।





নিবন্ধ বিষয়বস্তু

du বিকল্প বা যুক্তি ছাড়া

বর্তমান ওয়ার্কিং ডিরেক্টরি হল সেই ডিরেক্টরি যা ব্যবহারকারী বর্তমানে কাজ করছেন। কোন বিকল্প এবং যুক্তি ছাড়াই du টাইপ করা, যেমন:



এর

এবং তারপর এন্টার কী টিপলে বর্তমান ওয়ার্কিং ডিরেক্টরির সমস্ত সাব-ডিরেক্টরিতে ডিস্কের ব্যবহার প্রদর্শিত হবে। এটি বর্তমান কর্মপরিচালনার উপ-গাছের জন্য এই তথ্য প্রদর্শন করবে। ডিসপ্লেতে একটি বিন্দু বর্তমান কার্যকরী ডিরেক্টরি উপস্থাপন করে।

উপ-বৃক্ষের প্রতিটি পথ প্রদর্শনীর একটি লাইনে উপস্থাপন করা হয়। প্রতিটি লাইন ডিরেক্টরির আকার দিয়ে শুরু হয় (যা পথের শেষ নাম)। প্রদর্শন কিছু হতে পারে:

8/dir1/dir2/dir3/dir4

12/dir1/dir2/dir3

16/dir1/dir2

বিশ/dir1

লক্ষ্য করুন যে আকারটি বাইট বা কিলোবাইট বা মেগাবাইট বা গিগাবাইটে আছে কিনা তা স্পষ্ট নয়। প্রতীক কিলোবাইট, K মানে 1024 বাইট; প্রতীক মেগাবাইট, এম মানে 1,048,576 বাইট; প্রতীক গিগাবাইট, জি মানে 1,073,741,824 বাইট। গুণক নির্দেশ করার জন্য, -h বিকল্প (সুইচ) ব্যবহার করা উচিত, নিম্নরূপ:

এর -হ

ডিসপ্লেটি তখন দেখতে এমন হবে:

8.0 কে।/dir1/dir2/dir3/dir4

12 কে।/dir1/dir2/dir3

16 কে।/dir1/dir2

20 কে।/dir1

যখন -h বিকল্পটি ব্যবহার করা হয়, মাপগুলি একটি পঠনযোগ্য আকারে বলা হয়।

দ্রষ্টব্য: –all বিকল্পের সাথে, du কমান্ড ফাইলগুলির জন্য ডিস্ক ব্যবহারও দেবে; যাইহোক, এই নিবন্ধে ফাইলগুলির জন্য ডিস্ক ব্যবহার করা হবে না।

অন্যান্য ডিরেক্টরিগুলির আকার

একটি লিনাক্স ভলিউমের জন্য একটি সাধারণ পরম পথ নিম্নরূপ:

/বাড়ি/জন/বলুন/dirTwo/dirThree/dirFour

প্রথম / হল মূল ডিরেক্টরি। এই ডিরেক্টরিতে হোম ডিরেক্টরি সহ অবিলম্বে উপ-ডিরেক্টরি রয়েছে। হোম ডিরেক্টরিতে ব্যবহারকারীর ডিরেক্টরি থাকে। যদি ব্যবহারকারীর নাম জন হয়, তাহলে সে ব্যবহারকারীর ডিরেক্টরি নাম দিতে পারে, জন। ব্যবহারকারীর ডিরেক্টরি identified দ্বারা চিহ্নিত করা হয়। সুতরাং, ব্যবহারকারী যেকোনো ডিরেক্টরি থেকে তার ডিরেক্টরিতে পৌঁছানোর জন্য cd command কমান্ড ব্যবহার করতে পারেন। dirOne ব্যবহারকারী দ্বারা তৈরি একটি ডিরেক্টরি। ব্যবহারকারী এই স্তরে অন্যান্য ডিরেক্টরিও তৈরি করতে পারেন। dirTwo, dirThree এবং dirFour তাদের আগের ডিরেক্টরিগুলির সাব-ডিরেক্টরি, যা ব্যবহারকারী তৈরি করেছেন।

ব্যবহারকারী যে কোন ডিরেক্টরি থেকে অন্য যেকোনো ডিরেক্টরি এবং তার সাব-ডাইরেক্টরির আকার (সাব-ট্রি) জানতে পারে, একটি যুক্তি হিসাবে পরম পথকে অতিক্রম করে। উদাহরণস্বরূপ, যদি ডিস্ক ব্যবহারের প্রয়োজন হয়,

/বাড়ি/জন/বলুন/dirTwo

তারপর কমান্ড হবে:

এর -হ /বাড়ি/জন/বলুন/dirTwo

অথবা

এর -হ~/বলুন/dirTwo

যেখানে the ব্যবহারকারীর ডিরেক্টরি উপস্থাপন করে।

আপেক্ষিক পথ ব্যবহার করার জন্য, ব্যবহারকারীকে ইতিমধ্যেই সংশ্লিষ্ট মূল নির্দেশিকায় থাকতে হবে। উদাহরণস্বরূপ, যদি প্রম্পট দেখাচ্ছে,

জনহোস্ট:/$ বলুন

মানে ব্যবহারকারী ডিরেক্টরিতে আছে,

এর -হdirTwo

পথ এখনও আপেক্ষিক হবে। বর্তমান ডিরেক্টরিটির জন্য একই তথ্য প্রদর্শন করতে, কোন যুক্তি ব্যবহার করবেন না, অথবা বিন্দু ব্যবহার করুন।

এই স্কিমটি শুধুমাত্র একটি ডাইরেক্টরির আকার পেতে ব্যবহার করা যেতে পারে, একটি পাথের শেষ (পথের আগে)। একটি পথের মাঝখানে একটি ডাইরেক্টরির আকার পাওয়া সম্ভব - নীচে exclude = PATTERN দেখুন।

সর্বমোট

জড়িত সমস্ত ডিরেক্টরিগুলির একটি মোট মোট আকার উত্পাদিত হতে পারে। উপরের পরিস্থিতির জন্য, কমান্ডটি হবে:

এর -হ -মোট

আপাত আকার

আপাত আকার সাধারণত ডিস্ক ব্যবহারের চেয়ে ছোট। যাইহোক, কিছু পরিস্থিতিতে, আপাত আকার ডিস্ক ব্যবহারের চেয়ে বড়; কারণ - পরে দেখুন। উপরের আপেক্ষিক পথের জন্য আপাত আকারগুলি পাওয়ার কমান্ডটি হবে:

এর -হ -দৃশ্যমান আকারdirTwo

সর্বোচ্চ-গভীরতা

X ম্যাক্স-ডেপথ = 0 দিয়ে, ডু শুধুমাত্র বর্তমান ওয়ার্কিং ডিরেক্টরির আকার প্রিন্ট করে; du –max-গভীরতা = 1 এর সাথে, du বর্তমান কার্যকরী ডিরেক্টরির আকার এবং এর প্রথম স্তরের সমস্ত উপ-ডিরেক্টরিগুলির আকার প্রিন্ট করে; x ম্যাক্স-ডেপথ = 2 দিয়ে, ডু বর্তমান ওয়ার্কিং ডিরেক্টরির আকার এবং এর প্রথম স্তরের সমস্ত উপ-ডিরেক্টরি এবং এর সমস্ত দ্বিতীয় স্তরের উপ-ডিরেক্টরিগুলির আকার প্রিন্ট করে; x ম্যাক্স-ডেপথ = 3 দিয়ে, ডু বর্তমান ওয়ার্কিং ডাইরেক্টরির আকার এবং এর প্রথম স্তরের সমস্ত উপ-ডিরেক্টরি, এবং এর সমস্ত দ্বিতীয় স্তরের উপ-ডিরেক্টরি এবং এর তৃতীয় স্তরের সমস্ত উপ-ডিরেক্টরিগুলি মুদ্রণ করে; এটি সর্বোচ্চ গভীরতার ক্রমবর্ধমান মান নিয়ে চলতে থাকে। এর ব্যবহারের একটি উদাহরণ হল:

এর -হ --সর্বোচ্চ গভীরতা=2

সুডো কমান্ড

রুট ডিরেক্টরিতে তার নিজস্ব সাব-ডিরেক্টরি সহ একটি ডিরেক্টরি হল var। যদি ব্যবহারকারী টাইপ করে

এর -হ /কোথায়

এবং এন্টার টিপুন, তিনি বুঝতে পারবেন যে কিছু ডিরেক্টরিগুলির জন্য অনুমতি অস্বীকার করা হয়েছে। অর্থাৎ, তিনি কিছু ডিরেক্টরির মাপ জানতে পারেন না। অনুমতি প্রত্যাখ্যান করা হয়েছে কারণ ব্যবহারকারী সুপার ইউজার নয়। সুপার ব্যবহারকারীর সেই ডিরেক্টরিগুলির আকার (ডিস্ক ব্যবহার) দেখার সুযোগ রয়েছে। সুতরাং, ব্যবহারকারীর সেই বিশেষাধিকার অর্জনের জন্য, তাকে সুডো কমান্ডটি নিম্নরূপ ব্যবহার করতে হবে:

sudo এর -হ /কোথায়

যদি শেল ব্যবহারকারীকে তার পাসওয়ার্ড জিজ্ঞাসা করে, ব্যবহারকারীকে অবশ্যই পাসওয়ার্ড টাইপ করতে হবে এবং এন্টার টিপতে হবে। Sudo কমান্ডের সাহায্যে, সাধারণ ব্যবহারকারী (প্রোগ্রামার) var ডিরেক্টরি এবং অনুরূপ ডিরেক্টরিগুলির সমস্ত ডিরেক্টরিগুলির আকার দেখতে পারেন।

আকার দ্বারা এন্ট্রি বাদ

Resh থ্রেশহোল্ড = SIZE বিকল্প তালিকা তালিকাগুলিকে অনুমতি দেবে না যার আকার SIZE এর চেয়ে কম। পথের জন্য,

/বাড়ি/জন/বলুন/dirTwo/dirThree/dirFour

এ প্রম্পট দিয়ে[ইমেল সুরক্ষিত]: ~ $, তাহলে

এর -হ -থ্রেশহোল্ড= 12K dirOne

যেখানে 12K মানে 12 কিলোবাইট, যে কোন ডিরেক্টরির লাইন প্রদর্শন করবে না যার ডিস্ক ব্যবহার 12K এর কম।

Xexclude = প্যাটার্ন

এই বিকল্প এবং মান ডিরেক্টরি লাইনগুলি বাদ দিতে পারে যা ব্যবহারকারী তালিকায় চান না।

শেষ ডিরেক্টরিটির জন্য লাইনটি বাদ দিতে, পথের dirFour

/বাড়ি/জন/বলুন/dirTwo/dirThree/dirFour

কমান্ড হওয়া উচিত:

এর -হ -বাদ দিন= বলে/dirTwo/dirThree/dirFour dirOne

ফলাফল এমন কিছু হবে,

4.0K dirOne/dirTwo/dirThree

8.0K dirOne/dirTwo

12K dirOne

দ্রষ্টব্য: মাপগুলি পথের শেষ স্তরের ডিরেক্টরি (dirFour) এর আকার অন্তর্ভুক্ত করে নি।

শুধুমাত্র উপরের গভীরতার ডাইরেক্টরি এবং তাদের সাব-ট্রিগুলির আকার থাকতে, বিকল্পে নিম্ন গভীরতার ডিরেক্টরি নেই। সুতরাং আদেশ দিয়ে,

এর -হ -বাদ দিন= বলে/dirTwo/dirThree dirOne

আউটপুট এমন কিছু হবে,

4.0K dirOne/dirTwo

8K dirOne

দ্রষ্টব্য: আকারগুলি গাছের নিম্ন লিভার ডিরেক্টরিগুলির আকার বাদ দিয়েছে।

আবার বিবেচনা করুন, পরম লিঙ্ক,

/বাড়ি/জন/বলুন/dirTwo/dirThree/dirFour

নিম্নলিখিত কমান্ডটি শুধুমাত্র dirTwo ডিরেক্টরির ডিস্ক ব্যবহার পাবে, যা পথের মধ্যে একটি ডিরেক্টরি। কমান্ড হল:

এর -হ -বাদ দিন=/বাড়ি/জন/বলুন/dirTwo/ * /বাড়ি/জন/বলুন/dirTwo

যুক্তিতে সমস্ত পূর্ববর্তী ডিরেক্টরিগুলি প্রশ্নবিদ্ধ একের কাছে রয়েছে। বাদ দেওয়ার মানটিতে সমস্ত পূর্ববর্তী ডিরেক্টরি রয়েছে, * *দিয়ে শেষ হচ্ছে, এক প্রশ্নের পরে। * মানে সেই স্তরের সমস্ত উপ-ডিরেক্টরি (এবং তাদের উপ-গাছ)। ফলাফল এমন কিছু হবে,

5.0 কে/বাড়ি/জন/বলুন/dirTwo

উপসংহার

Ls -s কমান্ড দিয়ে একটি ডিরেক্টরির আকার জানার চেষ্টা করা বিভ্রান্তিকর। এটির সাহায্যে, কেবলমাত্র ডিরেক্টরিটির মেটা-ডেটা পাওয়া যায়। একটি ডিরেক্টরি ডিস্ক ব্যবহার জানতে, du কমান্ড ব্যবহার করা উচিত। যখন -h বিকল্পের সাথে ব্যবহার করা হয়, ডিরেক্টরিগুলির আকারগুলি পাঠযোগ্য। আপাত আকারের বিকল্পটি ব্যবহার করে আপাত আকার পাওয়া যায়। কোন বিকল্প এবং যুক্তি ছাড়াই, du কমান্ড শুধু বর্তমান ডিরেক্টরির সমস্ত সাবডিরেক্টরির মাপ প্রদর্শন করে, যার মধ্যে বর্তমান ডিরেক্টরিও রয়েছে। Du এর যুক্তি হল পথ, যা মূল থেকে শুরু হতে পারে। বিকল্পগুলি এবং তাদের কিছু মান ঠিক করে যে কোন ডিরেক্টরিগুলি ঠিক করা হয়েছে। Sudo কমান্ড ডিফল্টভাবে সাধারণ ব্যবহারকারীকে সুপার ইউজার সুবিধা দেয়।