直感がWebテクノロジーと強く結びついているLinuxユーザーの場合、 MIMEの概念 タイプはDNAに刻印する必要があります 。
MIME タイプは、インターネットまたはその他のユーザー定義ネットワークを介した送信中に、ファイル形式とフォーマットされたコンテンツを識別するのに役立ちます。
Webブラウザを使用していて、Webブラウザがファイルの表示に適した方法を選択する前にHTTP経由でWebサーバーから送信されたファイルを受信している場合、Webブラウザは最初に MIMEを参照します。 タイプを使用して、処理しようとしているファイルタイプを決定します。
MIMEタイプの概念化
MIME または多目的インターネットメール拡張タイプ 、インターネットユーザーがファイルタイプの分類を標準化するのに役立ちます。 MIMEタイプを理解するために、次のような一般的なMIMEタイプの例を見てみましょう。
text/html
上記のMIMEを参照して タイプの例では、2つの部分(タイプ)があることに注意してください。 およびサブタイプ )これはキーMIMEタイプです 属性。この場合、テキスト タイプです およびhtml サブタイプ 。
その他の一般的なMIMEタイプ 例は次のとおりです。
application/pdf application/zip application/xml text/xml text/csv text/plain multipart/form-data
両方のタイプに注意してください およびサブタイプ MIMEタイプの要素 大文字と小文字が区別されます。あなたはサブタイプを想定するのは正しいです MIMEタイプの一部 ほとんどの場合、pdf、xml、zip、csvなどのメディア形式です。ただし、MIMEタイプのサブタイプには、次の標準のMIMEタイプの形式に従って、ツリーのサフィックスまたはプレフィックスを含めることもできます。
type "/" [tree "."] subtype ["+" suffix]
上記の完全なMIMEタイプ形式を参照した完全なMIMEタイプの例は、次のとおりです。
application/vnd.api+json
上記の例はJSONAPI です API固有のMIMEタイプの形式。タイプはアプリケーション、サブタイプはAPI、ベンダープレフィックスはvnd。、サフィックスは+jsonです。
LinuxでのファイルのMIMEタイプの決定
MIMEタイプ ファイルタイプとそれに関連する形式の命名が標準化されているため、この機能はLinuxファイルシステムに保存も自動化もされていません。
LinuxでターゲットファイルのMIMEタイプを正しく判断するには、ファイルの拡張子を確認する必要があります およびコンテンツ 。
- ファイル拡張子別のMIMEタイプ – zipファイルの名前がJPG画像ファイル拡張子を持つように名前が変更された場合のように、ファイル拡張子が欠落しているか正しくない場合、ファイル拡張子によってそのMIMEタイプを決定することは無意味です。
- ファイルコンテンツ別のMIMEタイプ – FF D9などのファイルコンテンツの特定の特性 およびFFD8 JPG画像ファイルの16進署名は、関連するMIMEタイプを判別するのに役立ちます。ただし、このアプローチで使用される追加のI / O作業により、速度は低下しますが、それでも信頼性が高くなります。
xdg-mimeコマンドを使用してファイルのMIMEタイプを検索する
xdg-utils以降 パッケージはxdg-mimeをホストします コマンドを実行すると、ほとんどすべてのLinuxオペレーティングシステムディストリビューションで使用できるはずです。ファイル拡張子によってのみMIMEタイプを決定します。
その参照構文は次のとおりです。
$ xdg-mime query filetype TARGETED_INPUT_FILE
次のファイルのMIMEタイプを特定してみましょう。
$ xdg-mime query filetype mypic.jpeg $ xdg-mime query filetype sample_file.txt

次のコマンドを使用して、画像ファイルの拡張子を削除しても、そのMIMEタイプを取得することもできます。
$ mv mypic.jpeg mypic $ xdg-mime query filetype mypic

ファイルコマンドを使用したファイルMIMEタイプの印刷
ファイルコマンド は、ほとんどすべてのLinuxオペレーティングシステムディストリビューションのデフォルトインストールです。ファイル拡張子とファイルコンテンツの両方によってファイルのMIMEタイプを決定します。
その参照/使用構文は次のとおりです。
$ file --mime-type TARGETED_INPUT_FILE
次のように、2つの表示されたファイルタイプに実装できます。
$ file --mime-type mypic.jpeg $ file --mime-type sample_file.txt

JPEGも削除しましょう 画像ファイル拡張子とこのコマンドの出力を監視します:
$ mv mypic.jpeg mypic $ file --mime-type mypic

xdg-mimevsfileコマンドのパフォーマンス精度
ランダムテキストファイルのファイル拡張子をzipファイル形式に変更し、 xdg-mimeの両方を使用してこのファイルのMIMEタイプを確認する場合 およびファイル コマンド、ファイル コマンドは、ファイルの内容に基づいてMIMEタイプを正しく判別できるようになります。
$ mv output.txt output.zip $ file --mime-type output.zip $ xdg-mime query filetype output.zip

これで、MIMEタイプを判別できます Linuxのファイル拡張子、ファイルコンテンツ、またはその両方に基づくファイルの作成。