什么叫可执行文件?

时间:2022-12-29 23:17:13
1,windows下的可执行文件是.exe文件,那么linux呢?

2,我们所说的可执行,到底包含了哪些意思? 什么样的文件才能算是可执行的?

12 个解决方案

#1


linux下可执行程序没有特定的扩展名,是按权限位来区别的

ls -l /bin/ls
-rwxr-xr-x. 1 root root 120112 04-01 19:20 /bin/ls

那三个X就表明他具有可执行权限。

可以通过chmod +x 将一个文件附加上可执行权限,如果它有意义则可以正常执行。

#2


顶LS的答案,说的不错

#3


把文件赋上+X ,就有可执行权限了!

#4


2楼的说法也不太确切,具有可执行权限的不一定是可执行文件.是否是可执行文件可以用file命令来判断。具体的可以man file

#5


用file看一下文件信息就知道是不是可执行文件了。

#6


我印象中是根据文件的头部来判断是否可以执行,
配合权限操作

#7


windows下基于coff格式吧,linux下现在一般是elf格式的

#8


内核读取这个文件,创建进程,可执行了

#9


linux下的文件同windows是有很大差异的。一般的来说只要x属性都叫可执行文件。linux下文件可以没有后缀。

#10


有x权限的就可以算可执行文件了。
如果再要深究的话,Windows上有exe后缀的也不一定是可执行文件,因为名字都是可以改的。
可执行,就是“可以执行”,这东西并没有像数学里那样的严格定义。

#11


要不看看这个解释吧,算是比较权威的了:
http://en.wikipedia.org/wiki/Executable

In computing, an executable (file) causes a computer "to perform indicated tasks according to encoded instructions,"[1] as opposed to a file that only contains data. Files that contain instructions for an interpreter or virtual machine may be considered executables, but are more specifically called scripts or bytecode. Executables are also called "binaries" in contrast to the program's source code.

#12


看来,这个问题需要深入研究才行啊,

#1


linux下可执行程序没有特定的扩展名,是按权限位来区别的

ls -l /bin/ls
-rwxr-xr-x. 1 root root 120112 04-01 19:20 /bin/ls

那三个X就表明他具有可执行权限。

可以通过chmod +x 将一个文件附加上可执行权限,如果它有意义则可以正常执行。

#2


顶LS的答案,说的不错

#3


把文件赋上+X ,就有可执行权限了!

#4


2楼的说法也不太确切,具有可执行权限的不一定是可执行文件.是否是可执行文件可以用file命令来判断。具体的可以man file

#5


用file看一下文件信息就知道是不是可执行文件了。

#6


我印象中是根据文件的头部来判断是否可以执行,
配合权限操作

#7


windows下基于coff格式吧,linux下现在一般是elf格式的

#8


内核读取这个文件,创建进程,可执行了

#9


linux下的文件同windows是有很大差异的。一般的来说只要x属性都叫可执行文件。linux下文件可以没有后缀。

#10


有x权限的就可以算可执行文件了。
如果再要深究的话,Windows上有exe后缀的也不一定是可执行文件,因为名字都是可以改的。
可执行,就是“可以执行”,这东西并没有像数学里那样的严格定义。

#11


要不看看这个解释吧,算是比较权威的了:
http://en.wikipedia.org/wiki/Executable

In computing, an executable (file) causes a computer "to perform indicated tasks according to encoded instructions,"[1] as opposed to a file that only contains data. Files that contain instructions for an interpreter or virtual machine may be considered executables, but are more specifically called scripts or bytecode. Executables are also called "binaries" in contrast to the program's source code.

#12


看来,这个问题需要深入研究才行啊,