什么是“exe文件”的等价物?
我不知道确切的可执行文件扩展名是什么。 是.deb
还是.tar.gz
?
Windows中没有像“.exe”文件那样的标准文件扩展名。
在Linux上几乎任何文件都可以执行。 文件结尾只描述(但不一定)文件被“执行”的内容或方式。
例如,shell脚本以.sh结尾,并通过bash shell“执行”。
在你的问题中,你要求.deb和.tar.gz嗯,.deb文件在你的系统上安装软件(请注意!).tar.gz文件是一个压缩文件,如.zip,你可以从中知道视窗。
我将通过以下方式总结系统:
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,所以任何人都可以添加一个条目。
可执行文件的概念在unix / linux中与Windows不同。
视窗
以.exe
或.com
结尾的任何内容都将成为可执行文件。
的Linux / Unix
每个文件都有一个可执行位,因此可以执行任何文件,这与Windows不同。 要查看文件是否可执行,您可以检查其属性(权限选项卡),甚至可以在终端中看到它们标记(它们都标有*)。
即使是文本文件(如shell脚本)也可以设置其可执行位,并作为一个运行。
要了解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
它甚至足够聪明,可以正确识别一个Windows程序,如果你碰巧有一个在你的UNIX盒子上躺着:
$ file FMZsetup.exe FMZsetup.exe: MS-DOS executable (EXE), OS/2 or Windows
当它无法弄清楚文件是什么(但能够打开它)时,它会将其称为数据:
$ file myrandom myrandom: data
Linux上的文件执行与文件名或扩展名完全无关。 任何文件都可能被执行,只要它由内核的binfmt
机制处理(并且它的可执行权限已设置)。
可执行文件最常见的格式是ELF ,尽管可以编译一些内核以支持旧的a.out
格式。 (有关完整的技术细节,请binfmt_elf.c
。)
另一个常见的机制是由binfmt_script
处理的“Shebang”系统,它在文件的开头查找#!/path/to/interpreter
。
binfmt_misc
允许注册其他处理程序,如此处所述 。
如果你喜欢做一些内核编程,你甚至可以编写自己的内核编程。
虽然没有直接关系,但file
命令应该告诉您文件是ELF可执行文件还是其他文件。
命名约定与文件的可执行状态无关(除非它用于binfmt_misc
注册)。 他们只是会议。 通常,在Linux上找到的.exe
文件可以是单声道应用程序 ,将.exe
扩展名作为来自Windows / .Net世界的约定。
当您想要“运行”文件时可能发生的另一个方面是让您使用寄存器扩展的文件资源管理器工具能够启动将打开这些文件的程序。 如果你双击.txt
, .tar.gz
或.deb
会发生这种情况,例如:文件不是可执行文件也不是执行文件,但你用双击选择要启动哪些可执行文件来打开这些文件。
在Windows中,.exe文件是一个计算机文件,以扩展名“.exe”结尾,通常称为可执行文件。 当单击exe文件时,内置例程会自动执行可将多个函数设置为运动的代码。 Exe文件通常用于在Windows操作系统中安装文件。
此外,你有.tar文件,通常称为压缩文件.Linux版本,如Ubuntu在各种软件发行版中突出使用function,大多数软件源代码以tar.gz格式提供。从而你可以假设tar。 gz是一种众所周知的.tar格式,用于存档。
另一方面,在Ubuntu中,.deb文件格式的行为更像Windows中的.exe文件。当您打开它时,软件中心会处理它的代码并安装它包含的程序,例如可执行文件。
即使您仍然可以从源格式(tar.gz)安装软件和软件包,最适合安装软件的格式是.deb格式。以Ubuntu软件中心为例; 它包含的所有应用程序实际上都是.deb文件。一般来说,在linux中,几乎每种文件格式(包括.deb和tar.gz以及众所周知的bash文件.sh)都可以表现为可执行文件,这样你就可以了可以安装包或软件。
Windows中没有等效的exe文件扩展名表示文件是可执行的。 相反,可执行文件可以具有任何扩展名,并且通常根本没有扩展名 。
Linux / Unix使用文件权限来指示是否可以执行文件。 具体来说,有一个执行文件权限,告诉系统允许执行该文件。 但是,缺少此权限并不表示该文件不是可执行文件; 仅仅是相关用户不允许尝试执行它。 同样,此权限的存在并不总是表明该文件是有效的可执行文件。
Linux / Unix有一个名为ELF的二进制可执行文件格式,它相当于PE(Windows)或MZ / NE(DOS)二进制可执行格式,通常带有扩展名.exe
但是,其他类型的文件可以是可执行的,具体取决于shell。 通常,如果您尝试执行系统无法识别为二进制可执行文件的文件(例如,ELF格式),则由当前shell解释器解释。 这与Windows或DOS中的批处理文件具有相同的效果,但同样,它不是标识其类型或如何执行它的扩展。
Shell文件可以选择以hashbang开头(文件中的前两个字符是#!
后跟一个解释器的路径),在这种情况下,不是用当前shell解释器解释文件的其余部分,它可以启动一个替代shell或者解释器执行文件。 因此,您可以使用任何解释语言编写脚本,并在尝试执行脚本时仍使用正确的解释器运行该脚本。
EXE和DLL文件是可移植的可执行文件。 这些基于PE / COFF unix文件。
有关更多信息,请阅读http://en.wikipedia.org/wiki/Portable_Executable 。
在Ubuntu中,您没有可执行文件的特定扩展名。 这些通常是以它们相关的应用程序命名的文件。
重要的因素是这些文件具有可执行位集。 如果你有一个彩色终端,你会注意到这些是使用ls
列出时的不同颜色。
在unix文件系统中,二进制可执行文件通常存储在自己的位置。
- / bin(核心二进制文件)
- / sbin(系统二进制文件)
- / usr / bin(应用程序二进制文件)
而其他应用程序资源可能存储在/ usr / lib /或/ usr / share /
deb文件更准确地对应于windows中的msi文件(即包安装程序)。
通常,tar.gz文件或bz2文件包含可以从中构建应用程序的源代码
Ubuntu equlant of .exe / .com文件是无扩展名文件,通常会添加一些扩展名,例如.bin,.run等等
.bat文件有几种选择(几乎所有文件),最受欢迎的是.sh
.deb只是一个存档二进制文件(类似于windows中的.msi)和debian standerds
.tar.gz只是ubuntu中常用的归档格式
无论扩展名如何,任何文件名都可以设置为可执行文件,但文件需要具有相应的权限集。 可以通过右键单击Nautilus中的文件,单击“属性”,并勾选“允许将文件作为程序执行”复选框来给出权限:
.deb用于Linux和TAR存档的Debian软件包使用标准GNU zip(gzip)压缩算法进行压缩; 包含一个或多个压缩文件; 常用于Unix操作系统,用于打包文件,程序和安装程序。
注意 :必须先解压缩TAR.GZ文件,然后使用TAR实用程序进行扩展。 它们包括.TAR和.GZ文件类型。