لینکس میں ڈائریکٹری کا سائز کیسے حاصل کریں

How Get Size Directory Linux



لینکس میں ڈائریکٹری کے سائز کو جاننا اتنا سیدھا نہیں جتنا لگتا ہے۔ ls -s کمانڈ فائلوں اور ذیلی ڈائریکٹریوں کو ان کے سائز کے ساتھ درج کرے گی۔ تاہم ، ڈائریکٹریوں کے لیے دیے گئے سائز (تقریبا 40 4096 بائٹس) ڈسک کا استعمال نہیں ہیں۔ ڈائریکٹری کے لیے دیکھا جانے والا سائز ڈائریکٹری کے میٹا ڈیٹا کا سائز ہے۔

میٹا ڈیٹا ڈیٹا کے بارے میں ڈیٹا ہے۔ ظاہر سائز ڈیٹا کا سائز ہے جو کمپیوٹر کے عام صارف کے لیے اہمیت رکھتا ہے۔ صارف کے خطوط ، تصاویر ، ویڈیوز وغیرہ کا مواد (متن) ظاہری سائز پر مشتمل ہے۔ یہ ڈیٹا کمپیوٹر میں من مانی طور پر نہیں رکھا جاتا۔ ظاہری سائز کے ڈیٹا کو کنٹرول فیشن میں رکھا جانا چاہیے۔ یہ قابل شناخت ہونا چاہیے۔ یہ مکمل ہونا چاہیے۔ اس کے لیے دیگر تقاضے ہیں۔ ان اضافی ضروریات کو حاصل کرنے کے لیے کچھ اضافی ڈیٹا کی ضرورت ہوتی ہے ، اور یہ اضافی ڈیٹا میٹا ڈیٹا ہوتا ہے۔







یاد رکھیں ، ایک حجم میں صرف ایک ڈائریکٹری ہے۔ باقی سب ڈائریکٹریز ہیں۔ روٹ ڈائرکٹری ذیلی ڈائریکٹریوں کو جنم دیتی ہے ، جو نیچے جانے والی دیگر سب ڈائریکٹریوں کو جنم دیتی ہے۔ تاہم ، ذیلی ڈائریکٹریوں کو عام طور پر صرف ڈائریکٹریز کہا جاتا ہے۔ اور اس طرح ، صرف ایک ڈائریکٹری ٹری ہے۔



لہذا ، ls -s ڈائریکٹری کا سائز حاصل کرنے کے لئے مفید نہیں ہے۔ پھر کون سا حکم مفید ہے؟ - du کمانڈ۔ du کا مطلب ہے ڈسک استعمال۔ یہ ڈائریکٹری کے ڈسک کے استعمال کو پرنٹ کرتا ہے۔



یہ آرٹیکل لینکس میں du کمانڈ کی مختلف خصوصیات کی وضاحت کرتا ہے ، جو ڈائریکٹروں کے سائز اور ان کی ذیلی ڈائریکٹریوں کو جاننے کے مختلف پروگرامر طریقے فراہم کرتا ہے۔ باش اس مضمون کے کوڈ نمونوں کے لیے استعمال ہونے والا شیل ہے۔





مضمون کا مواد۔

du بغیر آپشن یا دلیل کے۔

موجودہ ورکنگ ڈائرکٹری وہ ڈائریکٹری ہے جس میں صارف فی الحال کام کر رہا ہے۔ بغیر کسی آپشن اور دلیل کے du ٹائپ کرنا ، جیسے:



کی

اور پھر انٹر بٹن دبانے سے موجودہ ورکنگ ڈائرکٹری کی تمام ذیلی ڈائریکٹریوں کے لیے ڈسک کا استعمال ظاہر ہوگا۔ یہ یہ معلومات موجودہ ورکنگ ڈائرکٹری کے سب ٹری کے لیے ظاہر کرے گا۔ ڈسپلے میں ایک نقطہ موجودہ ورکنگ ڈائرکٹری کی نمائندگی کرتا ہے۔

ذیلی درخت کا ہر راستہ ڈسپلے میں ایک لائن میں دکھایا گیا ہے۔ ہر لائن ڈائریکٹری کے سائز سے شروع ہوتی ہے (جو راستے میں آخری نام ہے)۔ ڈسپلے کچھ اس طرح ہو سکتا ہے:

./dir1/dir2/dir3/dir4

12۔./dir1/dir2/dir3

16۔./dir1/dir2

بیس./dir1

نوٹ کریں کہ یہ واضح نہیں ہے کہ سائز بائٹس یا کلو بائٹس یا میگا بائٹس یا گیگا بائٹس میں ہے۔ علامت کے کلو بائٹس ، K کا مطلب ہے 1024 بائٹس؛ علامت کے میگا بائٹس ، M کا مطلب ہے 1،048،576 بائٹس؛ علامت کے گیگا بائٹس ، G کا مطلب 1،073،741،824 بائٹس ہے۔ ضرب کی نشاندہی کے لیے ، -h آپشن (سوئچ) استعمال کیا جانا چاہیے ، مندرجہ ذیل کے طور پر:

کی

ڈسپلے اس طرح نظر آئے گا:

8.0K/dir1/dir2/dir3/dir4

12K/dir1/dir2/dir3

16K/dir1/dir2

20 ہزار/dir1

جب -h آپشن استعمال کیا جاتا ہے تو کہا جاتا ہے کہ سائز پڑھنے کے قابل ہیں۔

نوٹ: –all آپشن کے ساتھ ، du کمانڈ فائلوں کے لیے ڈسک کا استعمال بھی دے گی۔ تاہم ، اس مضمون میں فائلوں کے لیے ڈسک کے استعمال پر توجہ نہیں دی جائے گی۔

دیگر ڈائریکٹریوں کا سائز۔

لینکس کے حجم کے لیے ایک عام مطلق راستہ مندرجہ ذیل ہے۔

/گھر/جان/کہو/dirTwo/dirThree/dirFour

پہلی / روٹ ڈائریکٹری ہے۔ اس ڈائریکٹری میں فوری ذیلی ڈائریکٹریز ہیں ، بشمول ہوم ڈائریکٹری۔ ہوم ڈائریکٹری میں صارف کی ڈائریکٹری ہوتی ہے۔ اگر صارف کا نام جان ہے ، تو وہ صارف کی ڈائریکٹری کا نام جان رکھ سکتا ہے۔ صارف کی ڈائریکٹری کی شناخت by سے ہوتی ہے۔ لہذا ، صارف کسی بھی ڈائریکٹری سے اپنی ڈائریکٹری تک پہنچنے کے لئے کمانڈ cd use استعمال کرسکتا ہے۔ dirOne ایک ڈائریکٹری ہے جو صارف نے بنائی ہے۔ صارف اس سطح پر دیگر ڈائریکٹریز بھی بنا سکتا ہے۔ dirTwo ، dirThree اور dirFour ان کی پچھلی ڈائریکٹریوں کی ذیلی ڈائریکٹری ہیں ، جو صارف نے بنائی ہیں۔

صارف کسی بھی ڈائریکٹری سے کسی بھی ڈائرکٹری اور اس کے سب ڈائرکٹریز (سب ٹری) کے سائز کو جان سکتا ہے ، ایک دلیل کے طور پر مطلق راستے کو نظرانداز کرتے ہوئے۔ مثال کے طور پر ، اگر ڈسک کے استعمال کی ضرورت ہے ،

/گھر/جان/کہو/dirTwo

پھر حکم ہوگا:

کی /گھر/جان/کہو/dirTwo

یا

کی ۔/کہو/dirTwo

جہاں the صارف کی ڈائریکٹری کی نمائندگی کرتا ہے۔

رشتہ دار راستہ استعمال کرنے کے لیے ، صارف کو پہلے ہی متعلقہ پیرنٹ ڈائریکٹری میں ہونا چاہیے۔ مثال کے طور پر ، اگر اشارہ دکھایا جا رہا ہے ،

جان۔میزبان:/$ کہو

اس کا مطلب یہ ہے کہ صارف ڈائریکٹری میں ہے ،

کی dirTwo

راستے اب بھی رشتہ دار ہوں گے۔ موجودہ ڈائریکٹری کے لیے وہی معلومات ظاہر کرنے کے لیے ، کوئی دلیل استعمال نہ کریں ، یا ڈاٹ استعمال کریں۔

اس اسکیم کو صرف ایک ڈائرکٹری کا سائز حاصل کرنے کے لیے استعمال کیا جا سکتا ہے ، ایک راستے میں آخری (راستے سے پہلے)۔ راستے کے وسط میں ڈائریکٹری کا سائز حاصل کرنا ممکن ہے - ذیل میں خارج = پیٹرن دیکھیں۔

مجموعی عدد

اس میں شامل تمام ڈائریکٹریوں کا ایک بڑا کل سائز تیار کیا جا سکتا ہے۔ مندرجہ بالا صورت حال کے لیے کمانڈ یہ ہوگا:

کی -کل

ظاہری سائز

ظاہر سائز عام طور پر ڈسک کے استعمال سے چھوٹا ہوتا ہے۔ تاہم ، کچھ حالات میں ، ظاہر سائز ڈسک کے استعمال سے بڑا ہے۔ وجہ - بعد میں دیکھیں مندرجہ بالا رشتہ دار راستے کے لئے واضح سائز حاصل کرنے کا حکم یہ ہوگا:

کی -ظاہری سائزdirTwo

زیادہ سے زیادہ گہرائی۔

xmax-depth = 0 کے ساتھ ، du صرف موجودہ ورکنگ ڈائرکٹری کا سائز پرنٹ کرتا ہے۔ du –max-depth = 1 کے ساتھ ، du موجودہ ورکنگ ڈائرکٹری کے سائز اور اس کی پہلی سطح کی سب ڈائرکٹریوں کے سائز پرنٹ کرتا ہے۔ xmax-depth = 2 کے ساتھ ، du موجودہ ورکنگ ڈائرکٹری کے سائز اور اس کی تمام پہلی سطح کی ذیلی ڈائریکٹریوں کے سائز اور اس کی دوسری درجے کی سب ڈائریکٹریوں کے پرنٹ کرتا ہے۔ xmax-depth = 3 کے ساتھ ، du موجودہ ورکنگ ڈائرکٹری کے سائز اور اس کی تمام پہلی سطح کی ذیلی ڈائریکٹریوں ، اور اس کی دوسری سطح کی سب ڈائریکٹریوں ، اور اس کی تیسری سطح کی سب ڈائریکٹریوں کے پرنٹ کرتا ہے۔ یہ زیادہ سے زیادہ گہرائی کی بڑھتی ہوئی قیمت کے ساتھ جاری ہے۔ اس کے استعمال کی ایک مثال یہ ہے:

کی -زیادہ سے زیادہ گہرائی=

سوڈو کمانڈ۔

جڑ ڈائریکٹری میں اپنی ذیلی ڈائریکٹریوں والی ڈائریکٹریوں میں سے ایک var ہے۔ اگر صارف ٹائپ کرتا ہے۔

کی /کہاں

اور انٹر دبائیں ، اسے احساس ہوگا کہ کچھ ڈائریکٹریوں کے لیے اجازت سے انکار کیا گیا ہے۔ یعنی وہ کچھ ڈائریکٹریوں کے سائز نہیں جان سکتا۔ اجازت سے انکار کر دیا گیا ہے کیونکہ صارف سپر صارف نہیں ہے۔ سپر یوزر کو ان ڈائریکٹریوں کے سائز (ڈسک کا استعمال) دیکھنے کا اعزاز حاصل ہے۔ لہذا ، صارف کو یہ استحقاق حاصل کرنے کے لیے ، اسے مندرجہ ذیل کے طور پر sudo کمانڈ استعمال کرنا ہوگا:

سودو کی /کہاں

اگر شیل صارف سے اس کا پاس ورڈ پوچھتا ہے تو ، صارف کو پاس ورڈ ٹائپ کرکے انٹر دبانا ہوگا۔ sudo کمانڈ کے ساتھ ، عام صارف (پروگرامر) var ڈائریکٹری اور اسی طرح کی ڈائریکٹریوں میں تمام ڈائریکٹریوں کے سائز دیکھ سکتا ہے۔

سائز کے لحاظ سے اندراجات کو چھوڑ کر

reshthreshold = SIZE آپشن ان لسٹنگ ڈائریکٹریوں کی اجازت نہیں دے گا جن کے سائز SIZE سے کم ہیں۔ راستے کے لیے ،

/گھر/جان/کہو/dirTwo/dirThree/dirFour

پر اشارہ کے ساتھ[ای میل محفوظ]: ~ $ ، پھر۔

کی -حد= 12K dirOne

جہاں 12K کا مطلب ہے 12 کلو بائٹس ، کسی بھی ڈائرکٹری کے لیے لائن نہیں دکھائے گی جس کی ڈسک کا استعمال 12K سے کم ہے۔

xexclude = پیٹرن۔

یہ آپشن اور ویلیو ڈائریکٹری لائنز کو چھوڑ سکتا ہے جسے صارف لسٹنگ میں نہیں چاہتا۔

آخری ڈائریکٹری کے لیے لائن کو چھوڑنے کے لیے ، dirFour of the path

/گھر/جان/کہو/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.0K/گھر/جان/کہو/dirTwo

نتیجہ

ls -s کمانڈ سے ڈائریکٹری کا سائز جاننے کی کوشش کرنا گمراہ کن ہے۔ اس کے ساتھ ، صرف ڈائریکٹری کا میٹا ڈیٹا حاصل کیا جاتا ہے۔ ڈائرکٹری کے ڈسک کے استعمال کو جاننے کے لیے ، du کمانڈ استعمال کی جانی چاہیے۔ جب -h آپشن کے ساتھ استعمال کیا جاتا ہے تو ، ڈائریکٹریوں کے سائز پڑھنے کے قابل ہوتے ہیں۔ ظاہری سائز بظاہر سائز کے آپشن کا استعمال کرتے ہوئے حاصل کیا جاسکتا ہے۔ کسی بھی آپشن اور دلیل کے بغیر ، du کمانڈ صرف موجودہ ڈائریکٹری کی تمام ذیلی ڈائریکٹریوں کے سائز دکھاتا ہے ، بشمول موجودہ ڈائریکٹری کے۔ du کی دلیل راستہ ہے ، جو جڑ سے شروع ہوسکتا ہے۔ اختیارات اور ان کی کچھ اقدار قطعی طور پر فیصلہ کرتی ہیں کہ کون سی ڈائریکٹریوں پر توجہ دی گئی ہے۔ سودو کمانڈ عام صارف کو بطور ڈیفالٹ سپر یوزر مراعات دیتی ہے۔