GNU File コマンドは Linux と OSX に組み込まれており、Windows で使用できるバージョンがあります ( http://gnuwin32.sourceforge.net/packages/file.htm )。
File は、各引数を分類するために各引数をテストします。ファイルシステム テスト、マジック ナンバー テスト、言語テストの 3 つのテスト セットがこの順序で実行されます。成功した最初のテストにより、ファイルの種類が出力されます。印刷されるタイプには、通常、テキスト (ファイルには印刷文字といくつかの一般的な制御文字のみが含まれ、おそらく ASCII 端末で安全に読み取ることができます)、実行可能ファイル (ファイルにはプログラムをフォームにコンパイルした結果が含まれます) のいずれかが含まれます。一部の UNIX カーネルなどで理解できるもの)、またはその他の意味を持つデータ (通常、データは「バイナリ」または印刷不可) です。例外は、バイナリ データを含むことが知られている既知のファイル形式 (コア ファイル、tar アーカイブ) です。
QProcess を使用して file コマンドを呼び出し、返された情報を表示できます。
出力は次のようになります。
$ file document.pdf
document.pdf: PDF document, version 1.5
$ file test.txt
test.txt: ASCII text, with CRLF, CR, LF line terminators