Linuxは処理中のファイルの種類をどのように知ることができますか? [コピー]

Linuxは処理中のファイルの種類をどのように知ることができますか? [コピー]

Windowsでは、オペレーティングシステムはexe、doc、ppt、pdf ...などの拡張子を使用してファイル形式を認識します。

私たちが知っているように、Linuxでは拡張機能は役に立ちません。

私の質問は、Linuxがシェルスクリプト、オーディオファイル、ビデオファイルなど、どのファイル形式を処理しているかをどうやって知ることができますか?それとも、すべてのファイルを同じ方法で処理しますか?

ベストアンサー1

ファイル拡張子はLinuxディストリビューションでは役に立たず、しばしば不要なショートカットです。 Linuxは、ファイル拡張子を本質的に不要にするツールを使用しています。最初であり、おそらく最も明白なのはシャーバン(#!)です。

これシェルボーンシェルによって実行されるスクリプトの上部にある行で、シェルを実行するために何を使用する必要があるかを示します。たとえば、bashスクリプトに含める標準行は次のとおりです。

#!/usr/bin/bash

この行は、スクリプトの内容がのユーティリティによって実行される必要があることをシェルに伝えます/usr/bin/bash。ただし、shebangは実際に実行可能なプロジェクトにのみ役立ちます。

最新のアプリケーションで広く使用されている次のツールはMIMEタイプです。マイムタイプWebブラウザと電子メールクライアントがどのような種類のファイルが転送されているかを知るために、インターネットで広く使用されているファイルタイプ宣言です。ただし、多くのプログラムは、これらのタイプを使用して何をすべきかを知るためにこれらのタイプに依存しています(たとえば、.desktopX用のファイルには、特定のプログラムとのファイルタイプの関連付けを宣言するmimetype行が含まれる場合があります)。

最後に、ヒューリスティックを介してMIMEタイプを検出するために、Cライブラリとコマンドラインフロントエンドが開発されました。彼らはそれぞれlibmagicとですfileLibmagicとfile明示的に指定されていない場合でも、プログラムまたはユーザーはファイルのMIMEタイプを検出できます。


もちろん、shebangは最新のオペレーティングシステムでファイル形式を決定するのにはるかに小さい役割を果たしていますが、まだスクリプトの世界で広く使用されており、確かにまだ方程式の一部です。

$HOME/.local/share/applications/mimeapps.list一部のファイルタイプの関連付けは、Xのmimetypes宣言を介してファイル(たとえば)にあります。

おすすめ記事