কম্পিউটার টিউটোরিয়াল

লিনাক্সে সবচেয়ে হ্যান্ডি du (ডিস্ক ইউজেজ) কমান্ডগুলো

du হল লিনাক্সের সাথে আসা একটি কমান্ড লাইন টুল যা ডিরেক্টরি এবং ফাইল দ্বারা ব্যবহৃত ডিস্ক স্পেসের পরিমাণ রিপোর্ট করে। "ডিস্ক ইউজেজ"-র সংক্ষিপ্ত রূপ du কমান্ড লাইনে ডিস্ক স্পেস বিশ্লেষণ করার জন্য প্রাথমিক টুল।

বেসিক ব্যবহার

du /path/to/directory

du কমান্ডটি একটি ডিরেক্টরির সাথে চালিয়ে প্রতিটি ডিরেক্টরি দ্বারা নেওয়া ডিস্ক স্পেসের একটি সম্পূর্ণ বিশ্লেষণ দেখতে পাবেন। প্রতিটি ডিরেক্টরি বারবার স্ট্যান্ডার্ড আউটপুটে লিস্ট হবে, তাই বড় ডিরেক্টরি বা ফুল সিস্টেম স্ক্যান দশ হাজার লাইন তৈরি করতে পারে এবং قابل குறிப்பযোগ্য সময় নিতে পারে। ফলস্বরূপ, বেসিক du কমান্ড সাধারণত নিচে নির্দিষ্ট ফ্ল্যাগগুলোর সাথে সম্পূরক করা হয়। এই ফ্ল্যাগগুলোর যেকোনো একটা অন্যটির সাথে কম্বাইন করা যায়, যদিও কিছু কম্বিনেশন একে অপরকে বাধা দেয় কারণ সেগুলো বিরোধाभাসী।

আউটপুট নিয়ন্ত্রণ

লিনাক্সে সবচেয়ে হ্যান্ডি du (ডিস্ক ইউজেজ) কমান্ডগুলো
du -c

du আউটপুটের নিচে একটি লাইন দেখায় যাতে স্ক্যান করা ডিরেক্টরিগুলো দ্বারা ব্যবহৃত মোট ডিস্ক স্পেস বোঝা যায়।

du -s

শুধু নির্দিষ্ট ডিরেক্টরির দ্বারা ব্যবহৃত মোট ডিস্ক স্পেসের সারমর্ম দেখায়। সারমর্ম ক্যালকুলেট হওয়া পর্যন্ত কোনো আউটপুট দেখাবে না।

du > du-report.txt

কমান্ড লাইন প্রোরা এই কমান্ড চিনবেন, কিন্তু সবাই প্রো নন। এটি বর্তমান ওয়ার্কিং ডিরেক্টরিতে "du-report.txt" নামে একটি টেক্সট ফাইলে কমান্ডের রেজাল্ট আউটপুট করবে।

du | less

ডিসপ্লে-কে less টেক্সট এডিটরে পাইপ করে, less নেভিগেশন শর্টকাট দিয়ে স্কিম করা যাবে এমন একটি সহজে পঠনযোগ্য ফলাফল তৈরি করে।

সাইজ ডিসপ্লে পরিবর্তন

লিনাক্সে সবচেয়ে হ্যান্ডি du (ডিস্ক ইউজেজ) কমান্ডগুলো

নোট করুন যে ফাইল সাইজগুলো সাধারণত রাউন্ড অফ হয় যখন স্পেসিফিক ইউনিট ডিক্লেয়ার করা হয়। উদাহরণস্বরূপ, একটি 4KB ফাইল -m ফ্ল্যাগ কল করলে শূন্য মেগাবাইট হিসেবে দেখাবে, যখন একটি 750KB ফাইল 1MB হিসেবে দেখাবে।

du -h

মানব পঠনযোগ্য ("human readable") ফরম্যাটে ডিসপ্লে করে উপযুক্ত সাইজ সহ, যেমন কিলোবাইট, মেগাবাইট, এবং গিগাবাইট, স্ট্যান্ডার্ড ব্লক সাইজের বদলে।

du -k

1024-বাইট (১ কিলোবাইট) ব্লকে ব্লক কাউন্ট ডিসপ্লে করে।

du -m

১,০৪৮,৫৭৬-বাইট (১ মেগাবাইট) ব্লকে ব্লক কাউন্ট ডিসপ্লে করে।

du -g

১,০৭৩,৭৪১,৮২৪-বাইট (১ গিগাবাইট) ব্লকে ব্লক কাউন্ট ডিসপ্লে করে।

ফাইল এবং লিংক অন্তর্ভুক্ত করা

লিনাক্সে সবচেয়ে হ্যান্ডি du (ডিস্ক ইউজেজ) কমান্ডগুলো
du -L

কমান্ড লাইন এবং ফাইল হায়ারার্কিতে সিমবোলিক লিংক ফলো (বা "ডিরেফারেন্স") করে। অন্যথায়, সিমবোলিক লিংক নিজের দ্বারা নেওয়া স্পেস রিপোর্ট করা হবে (সাধারণত ফাইল সিস্টেম মিনিমাম) সে ডিরেক্টরি ট্রির বদলে যেটিকে সিমবোলিক লিংকটি নির্দেশ করে।

du -a

শুধু ডিরেক্টরি নয়, সব ফাইলের ডিস্ক ইউজেজ দেখায়।

du /path/to/file.txt

কমান্ডে নামকৃত একটি নির্দিষ্ট ফাইলের ডিস্ক ইউজেজ প্রদর্শন করে।

ফাইল, ডিরেক্টরি, এবং লিংক বাদ দেওয়া

লিনাক্সে সবচেয়ে হ্যান্ডি du (ডিস্ক ইউজেজ) কমান্ডগুলো
du -X FILE

নির্দিষ্ট স্ট্রিং-এ যেকোনো প্যাটার্ন মিল করলে সেই ফাইলগুলো বাদ দেয়।

du --exclude="*.o"

প্যাটার্ন দ্বারা নির্দিষ্ট ফাইল এবং সাবডিরেক্টরি বাদ দেয়। এই উদাহরণে "*.o" স্ট্রিং ধারণ করা সকল ডিরেক্টরি স্কিপ হবে। নোট করুন যে এগুলো শেল প্যাটার্ন, রেগুলার এক্সপ্রেশন নয়। তাই, কন্ট্রোল ক্যারেক্টার সীমাবদ্ধ *, যা শূন্য বা অধিক ক্যারেক্টার এর যেকোনো স্ট্রিং মিল করে, এবং ?, যা যেকোনো একক ক্যারেক্টার মিল করে। এটি ডিরেক্টরি সাইজের ক্যালকুলেশন থেকে এই ফাইলগুলো বাদ দেয়। -a ফ্ল্যাগ ব্যবহার করলে, বাদ দেওয়া ফাইলগুলো রেজাল্ট আউটপুটে স্কিপ হবে।

du --threshold=SIZE

SIZE পজিটিভ হলে SIZE-র চেয়ে ছোট এন্ট্রিগুলো বাদ দেয়, বা SIZE নেগেটিভ হলে SIZE-র চেয়ে বড় এন্ট্রিগুলো বাদ দেয়। SIZE একটি ইন্টিজার এবং একটি (অপশনাল) ইউনিট নেয়। উদাহরণস্বরূপ, --threshold=1MB ১ মেগাবাইট (১০০০^২ বাইট) এর চেয়ে ছোট সকল ফাইল স্কিপ করবে। ইউনিট شامل K, M, G, T, P, E, Z, Y ১০২৪-এর ঘাতের জন্য (কিবিবাইট, মিবিবাইট, গিবিবাইট, ইত্যাদি) বা KB, MB, GB, TB, … ১০০০-এর বেশি স্ট্যান্ডার্ডাইজড ঘাতের জন্য (কিলোবাইট, মেগাবাইট, গিগাবাইট, ইত্যাদি)। এটি আপনার সিস্টেমে সবচেয়ে বড় ফাইলগুলো খুঁজে বের করার জন্য du --threshold=1GB কমান্ডের মতো একটি উপকারী টুল হতে পারে।

du -d N

N ফোল্ডার পর্যন্ত maksimum গভীরতা সেট করে। এই ফ্ল্যাগ যেকোনো পজিটিভ ইন্টিজার নিতে পারে। এই সেটিংসহ, du নির্দিষ্ট ডিরেক্টরিতে দুটি সাবডিরেক্টরি পর্যন্ত স্ক্যান করবে। যদি আরও সাবডিরেক্টরি থাকে, তবে সেগুলো আলাদাভাবে স্ক্যান হবে না। বরং, তাদের মান রিপোর্ট করা ফোল্ডারগুলোর মধ্যে অন্তর্ভুক্ত থাকবে। নোট করুন -d 0 একই রেজাল্ট দেবে -s ফ্ল্যাগের মতো।

উদাহরণস্বরূপ, ডিরেক্টরি পাথ "dir1/dir2/dir3/dir4" বিবেচনা করুন, যেটিতে একটি প্যারেন্ট ডিরেক্টরি এবং তিনটি সাবডিরেক্টরি রয়েছে। du -d 2 dir1 সেটিংসহ du dir3-এ পর্যন্ত স্ক্যান করবে। dir3-এর সাইজ dir4-এ থাকা ফাইলগুলোকেও অন্তর্ভুক্ত করবে, যদিও dir4 আলাদাভাবে লিস্টেড নয়।

উপসংহার: du পাইপিং

du কমান্ড অন্যান্য ইউটিলিটির সাথে জোড়া দিয়ে সবচেয়ে বেশি উপকারী হয়, যেমন কমান্ড du -a / | sort -n -r | head -n 10। এটি আপনার পুরো ফাইলসিস্টেম সার্চ করবে (du -a /), রেজাল্টগুলো সাইজ অনুযায়ী সর্ট করবে (sort -n -r), এবং তারপর শুধু টপ টেন রেজাল্ট দেখাবে (head -n 10)। এটি যেন আপনার মেশিনে টপ টেন সবচেয়ে বড় ফাইল খুঁজে বের করার শর্টকাট। du-কে পাইপের মাধ্যমে অন্যান্য কমান্ডের সাথে কম্বাইন করুন আরও উপকারী ফলাফল পাওয়ার জন্য।

  1. লিনাক্স নতুনদের জন্য বেসিক Bash কমান্ড

  2. নতুন লিনাক্স ইউজারের জন্য ৬টি সবচেয়ে উপযোগী টার্মিনাল কমান্ড

  3. লিনাক্সে 'echo' কমান্ডের ব্যবহার পদ্ধতি

  4. লিনাক্সে tee কমান্ড ব্যবহার করুন