在/ bin / file的输出中引用可执行文件时,“ LSB”是什么意思?


23

我在Linux 的命令输出中找到了术语LSB可执行文件”LSB共享对象”file。例如:

$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=4637713da6cd9aa30d1528471c930f88a39045ff, stripped

在这种情况下,“ LSB”是什么意思?

Answers:


43

这里的“ LSB”代表“最低有效字节”(第一个),而不是“ MSB”,“最高有效字节”。这意味着该二进制文件是little-endian。

file 根据ELF标头的第六个字节确定此值


另一个答案说明了完全不同的东西……Linux Standard Base。。。。我想你可能是对的。听起来更合理。
yoyo_fun

7
之所以会造成混淆,是因为“ LSB”是首字母缩写,涵盖了不同的含义。在其他情况下,它可能表示“ Linux Standard Base”。但是,在file的输出中,它的意思是“最低有效字节”(正如我链接到的源代码所证明的)。
斯蒂芬·基特

许多首字母缩写词意味着很多不同的东西。但是我的问题不是:“ LSB是什么意思?” ,但更具体的是关于ELF格式的严格可执行文件。
yoyo_fun

4
对,就是这样; 我认为您的问题尚不清楚。但是,许多人只会在“ LSB”停下来并回答“ Linux Standard Base”。
史蒂芬·基特

1
我希望混乱源于几件事。1.自己写“ LSB”来表示小尾数是很不寻常的。2. Linux标准库对现代linux系统进行了相当多的标准化。3.大多数Linux用户很可能从未使用过大端Linux系统。
plugwash
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.