How to view files in binary from bash?

Viewed 514488

I would like to view the contents of a file in the current directory, but in binary from the command line. How can I achieve this?

13 Answers

xxd does both binary and hexadecimal.

bin:

xxd -b file

hex:

xxd file

If you want to open binary files (in CentOS 7):

strings <binary_filename>

Hexyl formats nicely: sudo apt install hexyl

enter image description here

To get the output all in a single line in Hexadecimal:

xxd -p yourfile.bin | tr -d '\n'

to convert a file to its binary codes(hexadecimal representation) we say:

xxd filename                                         #

e.g:

xxd hello.c                                          #

to see all the contents and codes in a binary file , we could use commands like readelf and objdump, hexdump ,... .

for example if we want to see all the convert all the contents of a binary file(executable, shared libraries, object files) we say:

hexdump binaryfilename

e.g.

hexdump /bin/bash

but readelf is the best utility for analyzing elf(executable and linking format) files. so if we say:

readelf -a /bin/bash

all the contents in the binary file bash would be shown to us, also we could provide different flags for readelf to see all the sections and headers of an elf file separately, for example if we want to see only the elf header we say:

readelf -h /bin/bash

for reading all the segments of the file:

readelf -l /bin/bash

for reading all the sections of the file:

readelf -S /bin/sh

but again as summary , for reading a normal file like "hello.c" and a binary file like bash in path /bin/bash in linux we say:

xxd hello.c

readelf -a /bin/bash
Related