回答:
マジックナンバーは、通常、(多くの場合、先頭の)所定の位置に、特定の形式のすべてのファイルで使用されるバイトのシーケンスです。その特定の形式のすべてのファイルにはその特定の位置に特定のバイトシーケンスがあり、他の形式のほとんどのファイルにはないため、マジックナンバーはファイルの形式を認識する方法です。
ここで、この概念はファイルシステム形式に適用されます。たとえば、ext2 / ext3 / ext4ファイルシステムでは、常に0x53 0xEF
1080〜1081の位置にバイトがあります。reiserfsファイルシステムは常にReIsErFs
65588の位置から始まります(ReIsEr2Fs
より新しいバージョンではなど)。他のファイルシステムにも同様のマジックナンバーがあります。ファイルシステムツールは、マジックナンバー(および場合によってはその他の手がかり)の存在をチェックし、処理できない形式で整理され、破損する可能性のあるデータで誤ってそれらを起動していないことを確認します。ファイルシステムのマジックナンバーを変更すると、通常のツールはそれに触れることを拒否するでしょう。修復ツールはより賢く、壊れた魔法の数を壊れる可能性のあるものの1つとして扱います。
このfile
コマンドは、マジックナンバーに基づいてファイルを認識します。実行file -s /dev/sda1
して、パーティション上にあるものを確認できます/dev/sda1
。その決定は、通常、/etc/magic
またはにあるデータベースに基づいています/usr/share/misc/magic
。特定のコマンドは、異なるマジックナンバーを使用して、対応可能なファイル形式を認識する場合があります。
file /dev/sda1
?
file /dev/sda1
これはデバイスノードであることを伝えるだけで、コンテンツについては何も言いません。file </dev/sda1
またはのいずれかが必要file -s /dev/sda1
です。
file < /dev/sda1
、ファイルのヘルプテキストで失敗します(パラメーターがありませんか?)が、-s
うまく機能します。ありがとう。
file - </dev/sda1
あなたが指示する必要がありますので、file
標準入力からの読み込みを明示的に。おかげで、私はそれを修正します。
apt-get install source file
をプルfile-x.yy/magic/Magdir/filesystems
します。