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.