Записать определенный шестнадцатеричный шаблон в файл из bash - PullRequest
1 голос
/ 22 марта 2012

Я пытаюсь выполнить некоторые тесты памяти и пытаюсь записать определенный шестнадцатеричный шаблон в обычный файл из bash. Как бы я поступил так без использования инструмента / команды xxd или hexdump?

Спасибо, Neco

Ответы [ 5 ]

6 голосов
/ 22 марта 2012

Самое простое, вероятно, это:

printf '\xde\xad\xbe\xef' > file

, но зачастую это удобнее сделать

perl -e 'print pack "H*", "deadbeef"' > file
3 голосов
/ 22 марта 2012

Если я правильно понял ваш вопрос, printf должен сделать:

>printf %X 256
100
1 голос
/ 22 марта 2012

Можете ли вы использовать od -x вместо этого?Это довольно универсально доступно, od существует с незапамятных времен [1]

[1] На самом деле не заре времени.

0 голосов
/ 03 декабря 2015

Есть несколько способов сделать это в bash, одним из способов является
\ x31 '\' используется для пропуска следующего символа из bash decoding
'x' показывает его шестнадцатеричное число

echo -en \\x31\\x32\\x33 > test 

-e, чтобы избежать трейлинга (иначе 0x0A завершится в конце)
-n интерпретировать экранирование от обратной косой черты

0 голосов
/ 23 марта 2012

Тестирование памяти - намного более сложный предмет, чем просто запись / чтение образцов в памяти. Тестирование памяти накладывает довольно жесткие ограничения на то, что может делать программа тестирования и в каком состоянии находится вся система. Технически невозможно протестировать 100% памяти, когда вы работаете на обычной ОС вообще.

С другой стороны, вы можете запустить какую-нибудь реальную тестовую программу из оболочки или запланировать выполнение теста при следующей загрузке с некоторым хитрым взломом. Возможно, вы захотите посмотреть, как это делается в Inquisitor, то есть запуск memtester для тестирования в ОС и планирование memtest86 * запуска при следующей загрузке .

Если вам абсолютно необходимо остаться в вашей текущей загруженной ОС, то, вероятно, вам подойдет memtester - хотя обратите внимание, что это не очень точный тест памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...