「exeファイル」に相当するものは何ですか?


47

正確な実行可能ファイル拡張子が何なのかわかりません。それ.deb.tar.gz


13
答えではありませんが、LINUXのすべてをファイルに追加したいので、.exeのような拡張子を持つことは重要ではありません。
アテンツ

15
@tijybba「すべてはファイルである」デザイン哲学は全く関係のない.exeネイティブの実行可能ファイルのために必要されていない拡張子。前者は/dev; の内容を説明します。後者は、実行権限と、ファイルの種類を判断するためにファイルの内部を調べることに依存しているためです。
エリアケイガン

@ Eliah Kagan-実行にはWindows拡張が必要であり、Linuxでは実行可能アクセス許可に関する限り、Sudoのノウハウとユーザーアクセスとアンダーレイのセキュリティの懸念はほとんど必要ないため、これは単なる基本情報でした、誰かが必要であれば、答えとして答えを明確にするだろうと思うので、答えではなくコメントとして投稿しました。
アテンツ

4
@tijybbaしかし、「すべて」がファイルであることは、この質問のトピックとは何の関係もありませんか?
エリアケイガン

2
私は「何で私が言う問題ではその一部、読み違え推測exeファイルの私はと考え、?ファイルはUbuntuのである」を実行し、今あなたの熱心な助けを借りて、それは意味らしい「ものです.EXEファイルはUbuntuのです?」。それが非常に不適切である場合、私はそれを削除してうれしいことを教えてください。(間違いは素晴らしい学習経験です:D)。
アテンズ

回答:


42

Windowsには「.exe」ファイルのような標準のファイル拡張子はありません。

Linuxでは、ほぼすべてのファイルが実行可能です。ファイルの末尾には、ファイルが「実行」される内容または方法が記述されています(必ずしもではありません)。

たとえば、シェルスクリプトは.shで終わり、bashシェルを介して「実行」されます。

.debと.tar.gzを要求する質問では、.debファイルはシステムにソフトウェアをインストールします(注意してください!)そして、.tar.gzファイルは、.zipのような圧縮ファイルであり、そこから知ることができますWindows。


1
したがって、.debは.exeファイルです!
user54905

13
@Nick、.debファイルは実行可能ファイルではない傾向があります。これらはELFスクリプトでも「シェバン」スクリプトでもないため、binfmtに登録される可能性は低いです。実行可能パーミッションがあっても、カーネルはそれらをどうするかを知りません。拡張子に基づいて特定のアプリケーションでファイルを開くためにファイルエクスプローラーを登録できるという事実は、それらが実行可能であることとは関係ありません(ファイルのアクセス許可またはカーネルバイナリ形式の実行に関して)。
ブルーノ

4
.debファイルも.exeよりも.zipに似ています。ポイントは、.deb はそれ自体を実行せず、他のアプリケーションによって抽出、解釈、およびインストールされることです。
ラファウチェーラク

5
他のアプリケーションは通常、インストーラーとしても機能するソフトウェアセンターです。LinuxはWindows比較して拡張機能への依存度が低いため、拡張機能ではなく権限に基づいて実行可能性を決定します。
tyjkenn

33
.deb.msiファイルというよりファイルに似てい.exeます。
12

79

次のようにシステムを要約します。

Linux extension    |Windows Equivalent    |Short description
------------------------------------------------------------
.so, .o            | .dll                 | Object that can be loaded at runtime (Similar to DLL)
.a                 | .lib                 | Static library
[none], .elf(rare),| .exe, .com(rare)     | Linux executables
  .bin(rare)       |                      |
.sh                | .bat                 | Shell script
.exe               | .exe                 | Mono application, Wine application
.deb               | .msi                 | Installer package for Debian/Ubuntu releases
                   |                      |   (Though .deb is much more powerful with 
                   |                      |   native support for dependencies and repos). Note that .deb is actually a .ar archive with a special control file, a special file order, and a different extension.
.rpm               | .msi                 | Installer package for RedHat/CentOS releases.
.tar.gz, .tar, .gz | .zip                 | Compressed files that can contain a program or any other data, like images, documents, etc
.ko                | .sys                 | Drivers and kernel modules are loaded into the Linux kernel and have more hardware access than other programs.
.sh, .php, .py, etc| .bat, .cmd, .vbs,    | Linux is capable of running any file that it has an interpreter for. 
                   |   .js                |   A line at the top of the file called the shebang specifies what interpreter to run the file with. 
                   |                      |   Windows only supports .bat and .cmd files as Batch files, and .vbs (vbscript) and .js (JScript, not to be confused with JavaScript) via the Windows Script Host (WSH).

#!最初の行が(シェバンまたはハッシュバンと呼ばれる)で始まるファイルは、単なるスクリプトです。shebangの後のパスは、スクリプトを解析する必要があるプログラム(実行可能ファイル)へのパスです実行許可がでファイルに設定されている仮定しますchmod a+x filename

したがって、あなたの元の質問に答える、拡張子が存在しない、またはめったに、それはありません.elf.bin

これはコミュニティWikiになっているため、誰でもエントリを追加できます。


2
.elf拡張子は見たことがありませんが、.bin拡張子は頻繁に見ました。
カルマリウス14

1
他の答えは「すべて」のファイルが実行可能になるという事実に焦点を当てていますが、この答えは本当に頭に釘を打ちますが、「何でも」は実行可能になる可能性があるということは、実際には有益ではなく、むしろ例外的です。私はWindows上の任意のファイルの名前を.exeに変更することができ、それを実行しようとしますが、必ずしも動作しません、Linuxでは同じです、実行するつもりがない場合は動作しません...私の問題何回もパッケージをダウンロードしていて、何を始めればいいのか本当に理解していませんが、もちろんrtfmです。
TrySpace

(Windowsの同等物は.exeファイルするよう)あなたは拡張子.binを追加する必要があります
ダニ・-BR

@ Dani-Brこれはコミュニティwikiの投稿です。つまり、他の人がそれを編集することを歓迎しており、あなたはそれを行うのに十分な評判を得ています(101)。今のところ.binを追加しました。
–ζ

これは拡張機能ではありませんが、Windowsの「PE 形式がLinuxの「ELF」形式と同等であることを知るのに役立ちました
Accountantم

23

実行可能ファイルの概念は、unix / linuxとWindowsで異なります。

実行可能ファイルで終わる.exe.com、実行可能ファイルになるもの。

Linux / Unix

すべてのファイルには実行可能ビットがあるため、Windowsとは異なり、任意のファイルを実行できます。ファイルが実行可能かどうかを確認するには、そのプロパティ([アクセス許可]タブ)を確認するか、ターミナルでそれらをマークすることもできます(すべて*でマークされています)。

テキストファイル(シェルスクリプトなど)でも実行可能ビットを設定し、1つのファイルとして実行できます。


4
テキストファイルの場合も追加する価値#!/bin/bashがあります。たとえば、ファイルの先頭にあるシェバンは、どのプログラムがファイルを実行するかを設定します。
jackweirdy

ユーザー、グループ、およびその他に個別の実行可能ビットが存在します。これらのビットを使用すると、プログラムを実行できるユーザーを制限できます。SUIDおよびSGIDには、ファイルを所有するユーザーまたはグループとしてプログラムを実行するための追加ビットが存在します。
-BillThor

2)「すべてのファイルに実行可能ビットがあります」:3つの実行可能ビット(所有者、グループ、およびその他)があるため、自分で許可することはできますが、他のユーザーはファイルを実行できません。「execute-as-owner」とsetgid「execute-as-group」へのsetuidビットもあります。2)「任意のファイルを実行できます」:そうではありません。許可ビットは必須ですが、ファイルを正常に実行するには不十分な条件です。たとえば、ファイルを実際にロードして実行できない場合(参照:ファイルマジックナンバーman magic、ELF man elf、およびハッシュman execve
バングライン

16

UNIXオペレーティングシステムが特定のファイルの種類をどのように考えているかを調べるには、fileコマンドを使用します。

$ file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1, for OpenBSD, statically linked, stripped

上記の例では、プログラム「ls」へのパスを指定します。ファイルのパスに置き換えます。

スクリプトファイルは次のようになります。

$ file script.sh
script.sh: Bourne-Again shell script text

ランダムテキストファイル:

$ file textfile
textfile: ASCII text

アーカイブファイル:

$ file rsync-3.0.6.tar.gz
rsync-3.0.6.tar.gz: gzip compressed data, from Unix

もしあなたがあなたのUNIXボックスに横たわっていたら、Windowsプログラムを正しく識別するのに十分賢いです:

$ file FMZsetup.exe
FMZsetup.exe: MS-DOS executable (EXE), OS/2 or Windows

そして、ファイルが何であるかがわからない場合(ただし、開くことができる場合)、データと呼びます:

$ file myrandom
myrandom: data

1
実際には答えではありませんが、良い面
-dlin

11

Linuxでのファイルの実行は、ファイル名や拡張子とはまったく関係ありません。カーネルのbinfmtメカニズムによって処理される(およびその実行可能アクセス許可が設定されている)限り、どのファイルも実行される可能性があります。

実行可能ファイルの最も一般的な形式はELFです。ただし、一部のカーネルは古いa.out形式をサポートするためにコンパイルできます。(技術的な詳細については、こちらをご覧くださいbinfmt_elf.c。)

別の一般的なメカニズムは、ファイルの先頭を検索するによって処理される「Shebang」システムです。binfmt_script#!/path/to/interpreter

binfmt_miscここに記載されているように、他のハンドラーの登録を許可します

カーネルプログラミングを少し行いたい場合は、独自のを作成することもできます

直接関係はありませんが、fileコマンドは、ファイルがELF実行可能ファイルであるか他の何かであるかを通知する必要があります。

命名規則は、ファイルの実行可能ステータスとは関係ありません(binfmt_misc登録に使用される場合を除く)。それらは単なる慣習です。通常、.exeLinuxで見つかったファイルはモノラルアプリケーションであり.exe、Windows / .Netの世界から来ている慣習として拡張子を取得します。

ファイルを「実行」する場合に発生する可能性があるもう1つの側面は、これらのファイルを開くプログラムを起動できるように、レジスタ拡張機能を使用するファイルエクスプローラーツールを使用することです。これは、たとえば.txt.tar.gzまたはをダブルクリックすると発生します。.debたとえば、ファイルは実行可能ファイルでも実行ファイルでもありませんが、ダブルクリックに使用するものは、これらのファイルを開くために起動する実行可能ファイルを選択します。


これは、より包括的な回答の1つに関するコメントとしてより良いと思います。

@ObsessiveFOSS、しかし、それは下票に値しますか?私の不安の前に誰もモノについて言及していませんでした。とにかく、Linux実行可能ファイルが実際にどのように機能するかについては、ここで答えはありません(受け入れられた答えに関するbinfmtについての私のコメントを参照してください)。
ブルーノ

私は下票しませんでした。投票はそのままにすべきだと感じました。
–ζ

@ObsessiveFOSS、問題ありません。また、質問が答えてから編集されており、その意味が少し変わっていたことにも気づきました(最初は「exeファイルがあります、実行できません...」と理解していました)。確かに関連しています。
ブルーノ

OK。問題ない。
–ζ

2

Windowsでは、.exeファイルは、一般に実行可能ファイルと呼ばれる拡張子「.exe」で終わるコンピューターファイルです。exeファイルをクリックすると、組み込みルーチンが自動的にコードを実行し、いくつかの機能を動作させることができます。エグゼファイルは、Windowsオペレーティングシステムにファイルをインストールするために一般的に使用されます。

さらに、一般に圧縮ファイルと呼ばれる.tarファイルがあります。UbuntuなどのLinuxバージョンは、さまざまなソフトウェア配布で機能を顕著に使用し、ほとんどのソフトウェアソースコードはtar.gz形式で利用可能です。 gzは、よく知られている.tar形式の形式で、アーカイブに使用されます。

一方、Ubuntuでは、.debファイル形式はWindowsでの.exeファイルのように動作する形式であり、それを開くと、ソフトウェアセンターがそのコードを処理し、実行可能ファイルなどのプログラムをインストールします。

ソース形式(tar.gz)からソフトウェアとパッケージをインストールできますが、ソフトウェアのインストールに最適な形式は.deb形式です。例としてUbuntu Software Centerを参照してください。実際には、含まれるすべてのアプリケーションは実際には.debファイルです。一般に、Linuxでは、ほとんどすべてのファイル形式(.debおよびtar.gz、および既知のbashファイル.shを含む)が実行可能ファイルとして動作できるため、それでパッケージまたはソフトウェアをインストールできます。


5
Debian派生システムの.debファイルをMicrosoft Installerの.msiファイルと比較したいのですが…
MvG

それは正しいです!:)
dlin

2

Windowsには、ファイルが実行可能であることを示すexeファイル拡張子に相当するものはありません。代わりに、実行可能ファイルには任意の拡張子を付けることができ、通常は拡張子をまったく付けません

Linux / Unixはファイル許可を使用して、ファイルが実行される可能性があるかどうかを示します。具体的には、このファイルの実行が許可されていることをシステムに伝えるファイル実行許可があります。ただし、このアクセス許可がないことは、ファイルが実行可能ファイルではないことを示すものではありません。単に、関連するユーザーが実行を試みること許可されていないというだけです。同様に、この許可の存在は、ファイルが有効な実行可能ファイルであることを常に示すとは限りません。

Linux / Unixには、通常.exeという拡張子を持つPE(Windows)またはMZ / NE(DOS)バイナリ実行可能形式に相当するELFと呼ばれるバイナリ実行可能ファイル形式があります

ただし、シェルによっては、他の種類のファイルが実行可能になる場合があります。通常、システムがバイナリ実行可能ファイル(ELF形式など)として認識しないファイルを実行しようとすると、現在のシェルインタープリターによって解釈されます。これは、WindowsまたはDOSのバッチファイルと同じ効果を発揮しますが、その種類または実行方法を識別する拡張子ではありません。

シェルファイルは、オプションでハッシュバン(ファイルの最初の2文字の#!後にインタープリターへのパスが続く)で始まる場合があります。この場合、ファイルの残りの部分を現在のシェルインタープリターで解釈するのではなく、ファイルを実行します。したがって、任意のインタープリター言語でスクリプトを作成し、スクリプトを実行するときに正しいインタープリターで実行することができます。


ああ、私もこれにほぼ答えました。日付を見て、この投稿は恐竜です。
タムシンマイケル

1

EXEおよびDLLファイルは、移植可能な実行可能ファイルです。これらはPE / COFF unixファイルに基づいています。

詳細については、http://en.wikipedia.org/wiki/Portable_Executableをお読みください

Ubuntuでは、実行可能ファイル用の特定の拡張子はありません。これらは通常、関連するアプリケーションにちなんで命名されたファイルです。

重要な要因は、これらのファイルに実行可能ビットが設定されていることです。カラー端末を使用してlsいる場合は、を使用して一覧表示すると、これらが異なる色であることがわかります。

UNIXファイルシステムでは、バイナリ実行可能ファイルは通常、独自の場所に保存されます。

  1. / bin(コアバイナリ)
  2. / sbin(システムバイナリ)
  3. / usr / bin(アプリケーションバイナリ)

一方、他のアプリケーションリソースは/ usr / lib /または/ usr / share /に保存される場合があります

debファイルは、Windowsのmsiファイル(パッケージインストーラー)により正確に対応しています。

一般に、tar.gzファイルまたはbz2ファイルには、アプリケーションをビルドできるソースコードが含まれています


0

.exe / .comファイルのUbuntu equallantは拡張子のないファイルであり、通常、.bin、.runなどのいくつかの拡張子が追加されています。

.batファイル(ほとんどすべてのファイル)にはいくつかの選択肢があり、最も一般的なものは.shです。

.debは、debian標準のアーカイブバイナリファイル(Windowsの.msiに類似)です。

.tar.gzは、ubuntuで使用される一般的なアーカイブ形式です


0

拡張子に関係なく、任意のファイル名を実行可能ファイルに設定できますが、ファイルには適切なアクセス権セットが必要です。Nautilusでファイルを右クリックし、[プロパティ]をクリックし、[ファイルをプログラムとして実行することを許可する]チェックボックスをオンにすると、許可が与えられます。

実行を示すメニュー項目:-checkbox-プログラムとしてファイルの実行を許可


「任意のファイル」というフレーズが示すように、ファイルの種類ではなく、任意のファイルを実行可能にできることを指摘したいと思います。明確にするための編集。
オタク長老

-3

.deb標準のGNU zip(gzip)圧縮アルゴリズムで圧縮されたLinuxおよびTARアーカイブ用Debianパッケージ。1つ以上の圧縮ファイルが含まれています。ファイル、プログラム、インストーラーをパッケージ化するためにUnixオペレーティングシステムで一般的に使用されます。

:TAR.GZファイルは最初に解凍し、TARユーティリティを使用して展開する必要があります。これらには、.TARと.GZの両方のファイルタイプが含まれます。

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