xxd ничего не делает на alpine linux - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь использовать xxd, чтобы следовать учебнику, но он ничего не печатает из контейнера Alpine Linux, в котором я пытаюсь его запустить.

Я выполняю: xxd -ps -c 1000 <valid-file-path>. Когда я делаю это, он просто распечатывает инструкции по использованию:

~ # xxd -ps -c 1000 $FILE_PATH
BusyBox v1.31.1 () multi-call binary.

Usage: xxd [OPTIONS] [FILE]

Hex dump FILE (or stdin)

    -g N        Bytes per group
    -c N        Bytes per line
    -p      Show only hex bytes, assumes -c30
    -l LENGTH   Show only first LENGTH bytes
    -s OFFSET   Skip OFFSET bytes

Я, кажется, правильно его вызываю в соответствии с напечатанными инструкциями по использованию. Что я делаю не так?

1 Ответ

1 голос
/ 31 марта 2020

Alpine поставляется с busybox , который является уменьшенной версией утилит, которые поставляются, например, с Ubuntu, GNU Coreutils . Если вы слышали, как люди говорят «GNU / Linux», это то, что они имеют в виду - многие утилиты, которые вы используете в командной строке, были написаны Free Software Foundation.

Busybox * У 1007 * нет опции -ps, потому что она была переписана, чтобы быть меньше. Он печатает инструкции по использованию, потому что -ps недопустимо. Если вы запустите это на macos или linux, вы получите разные версии оригинального xxd.

Как вы обнаружили, apk add xxd установит этот "оригинальный" xxd.

...