একজন জাদু নম্বর একটি নির্দিষ্ট বিন্যাসের সমস্ত ফাইলগুলিতে সাধারণত বাইটগুলির একটি ক্রম ব্যবহার করা হয়, সাধারণত একটি প্রদত্ত অবস্থানে (প্রায়শই শুরুতে)। যে বিশেষ বিন্যাসে যে সমস্ত ফাইলগুলি বিশেষ অবস্থানে বিশেষ বাইট ক্রম থাকে, এবং অন্যান্য ফরম্যাটের বেশিরভাগ ফাইলগুলিতে এটি নেই, জাদু নম্বরটি কোনও ফর্ম্যাটে কোন ফরম্যাটে আছে তা সনাক্ত করার উপায়।
এখানে, এই ধারণা একটি ফাইল সিস্টেম ফরম্যাটে প্রয়োগ করা হয়। উদাহরণস্বরূপ, একটি ext2 / ext3 / ext4 ফাইল সিস্টেম সর্বদা বাইট আছে 0x53 0xEF অবস্থান 1080-1081। একটি reiserfs ফাইল সিস্টেম সবসময় আছে ReIsErFs অবস্থান শুরু 65588 (বা ReIsEr2Fs, ইত্যাদি, সাম্প্রতিক সংস্করণে)। অন্যান্য ফাইল সিস্টেমের অনুরূপ যাদু সংখ্যা আছে। ফাইল সিস্টেমগুলি জাদু নম্বর (এবং সম্ভবত অন্যান্য সূত্র) উপস্থিতির জন্য পরীক্ষা করে দেখুন যাতে আপনি ভুলভাবে তাদের এমন কোনও ফর্ম্যাটে সংগঠিত না করে থাকেন যা তাদের সাথে মোকাবিলা করতে পারে না এবং ক্ষতি করতে পারে। যদি আপনি কোন ফাইল সিস্টেমে জাদু নম্বর পরিবর্তন করেন তবে সাধারণ সরঞ্জামগুলি স্পর্শ করতে অস্বীকার করতে পারে; মেরামত সরঞ্জাম আরো চতুর হতে পারে এবং একটি খারাপ যাদু নম্বর হিসাবে ভাঙ্গা হতে পারে যে এক জিনিস হিসাবে আচরণ করতে পারে।
দ্য file কমান্ড তাদের জাদু সংখ্যার উপর ভিত্তি করে ফাইল সনাক্ত করে। আপনি চালাতে পারেন file -s /dev/sda1 পার্টিশনটি কি মনে করে তা দেখতে /dev/sda1। তার সিদ্ধান্ত সাধারণত পাওয়া একটি ডাটাবেসের উপর ভিত্তি করে /etc/magic অথবা /usr/share/misc/magic। নির্দিষ্ট কমান্ডগুলি বিভিন্ন জাদু সংখ্যার ব্যবহার করতে পারে যাতে তারা যে ফরম্যাটগুলি মোকাবেলা করতে পারে তা সনাক্ত করতে পারে।
apt-get install source fileটান হবেfile-x.yy/magic/Magdir/filesystemsযা ঠিক সেই তথ্যটি ধারণ করে (এবং আমি) প্রশ্নটি সন্ধান করছিলাম।