运行64位操作系统,查找系统上的所有32位程序

运行64位操作系统,查找系统上的所有32位程序

我应该如何找到系统上的所有 32 位程序?我正在运行 64 位操作系统。

(可能有一些,但我忘记了)

答案1

这有点粗糙,但应该可以解决问题

find / -mount -type f -perm /111 -exec sh -c 'objdump -f {} | grep -q elf32 && echo {}' \;
  • -mount让我们保留在/文件系统上
  • -type f仅限于文件
  • -perm /111将其限制为具有可执行位的文件
  • 然后我们objdump -f对文件和echo文件名(如果objdump包含)运行elf32

前 3 个过滤器只是为了让我们稍微缩小结果范围,而不是objdump对每件事都运行。

答案2

这将需要永远:

find /|parallel -n100 file {}|grep "ELF 32.*executable"

但它应该有效。您需要确保您已经GNU parallel安装

相关内容