Як переглядати файли у двійковій формі з bash?


289

Я хотів би переглянути вміст файлу в поточному каталозі, але у двійковому форматі з командного рядка. Як я можу цього досягти?

Відповіді:


492

xxd робить як двійкові, так і шістнадцяткові.

контейнер для сміття:

xxd -b file

шістнадцятковий:

xxd file

13
sudo xxd /dev/diskn | lessтепер моя нова улюблена річ.
krs013

6
... і він попередньо встановлений на Mac OS X та Linux.
Шрідхар Сарнобат

1
Це має перевагу перед "hexdump" тим, що він також показує форму ASCII збоку, що полегшує визначення місця, яке я хочу подивитися.
Paŭlo Ebermann

1
І щоб скинути вихід у текстовий файл ASCII для перегляду та пошуку:xxd file > hex_dump_of_file.txt
Габріель

доповнення: xxd не тільки для оболонки Linux. Я думаю, що це йде з vim. У мене був встановлений vim на Windows, і я щойно виявив, що я можу використовувати xxd і у Windows.
Тіна

182
hexdump -C yourfile.bin

якщо ви, звичайно, не хочете його редагувати. Більшість дистрибутивів Linux hexdumpза замовчуванням мають (але, очевидно, не всі).


1
Мені подобається ця ідея, але, як і інші пропозиції, вона видає лише шістнадцяткову форму. Очевидно, це набагато компактніше, ніж двійкові, але я маю справу з дуже маленькими файлами, тому двійкові віддати перевагу. Це єдиний спосіб, коли я зможу переглянути файл?
adam_0

1
Ну наскільки маленький файл? Все, що перевищує пару байтів, і ви все одно почнете втрачати розум, використовуючи двійкові. Hex має набагато більше сенсу для більшості речей. Якщо вам не подобається шістнадцятковий, просто знайдіть байти, в яких вас цікавлять, і перетворите їх за допомогою шестигранного калькулятора.
Качка

3
Мені потрібно переконатися, що мій файл стискається правильно, і я не знаю, як він повинен виглядати у шістнадцятковій формі (розмір кожної одиниці становить 7 біт), тому мені доведеться стискати цифри вручну.
adam_0

чи є у вас якісь методи перегляду тексту з двійкового файлу? Я можу отримати HEX-код, але як мені його розшифрувати до нормального людського тексту?
Лукас Лейсіс

Як щодо виведення hexdump -C data.bin | hexdump -C
cyb0k

69
vi your_filename

хіт esc

Введіть :%!xxdдля перегляду шістнадцяткових рядків, n - :%!xxd -rдля повернення до звичайного редагування.


Я знайшов :%!xxdдодавання небажаних символів, тобто нового рядка до мого файлу?
Quazi Irfan


13

Якщо ви хочете відкрити двійкові файли (у CentOS 7):

strings <binary_filename>

ІМО, це найпростіший найелегантніший з усіх відповідей. Мені б хотілося, щоб я був спробований не раз.
Олумід

Найкраща відповідь руки вниз. Це перетворює двійковий файл у файл JSON. Не всі герої носять накидки, це правда
Shubham Pawar

11

sudo apt-get install bless

Bless - це інструмент GUI, який може переглядати, редагувати, вишукувати та багато іншого. Його дуже мала вага.


1
Так. Я вважав, що це легше, ніж Вім.
Павло


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

2
hd - псевдонім "hexdump -C" ...?
JAR.JAR.beans

@ JAR.JAR.beans Так. Я використовую це, тому що його легше запам'ятати.
Алекс Габі

А тому, що він за замовчуванням присутній у деяких системах (Debian).
Алекс Габі


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.