可执行文件和共享库之间的区别是什么?

3

ls的属性显示它是一个可执行文件

enter image description here

kmod 的属性显示它是一个 共享库

enter image description here

我正在尝试在Ubuntu 14.04 LTS中检查可执行文件并对其进行哈希。有没有办法区分可执行文件和其他类型?提前致谢。


对可执行程序进行哈希处理而不对共享库进行处理是没有多大意义的。 - n. m. could be an AI
我想先从可执行文件开始,然后再处理其他类型的文件,但我不知道如何在程序中区分它们。 - linuxnoob
这就好像为以字母A到O开头的文件提供校验和,但却不包括P到Z开头的文件。完全是任意且不必要的。 - n. m. could be an AI
哦,好的,现在为可执行文件和共享库提供校验和更有意义了。谢谢! - linuxnoob
两种类型都包含可执行代码,如果存在恶意软件,可能会执行恶意代码,因此对两者进行校验是很重要的。 - n. m. could be an AI
1个回答

2
可执行文件是一种直接作为程序在系统中执行的载入文件。根据您的问题,“ls”是一个可执行文件,用于列出当前目录内容。 "ls" 的载入位置位于 "/bin" 中,或者您可以使用命令 "which ls" 进行检查。共享库是一些常被许多可执行文件访问或使用的任务。这些库只加载到内存中一次,并在运行时由许多程序(可执行文件)访问。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接