Linuxはファイルを開くのに使用するアプリケーションをどのように判断しますか。


2

私は10年の間にLinuxで何もしていないので、この質問がまだ適切であることを願っています。私はいつもLinuxがどのようにこれを行ったのか知りたいと思っていました、そして私は今それをもう一度考えました。

Windows OSの世界では、ファイルは拡張子によってアプリケーションに関連付けられています。たとえば、foo.txtはnotepad(txt)で開くことができます。そしてfoo.xlsはExcel(xls)で開かれるでしょう。

Linuxでは、ファイル名は拡張子を持っていませんでした(現在はそうなっていますか?)。ファイルを開くのに使用するアプリケーションをどのようにして知っているのでしょうか。ファイルがfooという名前でダブルクリックした場合、実際には正しいアプリケーション内で開くことになります。どうやって?


やってみる man 1 file

2
Linuxには、アプリケーションとファイルの関連付けの概念はありません。これはファイルマネージャの機能であり、それぞれが独自の方法でそれを行うことができます。
Barmar

回答:


3

実際、Linux自体はファイルの種類を気にせず、ファイルが実行可能かどうかだけを気にします。これは、コンテンツではなくファイルのプロパティによって設定されます。 しかし file Linuxと一緒に配布されているツールは、ここで役立つことができます。 file ファイルの内容をデータベースと比較し、一致するものを探します。 さまざまなファイル形式では、ヘッダーにマジックナンバーが使用されています。たとえば、すべてのJPEGファイルはで始まります。 FFD8、そしてで終わる FFD9。 あなたは古いDOS実行ファイルがいつもで始まることを覚えているかもしれません MZこれもまたマジックナンバーです。


4

ほとんどのLinuxデスクトップでは xdg-open 舞台裏でこれのために。それはローカルに問い合わせます xdg-mime XMLデータベース。Windowsの場合のように拡張子によってファイルを識別することも、構成に応じてファイル自体のマジックバイトによってファイルを識別することもできます。

追加のファイルタイプのサポートを追加したい場合は、次のようにして行うことができます。 xdg-mime このページ XMLのセマンティクスを文書化しています。

原則的には使用することも可能です メールキャップ これのために(と run-mailcap これは拡張機能だけを見ていますが、それを行うデスクトップ環境は長い間見たことがありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.