Linux команда od с практическими примерами

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабе вы узнаете о команде od (octal dump) в Linux, которая используется для отображения содержимого файла в восьмеричном, десятичном, шестнадцатеричном или других форматах. Вы начнете с понимания базового использования команды od, затем изучите различные параметры для настройки формата вывода и, наконец, выполните шестнадцатеричный дамп файлов. В этом лабе рассматриваются основные навыки по базовым операциям с файлами и директориями в среде Linux.

Linux Commands Cheat Sheet


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/SystemInformationandMonitoringGroup -.-> linux/dd("File Converting/Copying") subgraph Lab Skills linux/echo -.-> lab-422848{{"Linux команда od с практическими примерами"}} linux/cat -.-> lab-422848{{"Linux команда od с практическими примерами"}} linux/dd -.-> lab-422848{{"Linux команда od с практическими примерами"}} end

Разберитесь с командой od

В этом шаге вы узнаете о команде od (octal dump) в Linux. Команда od используется для отображения содержимого файла в восьмеричном, десятичном, шестнадцатеричном или других форматах.

Для начала создадим примерный файл с некоторым текстом:

echo "Hello, Linux!" > sample.txt

Теперь можно использовать команду od для просмотра содержимого файла в шестнадцатеричном формате:

od -x sample.txt

Пример вывода:

0000000 4865 6c6c 6f2c 2020 4c69 6e75 7821 0a00
0000020

Параметр -x сообщает od отображать содержимое файла в шестнадцатеричном формате. Каждая строка показывает смещение (в байтах) от начала файла, за которым следует шестнадцатеричное представление данных.

Также можно использовать параметр -t для указания формата вывода. Например, чтобы отобразить содержимое файла в десятичном формате:

od -t d1 sample.txt

Пример вывода:

0000000   72  101  108  108  111  44     32  108  105  110  117  120  33  10
0000020

Аргумент d1 сообщает od отображать данные в формате десятичного представления 1 байта.

Изучите параметры команды od

В этом шаге вы изучите различные параметры, доступные для команды od, чтобы настроить формат вывода.

Сначала создадим еще один примерный файл с некоторыми бинарными данными:

echo -e "\x01\x02\x03\x04\x05\x06\x07\x08" > binary.txt

Теперь можно использовать команду od с разными параметрами для отображения содержимого файла в различных форматах:

## Отобразить в восьмеричном формате
od -t o1 binary.txt

## Отобразить в шестнадцатеричном формате
od -t x1 binary.txt

## Отобразить в ASCII формате
od -t c binary.txt

Пример вывода:

0000000 001 002 003 004 005 006 007 010
0000010
0000000 01 02 03 04 05 06 07 08
0000010
0000000 001 002 003 004 005 006 007 010
0000010

Параметр -t позволяет вам указать формат вывода. В примерах выше o1 представляет 1-байтовый восьмеричный формат, x1 представляет 1-байтовый шестнадцатеричный формат, а c представляет формат символов (ASCII).

Вы также можете комбинировать несколько форматов вывода с использованием параметра -t:

od -t x1 -t d1 -t c binary.txt

Пример вывода:

0000000 01 02 03 04 05 06 07 08
0000010

Это покажет содержимое файла в шестнадцатеричном, десятичном и формате символов рядом.

Выполните шестнадцатеричный дамп файлов

В этом финальном шаге вы узнаете, как использовать команду od для выполнения шестнадцатеричного дампа файлов.

Создадим более крупный примерный файл с некоторыми случайными данными:

dd if=/dev/urandom of=random.txt bs=1024 count=10

Это создаст файл с именем random.txt с 10 килобайтами случайных данных.

Теперь можно использовать команду od для отображения шестнадцатеричного дампа файла:

od -x random.txt

Пример вывода:

0000000 f6d1 9d2e 4a4b 5b8f 6acd 0f1e 0f6a 1b2e
0000020 b6f9 2d4a 1e0f 6a1b 2e6f 9d2e 4a4b 5b8f
0000040 6acd 0f1e 0f6a 1b2e b6f9 2d4a 1e0f 6a1b
0000060 2e6f 9d2e 4a4b 5b8f 6acd 0f1e 0f6a 1b2e
0000100 b6f9 2d4a 1e0f 6a1b 2e6f 9d2e 4a4b 5b8f
0000120 6acd 0f1e 0f6a 1b2e b6f9 2d4a 1e0f 6a1b
0000140 2e6f 9d2e 4a4b 5b8f 6acd 0f1e 0f6a 1b2e
0000160 b6f9 2d4a 1e0f 6a1b 2e6f 9d2e 4a4b 5b8f
0000200 6acd 0f1e 0f6a 1b2e b6f9 2d4a 1e0f 6a1b
0000220 2e6f 9d2e 4a4b 5b8f 6acd 0f1e 0f6a 1b2e
0000240

Вывод показывает шестнадцатеричное представление содержимого файла, при этом каждая строка отображает смещение (в байтах) от начала файла.

Вы также можете использовать параметр -c для отображения содержимого файла в ASCII формате вдоль с шестнадцатеричным дампом:

od -tx1 -tc random.txt

Пример вывода:

0000000 f6 d1 9d 2e 4a 4b 5b 8f 6a cd 0f 1e 0f 6a 1b 2e  |......JK[..j...j..|
0000020 b6 f9 2d 4a 1e 0f 6a 1b 2e 6f 9d 2e 4a 4b 5b 8f  |..-J..j..o..JK[.|
0000040 6a cd 0f 1e 0f 6a 1b 2e b6 f9 2d 4a 1e 0f 6a 1b  |j....j....-J..j.|
0000060 2e 6f 9d 2e 4a 4b 5b 8f 6a cd 0f 1e 0f 6a 1b 2e  |.o..JK[.j....j..|
0000100 b6 f9 2d 4a 1e 0f 6a 1b 2e 6f 9d 2e 4a 4b 5b 8f  |..-J..j..o..JK[.|
0000120 6a cd 0f 1e 0f 6a 1b 2e b6 f9 2d 4a 1e 0f 6a 1b  |j....j....-J..j.|
0000140 2e 6f 9d 2e 4a 4b 5b 8f 6a cd 0f 1e 0f 6a 1b 2e  |.o..JK[.j....j..|
0000160 b6 f9 2d 4a 1e 0f 6a 1b 2e 6f 9d 2e 4a 4b 5b 8f  |..-J..j..o..JK[.|
0000200 6a cd 0f 1e 0f 6a 1b 2e b6 f9 2d 4a 1e 0f 6a 1b  |j....j....-J..j.|
0000220 2e 6f 9d 2e 4a 4b 5b 8f 6a cd 0f 1e 0f 6a 1b 2e  |.o..JK[.j....j..|
0000240

Этот вывод отображает шестнадцатеричные значения рядом с их соответствующими ASCII-символами, что делает легче интерпретировать содержимое файла.

Резюме

В этом лабе вы узнали о команде od (octal dump) в Linux, которая используется для отображения содержимого файла в различных форматах, включая восьмеричный, десятичный и шестнадцатеричный. Вы создали примерные файлы с текстом и бинарными данными, и изучили различные параметры, доступные для команды od, чтобы настроить формат вывода. Вы узнали, как использовать параметр -t для указания требуемого формата вывода, такого как 1-байтовый восьмеричный, 1-байтовый шестнадцатеричный и формат символов (ASCII). Кроме того, вы узнали, как комбинировать несколько параметров для дальней настройки вывода.

Linux Commands Cheat Sheet