file
কমান্ড এবং কমান্ডটি ব্যবহার করে আপনি ইউনিক্সে এক্সিকিউটেবলের প্রকৃতি নির্ধারণ করতে পারেন type
।
আদর্শ
আপনি type
ডিস্কে কোনও এক্সিকিউটেবলের অবস্থান নির্ধারণ করতে ব্যবহার করেন :
$ type -a ls
ls is /usr/bin/ls
ls is /bin/ls
সুতরাং আমি এখন জানি যে ls
এটি আমার সিস্টেমে 2 টি স্থানে রয়েছে: /usr/bin/ls
& /bin/ls
। এই এক্সিকিউটেবলের দিকে তাকিয়ে আমি দেখতে পাচ্ছি যে তারা অভিন্ন:
$ ls -l /usr/bin/ls /bin/ls
-rwxr-xr-x. 1 root root 120232 Jan 20 05:11 /bin/ls
-rwxr-xr-x. 1 root root 120232 Jan 20 05:11 /usr/bin/ls
দ্রষ্টব্য: আপনি নিশ্চিত করতে পারেন যে তারা ব্যবহার করে cmp
বা তাদের আকারের বাইরে অভিন্ন diff
।
বিভিন্ন সঙ্গে
$ diff -s /usr/bin/ls /bin/ls
Files /usr/bin/ls and /bin/ls are identical
সিএমপি সহ
$ cmp /usr/bin/ls /bin/ls
$
ফাইল ব্যবহার করা হচ্ছে
যদি আমি file
কমান্ডটি ব্যবহার করে তাদের জিজ্ঞাসা করি :
$ file /usr/bin/ls /bin/ls
/usr/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x303f40e1c9349c4ec83e1f99c511640d48e3670f, stripped
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x303f40e1c9349c4ec83e1f99c511640d48e3670f, stripped
সুতরাং এগুলি হবে আসল শারীরিক প্রোগ্রাম যা সি / সি ++ থেকে সংকলিত হয়েছে। যদি সেগুলি শেল স্ক্রিপ্ট হত তবে তারা সাধারণত এখানে এটি উপস্থাপন করত file
:
$ file somescript.bash
somescript.bash: POSIX shell script, ASCII text executable
ইএলএফ কী?
ইএলএফ একটি ফাইল ফর্ম্যাট , এটি একটি সংকলকের যেমন আউটপুট gcc
, যা সি / সি ++ প্রোগ্রামগুলি সংকলন করতে ব্যবহৃত হয় ls
।
কম্পিউটিংয়ে এক্সিকিউটেবল এবং লিংকযোগ্য ফর্ম্যাট (ইএলএফ, আগে এক্সটেনসিবল লিঙ্কিং ফর্ম্যাট নামে পরিচিত) এক্সিকিউটেবল, অবজেক্ট কোড, শেয়ার্ড লাইব্রেরি এবং কোর ডাম্পগুলির জন্য একটি সাধারণ স্ট্যান্ডার্ড ফাইল ফর্ম্যাট।
এটির জন্য সাধারণত ফাইলের নামগুলির মধ্যে একটি এক্সটেনশান থাকে: কোনও কিছুই, .o, .so,। Bel, .prx, .puff, .bin