باش سکرپٹ میں فائل کا سائز کیسے حاصل کریں

How Get Size File Bash Script



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

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







طریقہ 1: ls کمانڈ۔

پہلا طریقہ اچھا پرانا ls کمانڈ استعمال کرنا ہے۔ جب دوسرے کمانڈز کے ساتھ جوڑا بنایا جائے تو ، ls کمانڈ فائل کا سائز پکڑ سکتی ہے۔



اسکرپٹ کو نافذ کرنے کے لیے ، ہمیں فائل کے مکمل راستے کی ضرورت ہے ، فائل کی معلومات کو ls کے ساتھ درج کریں ، اور awk جیسے کمانڈ کا استعمال کرتے ہوئے سائز پکڑیں۔



اس کے لیے ایک نمونہ اسکرپٹ اس طرح نظر آئے گا:





#!/bin/bash
باہر پھینک دیا 'فائل کا مکمل راستہ درج کریں۔'
پڑھیں فائل
فائل کا ناپ= $۔(ایل ایس -ایل ایچ $ فائل | عجیب '{پرنٹ $ 5}')
باہر پھینک دیا '$ فائلکا سائز ہے$ فائل سائز۔'

مذکورہ اسکرپٹ نسبتا simple آسان ہے۔ ایکو اور ریڈ کمانڈ کا استعمال کرتے ہوئے ، ہمیں فائل کے مکمل راستے کا نام مل جاتا ہے۔

اگلا ، ہم تمام ڈائریکٹریز اور سائز کو انسانی پڑھنے کے قابل فارمیٹ میں لسٹ کرنے کے لیے ls -lh کمانڈ کا استعمال کرتے ہیں ، اور آخر میں آؤٹ پٹ کو جاگتے ہیں اور سائز 5 کو پکڑ لیتے ہیں۔ویںمتغیر



ذیل میں اسکرپٹ کی مثال دی گئی ہے۔

chmod +x size.sh
./size.sh

اس کے لیے آؤٹ پٹ یہ ہے:

sudo ./size.sh
فائل کا مکمل راستہ درج کریں۔
/etc/passwd
/etc/passwd کا سائز 2.9K ہے۔

طریقہ 2: ڈبلیو سی کمانڈ

ایک اور طریقہ جسے ہم باز اسکرپٹ میں فائل کا سائز پکڑنے کے لیے استعمال کر سکتے ہیں وہ ہے wc کمانڈ۔ ڈبلیو سی کمانڈ الفاظ کی تعداد ، سائز اور بائٹ میں فائل کا سائز لوٹاتی ہے۔

ابھی:

جیسا کہ آپ جانتے ہیں ، فائل کا سائز بائٹس میں پڑھنا بہت آسان نہیں ہے۔ اس کا مقابلہ کرنے کے لیے ، ہم ایک سادہ مینو کو نافذ کر سکتے ہیں اور صارف سے KB ، MB اور GB جیسے سائز کی شکل پوچھ سکتے ہیں۔

منتخب کردہ فارمیٹ پر منحصر ہے ، ہم بائٹس کو اس فارمیٹ میں تبدیل کریں گے۔

اس طرح کی منطق کو نافذ کرنے کے لیے یہاں ایک مثال ہے۔

#!/bin/bash
باہر پھینک دیا 'سائز فارمیٹ منتخب کریں ، عددی اقدار استعمال کریں (1 بائٹس کے لیے ، 2 کلو بائٹس وغیرہ کے لیے)'
باہر پھینک دیا '''
1. بائٹس
2. کلو بائٹس۔
3. میگا بائٹس۔
4. گیگا بائٹس۔
'
''
باہر پھینک دیا '************************************************ ********************** '
پڑھیںفارمیٹ

باہر پھینک دیا 'ٹارگٹ فائل کا مکمل راستہ درج کریں:'
پڑھیں فائل
فائل کا ناپ= $۔(wc -سی $ فائل | عجیب '{پرنٹ $ 1}')
اگر [[('$ فارمیٹ۔'==)]]؛
پھر
باہر پھینک دیا '$ فائلتقریبا ہے$ فائل سائزبائٹس
ایلف [[('$ فارمیٹ۔'==)]]؛
پھر
تقریبا= $۔(بی سی <<<'پیمانہ = 3$ فائل سائز۔/ 1024 ')
باہر پھینک دیا '$ فائلتقریبا ہے$ kbKB '
ایلف [[('$ فارمیٹ۔'==)]]؛
پھر
mb= $۔(بی سی <<<پیمانہ = 6$ فائل سائز۔/ 1048576 ')
باہر پھینک دیا '$ فائلتقریبا ہے$ mbMB '

ایلف [[('$ فارمیٹ۔'==)]]؛
پھر
جی بی= $۔(بی سی <<<'پیمانے = 12$ فائل سائز/ 1073741824 ')
باہر پھینک دیا '$ فائلتقریبا ہے$ جی بیجی بی '
اور
باہر پھینک دیا 'غلط فارمیٹ۔'
باہر نکلیں
ہو

مذکورہ اسکرپٹ میں ، ہم صارف کو فائل سائز کی شکل میں داخل کرنے کے لیے کہہ کر شروع کرتے ہیں۔ باش اس ان پٹ کو پڑھتا ہے اور اسے فارمیٹ متغیر میں محفوظ کرتا ہے۔

اگلا ، ہم صارف کو فائل کے راستے کا اشارہ کرتے ہیں اور اس متغیر کو فائل میں محفوظ کرتے ہیں۔

اگلا مرحلہ مخصوص فائل پر wc -c -command کو کال کرتا ہے۔ چونکہ wc -c فائل کا سائز بائٹس میں اور فائل کا راستہ لوٹاتا ہے ، ہم AWK کا استعمال صرف فائل کے سائز کو پکڑنے کے لیے کرتے ہیں۔ ہم سائز کو بائیٹس میں فائل سائز کے طور پر محفوظ کرتے ہیں۔

آخر میں ، ہم ایک سادہ اگر بیان کو نافذ کرتے ہیں تاکہ یہ معلوم کیا جا سکے کہ سائز کی شکل یا تو 1 (بائٹس) ، 2 (کلو بائٹس) ، 3 (میگا بائٹس) ، 4 (گیگا بائٹ) ہے۔ اس کے بعد ہم فائل کے سائز کو بائٹس میں مخصوص فارمیٹ میں تبدیل کرنے کے لیے bc کمانڈ استعمال کرتے ہیں۔

نوٹ: ہم بی سی کمانڈ کے لیے متغیر پیمانے استعمال کرتے ہیں تاکہ ہر تشخیص میں اعشاریہ کی تعداد کو ایڈجسٹ کیا جا سکے۔

نیچے دی گئی تصویر دکھاتی ہے کہ اسکرپٹ کیسے کام کرتا ہے۔

ایک اور نوٹ۔ : مذکورہ بالا اسکرپٹ خالص ننگے ہڈیوں کا ہے اور اس وجہ سے نمایاں بہتری کے لیے کھلا ہے۔ اسے بہتر بنانے کے لیے بلا جھجھک اور اپنی ضروریات کے مطابق موافقت کریں۔

طریقہ 3: اسٹیٹ کمانڈ کا استعمال۔

ہم سٹیٹ کمانڈ کو نہیں بھول سکتے۔ اسٹیٹ کمانڈ کا استعمال کرتے ہوئے ، ہم فائل یا فائل سسٹم کے بارے میں تفصیلی معلومات ظاہر کرسکتے ہیں۔

اسٹیٹ کمانڈ سائز کو بائٹس میں بھی لوٹاتا ہے۔ فارمیٹ منتخب کرنے کے لیے آپ اوپر سکرپٹ میں اسی طرح کی منطق استعمال کر سکتے ہیں۔

اسٹیٹ کمانڈ کا استعمال کرتے ہوئے یہاں ایک سادہ اسکرپٹ ہے۔

#!/bin/bash
باہر پھینک دیا 'فائل کا راستہ درج کریں۔'
پڑھیں فائل
فائل کا ناپ= $۔(حالت -سی ٪s$ فائل)
باہر پھینک دیا '$ فائلعین مطابق ہے$ فائل سائزبائٹس۔ '

بند کرنے میں۔

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