web-dev-qa-db-ja.com

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

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

45
user54905

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

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

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

.debと.tar.gzを要求する質問では、.debファイルはシステムにソフトウェアをインストールします(ご注意ください!)。 Windows。

40
rechengehirn

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

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, .vbs           | Linux is capable of running any file that it has an interpreter for. 
                   |                      |   A line at the top of the file called the Shebang specifies what interpreter to run the file with. 
                   |                      |   Windows only really runs .bat files in this way.

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

したがって、元の質問に答えてください。拡張子はありません。まれに、.elfまたは.binです。

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

77
hexafraction

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

.exeまたは.comで終わるものはすべて実行可能ファイルになります。

Linux/Unix

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

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

23
Nemo

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
16
Don Simon

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

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

もう1つの一般的なメカニズムは "Shebang" システムで、binfmt_scriptによって処理され、ファイルの先頭で#!/path/to/interpreterを探します。

binfmt_misc は、文書化されているように、他のハンドラーの登録を可能にします here

カーネルプログラミングを少し行いたい場合は、 独自の書き込み を使用することもできます。

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

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

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

11
Bruno

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

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

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

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

シェルファイルはオプションでhashbangで始まる場合があります(ファイルの最初の2文字は#!に続くインタープリターへのパスです)。この場合、ファイルの残りを現在のシェルインタープリターで解釈するのではなく、ファイルを実行する代替シェルまたはインタープリター。したがって、スクリプトをanyインタプリタ言語で保持し、スクリプトを実行するときに正しいインタプリタで実行することができます。

2
thomasrutter

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を含む)が実行可能ファイルとして動作できるため、それでパッケージまたはソフトウェアをインストールできます。

2
dlin

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ファイルには、アプリケーションをビルドできるソースコードが含まれています

1
Merlin

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

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

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

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

0
Tachyons

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

menu item showing Execute: -checkbox- Allow executing file as program

0
Terrarian