Магічне число являє собою сукупність електронних даних , який використовується у всіх файлах певного формату, як правило , в заданому положенні (часто на початку). Оскільки всі файли у цьому конкретному форматі мають певну послідовність байтів у цій конкретній позиції, а більшість файлів в інших форматах не мають її, магічне число - це спосіб визначити, у якому форматі знаходиться файл.
Тут ця концепція застосована до формату файлової системи. Наприклад, файлова система 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
який містив саме ту інформацію, яку я шукав (і я).