Jak przeglądać pliki binarne z bash?


289

Chciałbym wyświetlić zawartość pliku w bieżącym katalogu, ale w formacie binarnym z wiersza poleceń. Jak mogę to osiągnąć?

Odpowiedzi:


492

xxd robi zarówno binarny, jak i szesnastkowy.

kosz:

xxd -b file

klątwa:

xxd file

13
sudo xxd /dev/diskn | lessjest teraz moją nową ulubioną rzeczą.
— krs013

6
... i jest wstępnie zainstalowany w systemie Mac OS X i Linux.
— Sridhar Sarnobat

1
Ma to tę przewagę nad „zrzutem heksadecymalnym”, że pokazuje również formularz ASCII z boku, ułatwiając identyfikację lokalizacji, na którą chcę patrzeć.
— Paŭlo Ebermann

1
Aby zrzucić dane wyjściowe do pliku tekstowego ASCII w celu przeglądania i wyszukiwania:xxd file > hex_dump_of_file.txt
— Gabriel Staples

dodatek: xxd dotyczy nie tylko Linuksa. Myślę, że pochodzi z vimem. Miałem zainstalowany vim na Windowsie i właśnie odkryłem, że mogę używać xxd również w Windowsie.
— Tiina,

182
hexdump -C yourfile.bin

chyba że chcesz go oczywiście edytować. Większość dystrybucji Linuksa ma hexdumpdomyślnie (ale oczywiście nie wszystkie).


1
Podoba mi się ten pomysł, ale podobnie jak inne sugestie, wyświetla tylko hex. Oczywiście jest to znacznie bardziej kompaktowe niż binarne, ale mam do czynienia z bardzo małymi plikami, więc preferowany jest binarny. Czy hex to jedyny sposób, w jaki będę mógł zobaczyć plik?
— adam_0,

1
Jak mały jest plik? Coś więcej niż kilka bajtów, a i tak zaczniesz szaleć za pomocą kodu binarnego. Hex ma o wiele większy sens w większości rzeczy. Jeśli nie czujesz się komfortowo z hexem, po prostu znajdź bajty, które Cię interesują i przekonwertuj je za pomocą kalkulatora hex.
— Duck

3
Muszę się upewnić, że mój plik kompresuje się poprawnie i nie wiem, jak powinien wyglądać w trybie szesnastkowym (rozmiar każdej jednostki to 7 bitów), więc musiałbym ręcznie zgnieść liczby.
— adam_0,

czy masz jakieś metody, aby zobaczyć tekst z pliku binarnego? Mogę uzyskać kod HEX, ale jak mam go zdekodować do zwykłego tekstu ludzkiego?
— Lukas Liesis

Co z danymi wyjściowymi hexdump -C data.bin | hexdump -C
— cyb0k

69
vi your_filename

trafienie esc

Wpisz, :%!xxdaby wyświetlić ciągi szesnastkowe, n, :%!xxd -raby powrócić do normalnej edycji.


Znalazłem :%!xxddodawanie niechcianych znaków, tj. Nowego wiersza do mojego pliku?
— Quazi Irfan,


13

Jeśli chcesz otworzyć pliki binarne (w CentOS 7):

strings <binary_filename>

IMO to najprostsza, najbardziej elegancka ze wszystkich odpowiedzi. Chciałbym móc głosować więcej niż raz.
— Olumide,

Najlepsza odpowiedź bez dwóch zdań. Konwertuje to plik binarny na plik JSON. Nie wszyscy bohaterowie noszą peleryny, to prawda
— Shubham Pawar

11

sudo apt-get install bless

Bless to narzędzie GUI, które może wyświetlać, edytować, wyszukiwać i wiele więcej. Jest bardzo lekki.


1
Tak. Uznałem, że jest to łatwiejsze niż Vim.
— Paulb


3
$ echo -n 'Hello world!' | hd
00000000  48 65 6c 6c 6f 20 77 6f  72 6c 64 21              |Hello world!|
0000000c

2
hd to pseudonim „hexdump -C” ...?
— JAR.JAR. beans

@ JAR.JAR.beans Tak, rzeczywiście. Używam go, ponieważ łatwiej jest zapamiętać.
— Aalex Gabi

A ponieważ jest domyślnie obecny w niektórych systemach (Debian).
— Aalex Gabi


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.