انڈروئد

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

جو کہتا ہے مجھے ہنسی نہی آتی وہ ایک بار ضرور دیکھے۔1

جو کہتا ہے مجھے ہنسی نہی آتی وہ ایک بار ضرور دیکھے۔1

فہرست کا خانہ:

Anonim

جب ls کمانڈ کا استعمال کرتے ہوئے کسی ڈائرکٹری کے مندرجات کی فہرست ls ہو تو آپ نے دیکھا ہوگا کہ ڈائریکٹریوں کا سائز ہمیشہ ہی 4096 بائٹس (4 KB) ہوتا ہے۔ یہ ڈسک پر جگہ کا سائز ہے جو ڈائریکٹری کے لئے میٹا انفارمیشن اسٹور کرنے کے لئے استعمال ہوتا ہے ، اس میں نہیں بلکہ اس میں ہے۔

آپ جس کمانڈ کو ڈائریکٹری کا اصل سائز حاصل کرنے کے لئے استعمال کرنا چاہتے ہیں وہ du ، جو "ڈسک کے استعمال" کے لئے مختصر ہے۔

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

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

جب کسی اختیارات کے بغیر درخواست کی جاتی ہے تو ، du دیا ہوا ڈائرکٹری اور اس کی ہر سب ڈائرکٹریاں بائٹس میں ڈسک کا استعمال دکھاتا ہے۔

عام طور پر ، آپ ڈائریکٹری کے زیر قبضہ خلا کو انسانی پڑھنے کے قابل شکل میں ظاہر کرنا چاہیں گے۔ مثال کے طور پر ، /var ڈائرکٹری کا کل سائز حاصل کرنے کے /var you ، آپ درج ذیل کمانڈ چلائیں گے:

sudo du -sh /var

آؤٹ پٹ کچھ اس طرح نظر آئے گی:

85G /var

آئیے حکم اور اس کے دلائل کی وضاحت کریں:

  • کمانڈ sudo سے شروع ہوتی ہے کیونکہ /var ڈائریکٹری کے اندر زیادہ تر فائلیں اور ڈائریکٹری روٹ صارف کے مالک ہیں اور باقاعدہ صارفین ان کے پڑھنے کے قابل نہیں ہیں۔ اگر آپ sudo کو چھوڑ دیتے ہیں تو du کمانڈ "du: ڈائریکٹری نہیں پڑھ سکتا" پرنٹ کرے گا۔ s - مخصوص ڈائرکٹری کا صرف کل سائز ڈسپلے کریں ، ذیلی ڈائریکٹریوں کے ل size فائل سائز سائز نہیں دکھائیں۔ 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

جب آپ کسی ڈائریکٹری کو SCP ، Rsync. ، یا SFTP کے ذریعے نیٹ ورک پر منتقل کرتے ہیں تو اعداد و شمار کی فائلوں کا ظاہر سائز ہوتا ہے۔ یہی وجہ ہے کہ جب du ذریعہ ڈسپلے پر استعمال کیا جاتا ہے تو ڈسک پر جگہ کا سائز (بغیر کسی --apparent-size ) ہدف پر جسامت کی طرح ہوتا ہے۔

du کمانڈ کو پائپوں کے ساتھ دیگر کمانڈوں کے ساتھ بھی جوڑا جاسکتا ہے۔

مثال کے طور پر ، /var ڈائرکٹری میں 5 سب سے بڑی ڈائریکٹریوں کو پرنٹ کرنے کے /var you ، آپ ڈائرکٹریز کو ان کے سائز کے مطابق sort دینے کے لئے ترتیب /var کمانڈ پر پائپ کریں گے اور پھر آؤٹ پٹ کو 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 کمانڈ کا استعمال کرتے ہوئے ڈائریکٹری کا سائز حاصل کرسکتے ہیں۔

ڈو ٹرمینل ڈسک