回答:
マジックナンバーは、通常、(多くの場合、先頭の)所定の位置に、特定の形式のすべてのファイルで使用されるバイトのシーケンスです。その特定の形式のすべてのファイルにはその特定の位置に特定のバイトシーケンスがあり、他の形式のほとんどのファイルにはないため、マジックナンバーはファイルの形式を認識する方法です。
ここで、この概念はファイルシステム形式に適用されます。たとえば、ext2 / ext3 / ext4ファイルシステムでは、常に0x53 0xEF1080〜1081の位置にバイトがあります。reiserfsファイルシステムは常にReIsErFs65588の位置から始まります(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します。