Что означает «LSB» при обращении к исполняемым файлам в выводе / bin / file?


23

Я нашел термин « исполняемый файл LSB » или « общий объект LSB » в выводе fileкоманды в Linux. Например:

$ 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» в этом контексте?

Ответы:


43

«LSB» здесь означает «младший байт» (первый), в отличие от «MSB», «старший значащий байт». Это означает, что двоичный файл имеет порядок байтов.

file определяет это по шестому байту заголовка ELF .


В другом ответе говорилось что-то совершенно другое ... Стандартная база Linux .... Почему возникает путаница в этом вопросе? Я думаю, что вы, вероятно, правы. Это звучит как более разумное объяснение.
yoyo_fun

7
Существует путаница, потому что «LSB» является аббревиатурой, охватывающей разные значения. Это может означать «Стандартная база Linux» в других контекстах; однако в fileвыходных данных это означает «младший байт» (о чем свидетельствует исходный код, с которым я связан).
Стивен Китт,

Многие аббревиатуры означают много разных вещей. Однако мой вопрос не был: «Что означает LSB?» , но более конкретный в отношении строго исполняемых файлов в формате ELF.
yoyo_fun

4
Да, точно; Я не думаю, что ваш вопрос неясен. Однако многие люди просто остановятся на «LSB» и ответят «Linux Standard Base».
Стивен Китт,

1
Я ожидаю, что путаница проистекает из нескольких вещей. 1. Написание "LSB" само по себе, чтобы указать, что little endian довольно необычно. 2. База стандартов Linux довольно много стандартизирована в отношении современных систем Linux. 3. Большинство пользователей Linux, вероятно, никогда не использовали систему Linux с прямым порядком байтов.
plugwash
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.