file(1) コマンドが予期せず動作する原因は何ですか?

file(1) コマンドが予期せず動作する原因は何ですか?

file(1)コマンドがMIMEタイプに出力される原因application/msword application/msword(例:連続2回)一部.docファイル?通常、単に印刷されますapplication/msword

--mimeこのオプションなしで実行すると、Microsoft Office Document「一般」および「特殊」.docファイルが印刷されます。

ベストアンサー1

Magic(5) のマニュアルページから:

一部のファイル形式には、ファイル形式で印刷される追加情報が含まれているか、実際のファイル形式を確認するために追加のテストが必要です。これらの追加テストは、オフセットの前に1つ以上の>文字で始まります。行の数字>はテストレベルを表し、最初に>のない行はレベル0と見なされます。テストはツリー階層に配置されます。 nレベルの行のテストが成功すると、n + 1レベルのすべての後続のテストが実行され、テストが成功すると、nレベル(またはそれ以下)の行が表示されるまでメッセージが印刷されます。 。より複雑なファイルでは、次のように空のメッセージを使用して "if / then"効果を得ることができます。

       0      string   MZ
       >0x18  leshort  <0x40   MS-DOS executable
       >0x18  leshort  >0x3f   extended PC executable (e.g., MS Windows)

Scientific Linux 5.5システムでは、/usr/share/file/magic.mime836..838行は次のとおりです。

0       string  \320\317\021\340\241\261\032\341        application/msword
>546    string  bjbj                    application/msword
>546    string  jbjb                    application/msword

したがって、最初の行が一致すると、指定された場所で合計がfileチェックされ、bjbj成功すると追加の文字列が印刷されます。jbjbapplication/msword

注:このファイルを回復するには、テキストバージョンよりもfile -Cバイナリバージョンを好む/usr/share/file/magic.mime.mgcので、そのバージョンを削除するか、名前を変更するか、再作成(使用)する必要があります。file

おすすめ記事