Что такое команда hexdump и что она делает без параметров?

Я запустил команду hexdump без параметров, и моя машина с Ubuntu зависла ... Что я сделал? Что эта команда делает без параметра?

И для чего она нужна?

1
задан 25 January 2013 в 21:35

2 ответа

Это из man hexdump :

Утилита hexdump представляет собой фильтр, который отображает указанные файлы или стандартный ввод, если файлы не указаны, в указанный пользователем формат.

Короче говоря, он преобразует текст из одного формата в другой. Традиционно hexdump в основном используется для отладки, особенно программ, которые используют низкоуровневые библиотеки.

Но теперь с юникодом я иногда использую его для получения разных значений символов или для преобразования строк или файлов.

Поскольку это фильтр, вы отправляете в него текст . Простой способ сделать это с помощью оператора трубы (|).

Выводит текст, отображаемый как ASCII, десятичный, шестнадцатеричный или восьмеричный. Вы используете спецификаторы формата, чтобы определить вывод. Это параметры команды, которые вы вводите после hexdump.

Если вы хотите увидеть результаты в командной строке, вам нужно начать с echo.

Так что это echo text-to-transform | hexdump options optional-format-specifiers

Пример из man-страницы:

echo hello | hexdump -v -e '/1 "%02X\n"'

, который выводит шестнадцатеричное значение каждой буквы.

Этот пример может показаться бесполезным, но помните, что можно перекодировать целые файлы или вывести содержимое памяти в удобочитаемом виде.

Если вы не отправляете ввод в hexdump, он продолжает ждать и, похоже, ничего не делает. Это то, что произойдет, если вы запустите hexdump самостоятельно. Когда вы говорите, что это замерзло, произошло ли нечто большее?

0
ответ дан 25 January 2013 в 21:35

Он печатает данные в удобочитаемом формате, обычно в шестнадцатеричном формате. Как и большинство команд Unix, без каких-либо аргументов он читает данные на stdin и записывает на stdout, поэтому, если вы не перенаправили stdin, он просто ждет, пока вы введете некоторые данные в терминал. Компьютер не заморожен, только команда ожидает ввода. Вы можете прервать команду с помощью Ctrl-C, или Ctrl-D указывает на конец ввода.

0
ответ дан 25 January 2013 в 21:35

Другие вопросы по тегам:

Похожие вопросы: