次の2つの声明が正しいかどうか教えてください。
フォルダには、現在利用可能なファイル形式が何であるかを知らせるデータベース/テーブルがあります(/usr/share/mime/magic
コマンドの後にファイル名を入力すると取得できる出力)。file
コマンド出力に「text」という単語が含まれるたびに、file
これはテキストビューアを使用して読み取ることができる項目を参照しますが、「text」を持たない項目は一種のバイナリファイルです。
答え1
/usr/share/mime/magicフォルダには、現在利用可能なファイル形式(「file」コマンドの後にファイルを入力したときに得られる出力)を提供するデータベース/テーブルがあります。
正しいが/usr/share/mime/magic
使用されているディレクトリではありませんfile
:ファイルは次のとおりです。MIMEタイプデータベースのみ。
マンページからfile
:「このファイルを識別する情報は、コンパイルされたマジックファイル/usr/share/file/misc/magic.mgcまたは/usr/share/file/misc/magicディレクトリから読み取られます。コンパイル)は存在しません。
実際、私のArch Linuxシステムでは、このファイルはこのfile
パッケージの一部です。
「ファイル」コマンド出力に「テキスト」という単語が含まれるたびに、これはテキストビューアを使用して読み取ることができる項目を参照しますが、「テキスト」を持たない項目は一種のバイナリファイルです。
正しいようです(反例を見つけようとしましたが、見つかりませんでした)。
答え2
データベースの場所はfile
インストール/バージョンによって異なります。
linuxmanpages.com バージョンfile(1)
説明する:
文書
/usr/share/file/magic.mgc
デフォルトでコンパイルされたマジック番号のリスト
/usr/share/file/magic
基本マジックナンバー一覧
/usr/share/file/magic.mime.mgc
-i
オプションを指定した場合、MIMEタイプの出力に使用されるデフォルトのコンパイル済みマジック番号のリスト。/usr/share/file/magic.mime
-i
オプションが指定されている場合は、MIMEタイプの出力に使用されるマジックナンバーのデフォルトのリストです。/etc/magic
魔法の知恵を込めた地元のサプリメントです。
しかし、CygwinとDebianは次のようにfile(1)
言います。
文書
/usr/share/misc/magic.mgc
デフォルトのコンパイルされたマジックのリスト。
/usr/share/misc/magic
デフォルトのマジックファイルを含むディレクトリ。
状況をさらに混乱させるために、Debianには空のディレクトリへの/usr/share/misc/magic
シンボリックリンクがありますが、Cygwinにはやや大きなファイル(600K以上)へのシンボリックリンクがあります。それで私は明らかな実験をしました。/usr/share/file/magic
/usr/share/file/magic
/usr/share/misc/magic
file /usr/share/misc/magic
/usr/share/misc/magic: Non-ISO extended-ASCII text, with overstriking
見てみると、vi
ASCIIテキストのように見えます(ただし、17000行すべてを再確認するわけではありません)。 「overstrike」は、バックスペースキーがあることを示すようです。
echo -e "1 =\b/ 2" | file -
/dev/stdin: ASCII text, with overstriking
/usr/share/misc/magic
それで、バックスペースキーを検索して2つを見つけました。