ファイル拡張子には目的がありますか(オペレーティングシステム用)?


73

Linuxは、ファイルヘッダーのコードを介してファイルのタイプを判別します。ファイルを開くために使用するソフトウェアを知るために、ファイル拡張子に依存しません。

それは私の教育から覚えていることです。私が間違っている場合に備えて修正してください!

最近のUbuntuシステムと少しの作業:私のような拡張子を持つシステム上のファイルの多くを参照してください.sh.txt.o.c

今、私は不思議に思っています:これらの拡張機能は人間専用のものですか?それでは、どのようなファイルであるかを把握する必要がありますか?

または、オペレーティングシステムにも何らかの目的がありますか?


5
ここで良い応答が得られない場合は、unix.stackexchange.com
mchid

関連はほとんど複製:askubuntu.com/questions/390015/...を
Zzzach ...


5
Windowsではそうであり、Linux / Unixではほとんどそうではありません。-主な例外は、圧縮プログラムですgzipbzip2xz-など。これらのプログラムは、接尾辞を使用して、ファイルの圧縮バージョンと置換する非圧縮ファイルを区別します。圧縮プログラムは、ファイルが実際に処理する必要のあるタイプの圧縮ファイルであっても、誤った接尾辞について不平を言うことがよくあります。
バールドコッペルード

6
この質問の問題の一部は、「オペレーティングシステム」が明確に定義された概念ではないことだと思います。オペレーティングシステムの一部、およびその上にあるアプリケーションとは何ですか?OSの多くの部分(どちらのOSについても)は、ファイルの種類を気にしません-彼らは言われたとおりにします。したがって彼らがどのように知っているかについての区別は無関係です。どちらもしません。一方、アプリケーションは、1つまたは両方の処理を実行できます。
IMSoP

回答:


39

Linuxは、ファイルヘッダーのコードを介してファイルのタイプを判別します。ソフトウェアがファイルを開くために使用することを知るために、ファイル拡張子に依存しません。

それは私の教育から覚えていることです。私が間違っている場合に備えて修正してください!

  • 正しく記憶された。

これらの拡張機能は人間のみを対象としていますか?

  • はい、しかし。

拡張機能に依存している他のオペレーティングシステムとやり取りするときは、それらを使用するのが賢明です。

Windowsでは、開くソフトウェアは拡張機能に添付されます。

「file」という名前のテキストファイルを開くことは、「file.txt」という名前の同じファイルを開くよりもWindowsで難しくなります(ファイルを開くダイアログ*.txt*.*毎回切り替える必要があります)。TABおよびセミコロンで区切られたテキストファイルについても同様です。電子メール(拡張子.mbox)のインポートおよびエクスポートについても同じことが言えます。

特に、ソフトウェアをコーディングする場合。HTMLファイルである「software1」およびJavaScriptファイルである「software2」という名前のファイルを開くことは、「software.html」および「software.js」に比べて難しくなります。


Linuxでファイル拡張子が重要な場所にシステムがある場合、それをバグと呼びます。ソフトウェアがファイル拡張子に依存している場合、それは悪用可能です。私たちは、使用通訳ディレクティブを『マジックナンバー(16進数23と21、のASCII値構成する「!#『ファイルの最初の2バイト文字もできる』(ファイルが何であるかを識別するために、#を』と」! 「)シバンと呼ばれることも多い」)。

ファイル拡張子に関する最も有名な問題は、WindowsのLOVE-LETTER-FOR-YOU.TXT.vbsでした。これは、ファイルエクスプローラーにテキストファイルとして表示される視覚的な基本スクリプトです。

Ubuntuでは、Nautilusからファイルを起動すると、何をするのかという警告が表示されます。gEditを開くはずのソフトウェアを起動したいNautilusからスクリプトを実行することは明らかな問題であり、警告が表示されます。

コマンドラインで何かを実行すると、拡張機能が何であるかを視覚的に確認できます。.vbsで終わる場合、私は疑わしくなり始めます(.vbsがLinuxで実行可能であるということではありません。少なくとも努力なしではありません;))。


31
私はあなたの最後の文であなたが言いたかったことを完全に理解していません。1つ目は、拡張子を持たずに拡張機能を隠すという問題です。2つ目は、Linuxでエクスプロイトが同じreadme.txtように機能することです。バイナリファイルに名前を付けて実行可能にします。ユーザーが実行した場合、エディターは開きませんが、コードは実行されます。この点で、拡張機能を重要視する(ただし、非表示にしない)方が、知識のないユーザーにとっては安全で説明しやすくなります。他にも違いがあります(特に、現在のディレクトリからファイルを実行しない場合)が、拡張子とは関係ありません。
テクラフ

4
@techraf実際、ファイルマネージャはおそらくreadme.txtテキストエディタでファイルを開こうとします。KDEでイルカを試してみました。実行許可を追加するシェルスクリプトを作成し、名前.txtを付けて保存してクリックすると、Kateで開きます。名前を変更すると、.shそれをクリックして実行します。
バクリウ

9
linux:makeはファイル拡張子に依存するルールに基づいて構築されるため、このmake(しゃれは意図していません)は、単なる人間以上のものではありませんか?
-bolov

15
これは途方もなく間違った答えです。Linuxの一部では、マジックナンバーを使用してファイルタイプを判別します。コマンドラインでのファイルの実行。しかし、システムの他の巨大な部分は、ファイル拡張子を使用して、何を調べるべきか、それらが動的リンカー(.soファイルを必要とする)、modprobe、ビルドシステム、プラグイン、python、rubyなどのライブラリであるかどうかを認識します。 tはマジックナンバーを持ち、fileヒューリスティックに基づいており、明確ではありません。
アランシュトコ16

3
「Linuxはファイルヘッダー内のコードを介してファイルのタイプを判別します」「正しい」WTFですか?「ファイルヘッダーのコード」とは何ですか?そのようなコードはなく、Linuxにはそのような一般的な「ファイルヘッダー」はありません。
レオンブロ

68

ここに100%の黒または白の答えはありません。

通常、 Linuxはファイル名(およびファイル拡張子、つまり通常最後のピリオドの後のファイル名の部分)に依存せず、代わりにそのコンテンツの最初の数バイトを調べ、既知のマジックナンバーのリストと比較することでファイルタイプを決定します。

たとえば、すべてのビットマップイメージファイル(通常は名前の拡張子を持つ.bmpBMは、最初の2バイトの文字で始まる必要があります。Bash、Python、Perl、AWKなどのほとんどのスクリプト言語(基本的に#コメントで始まる行を処理するすべてのもの)のスクリプトには、#!/bin/bash最初の行のようなシバンが含まれる場合があります。この特別なコメントは、ファイルを開くアプリケーションをシステムに伝えます。

そのため、通常、オペレーティングシステムはファイルの種類を決定するためにファイルの名前ではなくファイルの内容に依存しますが、Linuxではファイル拡張子が必要ないということは真実の半分にすぎません。


もちろん、アプリケーションは必要に応じてファイルチェックを実装できます。これには、ファイル名と拡張子の検証が含まれます。例として、GnomeのEye(eog、標準の画像ビューアー)があります。これは、ファイル拡張子によって画像形式を決定し、コンテンツと一致しない場合にエラーをスローします。これがバグなのか機能なのかを議論できます...

ただし、オペレーティングシステムの一部でさえ、ファイル名拡張子に依存しています。たとえば、ソフトウェアソースファイルを解析する場合/etc/apt/sources.list.d/*.list拡張子を持つファイルのみが解析され、その他はすべて無視されます。主にここでファイルタイプを判別するためではなく、一部のファイルの解析を有効/無効にするために使用される可能性がありますが、システムがファイルを処理する方法に影響するファイル拡張子です。

そしてもちろん、人間のユーザーの利益ことが明らかにファイルの種類を作成しても同じベース名を持つ複数のファイルなど異なる拡張子ができますように、ファイルの拡張子から、ほとんどsite.htmlsite.phpsite.jssite.css欠点はもちろんであるなどのファイル拡張子と実際のファイルタイプ/コンテンツは必ずしも一致する必要はありません。

さらに、Windowsはreadmeファイルの処理方法を認識せず、readme.txt


ここであなたは少し矛盾しています。標準の画像ビューアが.bmpで終わるファイル名を必要とする場合、OSのどの部分が「BM」で始まるファイル内容に依存していると言いますか?知る限り、「カーネルが気にする魔法の数字は、特殊なケースを含む実行可能なタイプです#!。他のすべては、アプリケーションの決定
次第

@IMSoPの正確な実装はeogわかりませんし、なぜファイル名を気にするのかまったくわかりません。これは私の意見ではバグです。もちろん、ファイルの名前が「bmp」であるが、そのコンテンツ形式が一致しない場合は、もちろんエラーも発生します。もちろん、各アプリケーションはファイルの検証方法を決定しますが、一般的にLinuxアプリケーションは名前に依存すべきではありません。ところで、このfileコマンドを使用して、コンテンツごとにファイルの種類を調べることができます。
バイトコマンダー

1
私が挑戦している文はこれです:「Linux ...最初の数バイトを調べることでファイルタイプを決定します」。その文で使用している「Linux」の定義は何ですか?fileユーティリティの存在は実際には何も証明していません。これは便利なツールであり、どのOSにも存在します。OS fileのどの基本部分が、ファイル名をグロブすることよりも「正確に」実行するのですか?
IMSoP


24

他の人が述べたように、Linuxでは、Windowsで使用されるファイル名拡張子の関連付け方法ではなく、インタープリターディレクティブメソッドが使用されます(ファイルにメタデータをヘッダーまたはマジックナンバーとして保存して、正しいインタープリターに読み取るように指示することができます)。

これは、いくつかの例外を除いて、ほぼ任意の名前でファイルを作成できることを意味します。

しかしながら

注意を追加したいと思います。

ファイル名の関連付けを使用するシステムからのファイルがシステム上にある場合、ファイルにはそれらのマジックナンバーやヘッダーがない場合があります。ファイル名拡張子は、これらのファイルを読み取ることができるアプリケーションによってこれらのファイルを識別するために使用されます。このようなファイルの名前を変更すると、予期しない影響が生じる可能性があります。例えば:

ファイルの名前をに変更するMy Novel.docMy-Novel、Libreofficeは引き続き開くことができますが、「Untitled」として開き、保存するために再度名前を付ける必要があります(Libreofficeはデフォルトで拡張子を追加するため、 2つのファイルMy-NovelMy-Novel.odt、迷惑になる可能性があります)

さらに深刻なことに、ファイルの名前をMy Spreadsheet.xlsxからMy-Spreadsheetに変更した場合、それを開くと、xdg-open My-Spreadsheetこれが取得されます(実際には圧縮ファイルであるため)。

そして、あなたはファイル名を変更した場合My Spreadsheet.xlsMy-Spreadsheetあなたがするとき、xdg-open My-Spreadsheetあなたが言ってエラーを取得

場所を開くエラー:このファイルを処理するアプリケーションは登録されていません

(これらの両方のケースで、そうすれば問題なく動作しますがsoffice My-Spreadsheet

次に、拡張子のないファイルの名前をMy-Spreadsheet.odswithに変更して、mv開こうとすると、次のようになります。

(修復は失敗します)

また、ファイルを正しく開くには元の拡張子を戻す必要があります(必要に応じて形式を変換できます)。

TL; DR:

名前の拡張子が付いた非ネイティブファイルがある場合は、すべてが正常であると仮定して拡張子を削除しないでください!


4
ファイル拡張子のない新しいスタイルのMS Officeドキュメント(docx、xlsx、pptxなど)は、アーカイブマネージャーで開きます。これらのファイルタイプは、実際には、ドキュメントコンテンツの定義に必要なすべてのXMLドキュメントとメディアファイルを含む通常のZIP圧縮ファイルだからです。ZIP圧縮ディレクトリのファイル形式は、最近ではかなり一般的です。
バイトコマンダー

1
すでに多くのすばらしい答えがありますが、私が気づいたlibreofficeに固有のもう1つです。コンマ区切り値(CSV)のファイルを作成し、「test.csv」として保存すると、使用しているセパレーターのタイプを尋ねるウィンドウが開きます(つまり、libreoffice Calc)。たとえば、このファイルの名前を「test.cs」に変更すると、libreofficeのWriterが開きます。したがって、上記のZIPの例に加えて、libreofficeはファイル拡張子を利用しているように見えます。
レイ

3
Linuxファイルシステムは、ファイルの種類に関して何もしません。それはすべて、その上で実行されているプログラムにかかっています。
ピーターグリーン

@PeterGreenはい。ただし、プログラムが重要性を割り当てているという事実は、「人間だけのため」ではないことを意味します。たとえば、古典的なMacOSには[ファイル名の一部であるため、OSとアプリケーションは、ファイル拡張子を見ずに必要なすべての情報を持っていました]
Random832

3
@PeterGreen Windowsファイルシステムは、ファイルの種類に関しても何もしません。グラフィカルシェル(Windowsエクスプローラー)は、ファイル拡張子を使用してダブルクリックのアクションを選択しますが、技術的には、Nautilusと同様にOS上で実行されるプログラムにすぎません。Linuxのファイルマネージャーをその動作で記述したり、Windowsでファイルの内容を検査したりすることは完全に可能です。
IMSoP

20

私はこれに対して他の答えとは異なるアプローチを取り、「Linux」または「Windows」がこれと関係があるという考えに挑戦したいと思います(私と一緒に耐えてください)。

ファイル拡張子の概念は、単に「名前の一部に基づいてファイルのタイプを識別するための規則」として表現できます。ファイルの種類を識別するためのその他の一般的な規則は、その内容を既知の署名のデータベースと比較し(「マジックナンバー」アプローチ)、追加の属性としてファイルシステムに保存します(元のMacOSで使用されたアプローチ) 。

WindowsまたはLinuxシステム上のすべてのファイルには名前と内容の両方があるため、ファイルの種類を知りたいプロセスは、「拡張子」または「マジックナンバー」アプローチを適切に使用できます。ほとんどのファイルシステムにはこの属性の標準的な場所がないため、メタデータアプローチは一般に利用できません。

Windowsでは、ファイルを識別する主な手段としてファイル拡張子を使用する強い伝統があります。最も目に見えるのは、ファイルをダブルクリックして起動するアプリケーションを決定するときに、グラフィカルファイルブラウザー(Windows 3.1のファイルマネージャーと最新のWindowsのエクスプローラー)がそれを使用することです。Linux(より一般的にはUnixベースのシステム)では、コンテンツを検査するための伝統があります。最も顕著なのは、カーネルが直接実行されるファイルの先頭を見て、その実行方法を決定することです。スクリプトファイルは、使用するインタープリターを示すために、インタープリターへ#!のパスを続けて開始します。

これらの伝統は、各システム用に記述されたプログラムのUI設計に影響を与えますが、各アプローチには異なる状況で長所と短所があるため、多くの例外があります。内容を調べるのではなくファイル拡張子を使用する理由は次のとおりです。

  • ファイルの内容を調べることは、ファイル名を調べることと比較してかなりコストがかかります。たとえば、「*。confという名前のすべてのファイルを検索する」は、「最初の行がこの署名に一致するすべてのファイルを検索する」よりもはるかに高速です
  • ファイルの内容があいまいになることがあります。多くのファイル形式は実際には特別な方法で処理された単なるテキストファイルであり、他の多くは特別に構造化されたzipファイルであり、これらの正確な署名を定義するのは難しい場合があります
  • ファイルは、複数のタイプとして真に有効な場合があります。HTMLファイルも有効なXMLである可能性があります。ZipファイルとGIFを連結すると、両方の形式で有効です。
  • マジックナンバーの一致により、誤検出が生じる可能性があります。ヘッダーのないファイル形式は、「GIF89a」バイトで始まり、GIF画像と誤認されることがあります
  • ファイルの名前を変更すると、そのファイルを「無効」とマークする便利な方法になります。たとえば、「foo.conf」を「foo.conf〜」に変更すると、ファイルを編集してすべてのディレクティブをコメントアウトするよりも簡単であり、自動ロードされたディレクトリから移動するよりも便利です。同様に、.phpファイルの名前を.txtに変更すると、ApacheはソースをPHPエンジンに渡すのではなく、プレーンテキストとして提供するようになります。

デフォルトでファイル名を使用するLinuxプログラムの例(ただし、他のモードがある場合があります):

  • gzipおよびgunzipは、「。gz」で終わるファイルを特別に処理します。
  • gccは「.c」ファイルをCとして、「。cc」または「.C」をC ++として処理します

Windowsには、拡張機能が「よく知られている」場合に拡張機能を非表示にする強力な伝統があり、DOSでも.COM、.BAT、および.EXEを省略するコマンドを許可し、実行する実際のプログラムを決定するコマンドを自動的に検索します。* nixにはそのような伝統はありません。
モンティハーダー

これははるかに良い答えですが、事実上のエラーが1つあります。スクリプトを#!先頭に配置して実行可能にすることはできません。実行可能ビットが設定されたファイルは、いくつかの方法のいずれかで実行できます。#!/bin/bash同様の署名は、使用するインタープリターを指定するだけです。そのような署名が提供されない場合、デフォルトのシェルインタープリターが想定されます。「Hello World」という2つの単語のみを含むが、実行ビットが設定されているファイルは、実行時に「Hello」コマンドを見つけようとします。
-DocSalvager

1
@DocSalvager良いキャッチ、それは何と同じくらい不器用な言葉遣いでした。シバンはスクリプトを実行可能にするのではなく、実行方法を変更するだけであることを明確にするために、少し言い直しました。
IMSoP

15

実際、一部のテクノロジーファイル拡張子に依存しているため、Ubuntuでこれらのテクノロジーを使用する場合は、拡張子にも依存する必要があります。いくつかの例:

  • gcc拡張機能を使用して、CとC ++ファイルを区別します。拡張機能がなければ、それらを区別することはほとんど不可能です(クラスのないC ++ファイルを想像してください)。
  • 多くのファイルは(docxjarapk)だけで、特に構造化されたZIPアーカイブです。通常、コンテンツからタイプを推測できますが、常に可能とは限りません(たとえば、ファイルのJavaマニフェストはオプションjarです)。

このような場合にファイル拡張子を使用しないことは、ハッキングの回避策でのみ可能となり、非常にエラーが発生しやすくなります。


プログラミングについて言及してくれましたが、詳細のほとんどが間違っていました。 gccCファイルのフロントエンドです。C++ファイルの場合、g++言語を指定するにはフロントエンドまたはコマンドラインスイッチが必要です。さらに重要なのであるmake使用するかどうかを決定しプログラムgccまたはg++特定のファイルを構築するためには-とmakeそのルールのマッチングのためのファイル名パターン(主に拡張子)に完全に依存しています。
ベンフォークト

@BenVoigtで.cc拡張子を付けてファイルをコンパイルする場合gcc、実際にはC ++としてコンパイルされます。これは次のドキュメントに記載されman gccています。拡張機能とその処理方法。
hvd

1
@hvdそれでは、正しいフロントエンドを使用しないとひどく間違ってしまうのはデフォルトのライブラリセットかもしれません。とにかくmakeは、ファイル拡張子に基づいているため、makeが主な例です。
ベンフォークト

1
@BenVoigt makeも良い例ですが、gccファイル名にも大きく依存しています。.cvs よりも明確な例を次に示します.cc。Cのgcc場合、サフィックスを使用して、最初のステップが前処理(.c)、コンパイル(.i)、アセンブル(.s)、またはリンク(.o)のいずれであるかを示します。ここでは、私が使用し-E-Sかつ-c伝えるためにgcc場所に停止し、それがどこに知っているファイル名を使用して起動します gcc something.ccC ++のために右のライブラリにリンクしませんが、それはなり、多くのユーザーがその間違いを犯したときに彼らが得るエラーメッセージで混乱している理由であるC ++などのファイルを扱います。
エリアカガン

7

最初の仮定は正しい:Linuxの拡張機能は重要ではなく、人間(および拡張機能を気にする他の非Unix系OS)にのみ有用です。ファイルのタイプは、ファイル内の最初の32ビットのデータによって決定されます。これは、マジックナンバーとして知られています。 これが、シェルスクリプトに#!行が必要な理由です。それがなければ、シェルスクリプトは単なるテキストファイルです。

ファイルマネージャーに関する限り、ファイルなどの一部のファイルの拡張子を知りたいと思ってい.desktopます。これは、Windowsのショートカットバージョンと基本的に同じですが、より多くの機能を備えています。しかし、OSに関する限り、ファイルの名前ではなく、ファイルの内容を知る必要があります。


3
これはまったく真実ではありません。特定の拡張子を期待するプログラムがあります。最も一般的に使用される例はgunzip、ファイルが呼び出されない場合、おそらくファイルを解凍しないことですfoo.gz
テルドン

それは特定のソフトウェアの実装です。ほとんどの場合、UNIXライクなシステムのユーティリティは拡張を期待していません。
セルギーKolodyazhnyy 16

7
ほとんどの場合、そうではありません。しかし、あなたの最初の文は、それらは決して使われず、人間にのみ関係があると主張しています。それは完全に真実ではありません。gunzip一例でeogあり、別の例です。また、多くのツールは、正しい拡張子がないと名前を自動補完しません。私が言っているのは、「拡張機能は常に無関係」よりも少し複雑だということです。
テルドン

1
1つの小さな問題:OPはオペレーティングシステムについて尋ねました。「gunzip」と「eog」はオペレーティングシステムではありませんが、独自の制限(gunzipの場合)またはメソッド(eog)を作成することにしました。しかし、「MIMEタイプ」。
リンツウィンド

1
@Serg確かに、OSを狭く定義することができ、質問に対する些細な答えを得ることができます。ただし、ユーザーがコンピューターで行うことの大部分は除外したソフトウェアに関係しているため、特に有用な答えではありません。この質問では、「人間専用」と「オペレーティングシステム」を対比していることに注意してください。それらが「カーネル」を意味しているとは思わない。
IMSoP

6

これはコメントの回答には大きすぎます。

意味が異なれば、「拡張」でさえ多くのことを忘れないでください。

あなたが話しているのは、後の3文字のようです。DOSは8.3形式を非常に人気があり、Windowsは今日まで.3の部分を使用しています。

Linuxには、.confや.list、.dまたは.cなどの意味のある多くのファイルがありますが、これらは8.3の意味では実際には拡張子ではありません。たとえば、Apacheは/etc/apache2/sites-enabled/website.confで構成ディレクティブを探します。システムはMIMEタイプとコンテンツヘッダー、およびテキストファイルであると判断しないものを使用しますが、Apache(デフォルト)は、.confで終わることなくロードしません。

.cもまた素晴らしいものです。うん、それはテキストファイルですが、gccはmain.cがmain.oになり、最終的にmain(リンク後)になることに依存しています。システムは、.c、.o、または拡張子を使用せず、コンテンツに関しては意味を持ちますが、。何らかの意味があります main.oとmainを無視するようにSCMをセットアップするでしょう。

ポイントはこれです:拡張機能は、ウィンドウのようには使用されません。名前の.txt部分を削除するため、カーネルは.txtファイルを実行しません。実行権限が設定されている場合は、.txtファイルを実行することも非常に幸せです。そうは言っても、それらには意味があり、いまだに多くの目的で「コンピューターレベル」で使用されています。


1
Windowsはまたにバインドされていないx.3任意のより多くの命名スキーム、あなたはもはやそこに拡張機能としても同様持っている.doxc.torrent.part、などをすでに8.3命名はまだものだったと、後に時間を遡って定義されていただけで、多くのファイル形式と拡張子です形式は、ほとんどの場合、最大3文字を使用するという慣習に単純に適合しました。
バイトコマンダー

「.conf」、「。c」などが「8.3の意味」とは「異なる意味」であることがわかりません。ファイル拡張子の概念は、単に「名前の一部に基づいてファイルのタイプを識別するための規則」として表現できます。DOS / Win3.1でさえ正しい拡張子を必要としませんでした(Word文書を「STUPIDN.AME」と呼び、WinWordでCtrl-Oで開くことができます)。一部のシステム(Windows、gzipMakefileなどをダブルクリックするなど)は、この規則を使用して、各ファイルに対して実行する正しいアクションを想定するように記述されている場合があります。
IMSoP

@ByteCommanderそれは本当ですが、拡張機能は使用されるアプリを決定します。それを反映するように答えを編集する方法がわかりません。
coteyr

1
@coteyr繰り返しますが、それはすべて「OS」の意味に依存します。ファイルマネージャは、確かに「AME」のレジストリキーを検索し、「foo.txtのは、」テキストファイルであることを私に教えてくれます。ただしdir、コマンドプロンプトで実行しても、そのようなことはわかりません。単純に気にしません。どちらのOSでも、ファイルの実行は確かに例外です。質問がそれらに限定されている場合、答えはDOS / Windows は名前だけを気にし、Unix / Linux は実行許可とファイルの最初のバイトだけを気にするということです。それ以外にも、従うべき規則を選択するアプリケーションが常にあります。
IMSoP

1
@coteyr Windows 3.1以降では、*。scr(スクリーンセーバーバイナリ)を忘れていました。でもでも実行可能ファイルのDOS / Windowsシステム内とはいえ、ファイルの拡張子は、まだ単に利便性。詳細は「オペレーティングシステム」の線を引く場所に大きく依存しますが、いつでもバイナリをメモリにロードして自分でそこにジャンプし、通常OSに要求する作業を行うことができます。MS-DOSでは、command.comを見ると、EXE COMのようなリストがあり、何も指定されていない場合は他の拡張子を探すように編集できます(良いアイデアだと言っているのではなく、気にしないでください)。
CVn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.