Formatting output of xxd

Skipping n bytes from start (-s offset)

The xxd command allows you to specify an offset, effectively skipping a certain number of lines or bytes in the input file when generating a hexadecimal dump.

xxd -s [offset] [file path]

Skipping 5 bytes of ‘Hello’


Here, xxd skipped 5 bytes of the word ‘Hello’ and generated a hexadecimal dump for the remaining text.

Display last n bytes (-s -offset)

The “xxd -s” option allows you to specify an offset or skip a certain number of bytes at the beginning of a file when generating a hexadecimal dump.

xxd -s -[number of bytes] [file path]

Hexdump of last 5 bytes ‘ine!.’

By using the ‘-‘ operator in the offset, the resulting hexadecimal dump is generated for the last 5 bytes of the file.

Display first n bytes (-l)

The “xxd -l” option permits you to limit the number of bytes processed or displayed when generating a hexadecimal dump.

xxd -l [number of bytes] [file path]

Displaying the first 20 bytes

We are generating a hex dump of the the first 20 bytes (0x14 is hexadecimal equivalent of 20).

Skipping n output lines

Here’s another example where we skip lines in the hexadecimal dump by specifying offsets like 0x10 (which is equivalent to 16 in decimal) and 0x20 (equivalent to 32 in decimal). It’s the same as skipping bytes, we are just omitting the display of 16 bytes of data per skipped line.

Skipped 1 output line

Number of octets (grouped bytes) per group (-g)

The -g option allows us to organize the output by grouping a certain number of bytes.

xxd -g [number of octets] [file path]

Hexdump of 4 bytes per group

Here, we have generated a hexadecimal dump with 4 bytes per group.

Limiting the number of columns (-c)

We can use the -c option to limit the number of columns per line in the output dump.

xxd -c [number of columns] [file path]

Output of 5 columns per line

Here, we are limiting the output to 5 columns per line, you can use 0x05 instead of 5 to get the same output.

Note: Other than using hexadecimal as input for options, you can use other formats like decimal and octal too.

For example: To display the first 20 bytes of the file the commands can be:

Here, the number of bytes is 20 in decimal, 0x14 in hexadecimal, and 024 in octal.

xxd Command in Linux

xxd is a command-line tool that is primarily used for creating and analyzing hexadecimal dumps from files. It can also be used to reverse the process and convert a hexadecimal dump back into binary form. In this article, let’s uncover the practical applications of the “xxd” command in the Linux ecosystem.

xxd Command in Linux

  • What is a ‘hexadecimal dump’?
  • Installing xxd on Linux
  • Using xxd command:
  • Generating hexadecimal dumps
  • Converting hexadecimal dump to the original file
  • Formatting output of xxd
  • Different dump output styles
  • Embedding Binary Data in C/C++ Code (xxd -i)

Similar Reads

What is a ‘hexadecimal dump’?

A hexadecimal dump, often called a hex dump, is a representation of binary data in a human-readable format using hexadecimal notation. Each byte of binary data is displayed as a pair of hexadecimal digits, making it easier to understand the data....

Installing xxd on Linux

While most Linux distributions come with the “xxd” command pre-installed, if you encounter an error when attempting to use it, you may need to install it based on your specific distribution....

Using xxd command:

Syntax:...

Generating hexadecimal dumps

To create a hexadecimal dump of a file, you can use the following command:...

Converting hexadecimal dump to the original file

xxd -r [hexadecimal dump file path]...

Formatting output of xxd

Skipping n bytes from start (-s offset)...

Different dump output styles

Binary digit dump (-b)...

Embedding Binary Data in C/C++ Code (xxd -i)

While the primary purpose of xxd is to create hexadecimal dumps, xxd -i takes it a step further by generating a C include file that contains the binary data as an array....

xxd Command in linux -FAQs

What is the primary purpose of the “xxd” command in Linux?...

Conclusion

The “xxd” command in Linux is a versatile tool that allows users to work with binary data easily. Whether you need to analyze binary files, edit them with a text editor, or convert between hexadecimal dumps and binary data, “xxd” provides a valuable solution. Understanding and utilizing this command can be a significant asset for anyone dealing with binary data in the Linux environment....