لینکس میں "ldd" کمانڈ کا استعمال کرتے ہوئے

کسی بھی پروگرام کے ذریعہ آپ کو مشترکہ لائبریریوں کو دکھانے کے لئے ایل ڈی آر کمانڈ استعمال کیا جا سکتا ہے.

جب یہ لاپتہ انضمام ہو تو کام کرنے کے لئے مفید ہے اور لاپتہ افعال اور اشیاء کو فہرست میں استعمال کرنے کے لئے استعمال کیا جا سکتا ہے.

ایل ڈی آر کمانٹ سنٹیکس

جب ایل ڈی آر کمانڈ کا استعمال کرتے ہوئے یہ صحیح نحو ہے :

ldd [OPTION] ... فائل ...

یہاں دستیاب ایل ڈی ڈی کمانڈ سوئچ ہیں جو مندرجہ ذیل کمانڈ میں [ OPTION ] جگہ میں ڈالے جا سکتے ہیں:

- ہیلپی اس مدد اور اخراج سے پرنٹ کریں .بدعنوانی پرنٹ ورژن کی معلومات اور باہر نکلیں، ڈی ڈیٹا ٹاکس پروسیسنگ ڈیٹا کی نقل و حرکت -R، --ففکشن رپوکس عمل کے اعداد و شمار اور فنکشن کی نقل و حرکت - اے، - استعمال شدہ پرنٹ غیر استعمال شدہ براہ راست انحصار - وی، - ہر جگہ پرنٹ کریں

ldd کمانڈر کا استعمال کیسے کریں

آپ کسی بھی ldd کمانڈر سے مزید معلومات حاصل کرنے کیلئے مندرجہ ذیل کمانڈ استعمال کرسکتے ہیں:

ldd -v / path / to / program / executable

آؤٹ پٹ ورژن کو معلومات کے ساتھ ساتھ مشترکہ لائبریریوں کے راستوں اور پتے سے ظاہر ہوتا ہے، مثلا:

ldd libshared.so linux-vdso.so.1 => (0x00007fff26ac8000) libc.so.6 => /lib/libc.so.6 0x00007ff1df55a000) /lib64/ld-linux-x86-64.so.2 (0x00007ff1dfafe000)

اگر SO فائل بالکل موجود نہیں ہے تو، آپ مندرجہ ذیل کمانڈ کا استعمال کرتے ہوئے لاپتہ لائبریریوں کو تلاش کرسکتے ہیں:

ldd -d راستہ / پروگرام /

پیداوار مندرجہ ذیل کی طرح ہے:

linux-vdso.so.1 (0x00007ffc2936b000) /home/gary/demo/garylib.so => ​​نہیں foundlibc.so.6 => usr / lib / libc.so.6 (0x00007fd0c6259000) / lib64 / ld-linux-x86 -64.سو .2 (0x00007fd0c65fd000)

اہم: ایک ناقابل یقین پروگرام کے خلاف ldd کمانڈ کو کبھی نہیں چلائیں کیونکہ کمانڈ اصل میں اسے انجام دے سکتا ہے. یہ ایک محفوظ متبادل ہے جو صرف براہ راست انضمام ظاہر کرتا ہے اور پورے انحصار کا درخت نہیں ہے: objdump -p / path / to / program | گرپ کی ضرورت ہے .

ایک درخواست پر راہ کیسے تلاش کریں

آپ کو ایک درخواست کے لئے مکمل راستہ فراہم کرنا ہوگا اگر آپ اس کے انحصار تلاش کرنے کے لئے چاہتے ہیں، جس میں آپ کئی طرح سے کام کرسکتے ہیں.

مثال کے طور پر، یہ آپ فائر فاکس کے راستے تلاش کریں گے:

تلاش کریں / نام فائر فاکس

تاہم، کمانڈ کمانڈ کے ساتھ مسئلہ یہ ہے کہ یہ صرف عملدرآمد کی فہرست نہیں کرے گا بلکہ ہر جگہ فائر فاکس واقع ہے، جیسے:

یہ نقطہ نظر بہت زیادہ ہے اور آپ کو آپ کے استحقاق کو بڑھانے کے لئے سڈو کمان کا استعمال کرنے کی ضرورت ہوسکتی ہے، اور آپ کی بہت سی اجازتیں غلطیوں سے انکار کردی گئیں.

درخواست کے راستے کو تلاش کرنے کیلئے کمانڈ استعمال کرنے کے بجائے اس کے بجائے بہت آسان ہے.

جہاں فائر فاکس

اس وقت پیداوار اس طرح نظر آتی ہے:

/ usr / bin / firefox

/ وغیرہ / فائر فاکس

/ usr / lib / فائر فاکس

فائر فاکس کے لئے مشترکہ لائبریریوں کو تلاش کرنے کے لئے اب آپ کو اب کرنا ضروری ہے.

ldd / usr / bin / firefox

کمانڈر کی پیداوار اس طرح کچھ ہوگی:

linux-vdso.so.1 (0x00007ffff8364000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007feb9917a000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007feb98f76000)
libstdc ++. so.6 => /usr/lib/libstdc++.so.6 (0x00007feb98bf4000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007feb988f6000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007feb986e0000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007feb9833c000)
/lib64/ld-linux-x86-64.so.2 (0x00007feb99397000)

لینکس-vdso.so.1 لائبریری کا نام ہے اور ہیکس نمبر یہ پتہ ہے جہاں لائبریری کو میموری میں لوڈ کیا جائے گا.

آپ دوسری لائنوں کے بارے میں دیکھیں گے کہ => علامت ایک راستہ کی پیروی کرتا ہے. یہ جسمانی بائنری کا راستہ ہے. ہیکس نمبر وہ پتہ ہے جہاں لائبریری لوڈ کی جائے گی.