Come visualizzare i file in binario da bash?


289

Vorrei visualizzare il contenuto di un file nella directory corrente, ma in binario dalla riga di comando. Come posso raggiungere questo obiettivo?

Risposte:


492

xxd fa sia binario che esadecimale.

bidone:

xxd -b file

esadecimale:

xxd file

13
sudo xxd /dev/diskn | lessè ora la mia nuova cosa preferita.
— krs013,

6
... ed è preinstallato su Mac OS X e su Linux.
— Sridhar Sarnobat,

1
Questo ha il vantaggio rispetto a "hexdump" che mostra anche il modulo ASCII sul lato, facilitando l'identificazione della posizione che voglio guardare.
— Paŭlo Ebermann,

1
E per scaricare l'output in un file di testo ASCII per sfogliare e cercare:xxd file > hex_dump_of_file.txt
— Gabriel Staples

un supplment: xxd non è solo per la shell di Linux. Penso che arrivi con vim. Avevo installato vim su Windows e ho appena scoperto che posso usare xxd anche su Windows.
— Tiina,

182
hexdump -C yourfile.bin

a meno che tu non voglia modificarlo ovviamente. La maggior parte delle distribuzioni di Linux hanno hexdumpdi default (ma ovviamente non tutte).


1
Mi piace questa idea, ma come gli altri suggerimenti produce solo esadecimali. Ovviamente questo è molto più compatto del binario, ma ho a che fare con file molto piccoli, quindi il binario è preferito. Hex è l'unico modo in cui sarò in grado di visualizzare il file?
— adam_0

1
Bene, quanto è piccolo il file? Qualsiasi cosa su un paio di byte e inizierai a perdere la testa usando comunque il binario. Hex ha molto più senso per la maggior parte delle cose. Se non ti senti a tuo agio con hex, basta individuare i byte a cui sei interessato e convertirli utilizzando un calcolatore esadecimale.
— Duck,

3
Devo assicurarmi che il mio file si comprima correttamente e non so come dovrebbe apparire in esadecimale (la dimensione di ogni unità è di 7 bit), quindi dovrei sgranocchiare i numeri a mano.
— adam_0

hai qualche metodo per vedere il testo dal file binario? Posso ottenere il codice HEX, ma come devo decodificarlo in normale testo umano?
— Lukas Liesis,

Che dire dell'output di hexdump -C data.bin | hexdump -C
— cyb0k,

69
vi your_filename

colpire esc

Digitare :%!xxdper visualizzare le stringhe esadecimali, n :%!xxd -rper tornare alla modifica normale.


Ho trovato l' :%!xxdaggiunta di caratteri indesiderati, ovvero una nuova riga nel mio file?
— Quazi Irfan,


13

Se si desidera aprire file binari (in CentOS 7):

strings <binary_filename>

IMO questa è la più semplice tra le risposte più eleganti. Vorrei poterlo votare più di una volta.
— Olumide,

La migliore risposta a mani basse. Ciò converte il file binario in un file JSON. Non tutti gli eroi indossano mantelli, è vero
— Shubham Pawar,

11

sudo apt-get install bless

Bless è lo strumento GUI che può visualizzare, modificare, ricercare e molto altro. È molto leggero.


1
Sì. Ho trovato questo più facile di Vim.
— Paolo


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

2
hd è un alias di "hexdump -C" ...?
— JAR.JAR.beans

@ JAR.JAR.beans Sì davvero. Lo uso perché è più facile da ricordare.
— Aalex Gabi,

E perché è presente di default su alcuni sistemi (Debian).
— Aalex Gabi,


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.