অ্যান্ড্রয়েড

কিভাবে লিনাক্সে একটি ডিরেক্টরি আকার পেতে

W3 L2 Create Execute and Exit from a Process

W3 L2 Create Execute and Exit from a Process

সুচিপত্র:

Anonim

ls কমান্ড ব্যবহার করে ডিরেক্টরিগুলির বিষয়বস্তু তালিকাভুক্ত করার সময় আপনি লক্ষ্য করেছেন যে ডিরেক্টরিগুলির আকার প্রায় সর্বদা 4096 বাইট (4 কেবি) হয়। ডিরেক্টরিতে মেটা-তথ্য সংরক্ষণ করার জন্য ডিস্কে থাকা জায়গার আকার এটিই থাকে না এটিতে।

ডিরেক্টরিটির প্রকৃত আকার পেতে আপনি যে কমান্ডটি ব্যবহার করতে চান তা হ'ল du , যা "ডিস্ক ব্যবহারের" জন্য ছোট।

একটি ডিরেক্টরি আকার প্রাপ্তি

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

কোনও বিকল্প ছাড়াই আহ্বান করা হলে, du প্রদত্ত ডিরেক্টরি এবং এর প্রতিটি উপ-ডিরেক্টরিগুলির ডিস্কের ব্যবহার বাইটে প্রদর্শন করে।

সাধারণত, আপনি ডিরেক্টরি দ্বারা দখল করা স্থানটি একটি মানব-পঠনযোগ্য ফর্ম্যাটে প্রদর্শন করতে চান। উদাহরণস্বরূপ, /var ডিরেক্টরিটির মোট আকার পেতে, আপনি নিম্নলিখিত কমান্ডটি চালাবেন:

sudo du -sh /var

আউটপুটটি এরকম কিছু দেখবে:

85G /var

আসুন কমান্ড এবং এর যুক্তিগুলি ব্যাখ্যা করুন:

  • কমান্ডটি sudo দিয়ে শুরু হয় কারণ /var ডিরেক্টরিতে থাকা বেশিরভাগ ফাইল এবং ডিরেক্টরিগুলি মূল ব্যবহারকারীর মালিকানাধীন এবং নিয়মিত ব্যবহারকারীদের দ্বারা পঠনযোগ্য নয়। আপনি sudo বাদ দিলে du কমান্ডটি "du: ডিরেক্টরিটি পড়তে পারে না" মুদ্রণ করবে। s - নির্দিষ্ট ডিরেক্টরিটির মোট মোট আকার প্রদর্শন করুন, সাব-ডিরেক্টরিগুলির জন্য ফাইল আকারের মোট প্রদর্শন করবেন না। h - আকারে একটি মানব-পঠনযোগ্য ফর্ম্যাট ( h ) মুদ্রণ করুন। /var - আপনি যে ডিরেক্টরিটি আকারটি পেতে চান সেই পথের পথ।

আপনি যদি প্রথম-স্তরের উপ-ডিরেক্টরিগুলির ডিস্ক ব্যবহার প্রদর্শন করতে চান? আপনার কাছে দুটি বিকল্প রয়েছে। প্রথমটি নীচে দেখানো হিসাবে তারকাচিহ্ন প্রতীক ( * ) ব্যবহার করা হয় যার অর্থ "পিরিয়ড ( . ) দিয়ে শুরু হয় না এমন সমস্ত কিছুর সাথে মেলে"।

sudo du -shc /var/*

24K /var/db 4.0K /var/empty 4.0K /var/games 77G /var/lib 4.0K /var/local 0 /var/lock 3.3G /var/log 0 /var/mail 4.0K /var/opt 0 /var/run 196K /var/spool 28K /var/tmp 85G total

প্রথম স্তরের সাব-ডিরেক্টরিগুলির ডিস্ক ব্যবহার সম্পর্কে একটি প্রতিবেদন পাওয়ার আরেকটি উপায় --max-depth বিকল্পটি ব্যবহার করা:

sudo du -h --max-depth=1 /var

77G /var/lib 24K /var/db 4.0K /var/empty 4.0K /var/local 4.0K /var/opt 196K /var/spool 4.0K /var/games 3.3G /var/log 5.0G /var/cache 28K /var/tmp 85G /var 85G total

ডিফল্টরূপে, du কমান্ড ডিরেক্টরি বা ফাইল দ্বারা ব্যবহৃত ডিস্কের স্থান দেখায়। ডিরেক্টরিটির আপাত আকার খুঁজে পেতে, --apparent-size বিকল্পটি ব্যবহার করুন। কোনও ফাইলের "আপাত আকার" হ'ল ফাইলটিতে আসলে কত ডেটা থাকে।

sudo du -sh --apparent-size /var

আপনি যখন এসসিপি, রাইকিঙ্ক, বা এসএফটিপি মাধ্যমে কোনও ডিরেক্টরি স্থানান্তর করেন তখন নেটওয়ার্কের মাধ্যমে যে পরিমাণ ডেটা স্থানান্তরিত হয় তা ফাইলগুলির আপাত আকার। এই কারণেই du ( --apparent-size ছাড়াই) প্রদর্শিত হলে উত্সে ব্যবহৃত ডিস্কে স্থানের আকার লক্ষ্যমাত্রার আকারের সমান হয় না।

du কমান্ডটি পাইপগুলির সাথে অন্যান্য কমান্ডের সাথেও মিলিত হতে পারে।

উদাহরণস্বরূপ, /var ডিরেক্টরিতে 5 টি বৃহত্তর ডিরেক্টরি মুদ্রণ করতে আপনি du আউটপুটটি sort কমান্ডে পাইলে ডিরেক্টরিগুলি তাদের আকার অনুসারে বাছাই করে তারপরে আউটপুটটি head কমান্ডে পাইপ করে যে কেবল শীর্ষ 5 টি ডিরেক্টরি মুদ্রণ করবে:

sudo du -h /var/ | sort -rh | head -5

85G /var/ 77G /var/lib 75G /var/lib/libvirt/images 75G /var/lib/libvirt 5.0G /var/cache/pacman/pkg

উপসংহার

লিনাক্সে আপনি du কমান্ড ব্যবহার করে একটি ডিরেক্টরি আকার পেতে পারেন।

ডু টার্মিনাল ডিস্ক