Comment afficher des fichiers en binaire depuis bash?


289

Je voudrais voir le contenu d'un fichier dans le répertoire courant, mais en binaire depuis la ligne de commande. Comment puis-je atteindre cet objectif?

Réponses:


492

xxd fait à la fois binaire et hexadécimal.

poubelle:

xxd -b file

hex:

xxd file

13
sudo xxd /dev/diskn | lessest maintenant ma nouvelle chose préférée.
krs013

6
... et il est préinstallé sur Mac OS X et Linux.
Sridhar Sarnobat

1
Cela a l'avantage sur "hexdump" qu'il montre également le formulaire ASCII sur le côté, ce qui facilite l'identification de l'emplacement que je veux regarder.
Paŭlo Ebermann

1
Et pour vider la sortie dans un fichier texte ASCII pour lecture et recherche:xxd file > hex_dump_of_file.txt
Gabriel Staples

un supplément: xxd n'est pas seulement pour le shell linux. Je pense que cela vient avec vim. J'avais installé vim sur windows, et je viens de découvrir que je peux aussi utiliser xxd dans windows.
Tiina

182
hexdump -C yourfile.bin

sauf si vous souhaitez le modifier bien sûr. La plupart des distributions Linux ont hexdumppar défaut (mais évidemment pas toutes).


1
J'aime cette idée, mais comme les autres suggestions, elle ne sort que hex. Évidemment, c'est beaucoup plus compact que binaire, mais je traite de très petits fichiers, donc le binaire est préféré. L'hexagone est-il le seul moyen pour que je puisse voir le fichier?
adam_0

1
Eh bien, quelle est la taille du fichier? N'importe quoi sur quelques octets et vous commencerez à perdre la tête en utilisant le binaire de toute façon. Hex est beaucoup plus logique pour la plupart des choses. Si vous n'êtes pas à l'aise avec hexadécimal, recherchez simplement les octets qui vous intéressent et convertissez-les à l'aide d'une calculatrice hexadécimale.
Duck

3
Je dois m'assurer que mon fichier se comprime correctement et je ne sais pas à quoi il devrait ressembler en hexadécimal (la taille de chaque unité est de 7 bits), donc je devrais croquer les chiffres à la main.
adam_0

avez-vous des méthodes pour voir le texte du fichier binaire? Je peux obtenir du code HEX, mais comment le décoder en texte humain normal?
Lukas Liesis

Qu'en est-il de la sortie de hexdump -C data.bin | hexdump -C
cyb0k

69
vi your_filename

frappé esc

Tapez :%!xxdpour afficher les chaînes hexadécimales, le n :%!xxd -rpour revenir à l'édition normale.


J'ai trouvé l' :%!xxdajout de caractères indésirables, par exemple une nouvelle ligne à mon fichier?
Quazi Irfan


13

Si vous souhaitez ouvrir des fichiers binaires (dans CentOS 7):

strings <binary_filename>

OMI, c'est la réponse la plus simple et la plus élégante. J'aimerais pouvoir voter plus d'une fois.
Olumide

La meilleure réponse, haut la main. Cela convertit le fichier binaire en un fichier JSON. Tous les héros ne portent pas de capes, c'est vrai
Shubham Pawar

11

sudo apt-get install bless

Bless est un outil GUI qui peut afficher, modifier, rechercher et bien plus encore. Son poids très léger.


1
Oui. J'ai trouvé que c'était plus facile que 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 est un alias pour "hexdump -C" ...?
JAR.JAR.beans

@ JAR.JAR.beans Oui en effet. Je l'utilise car c'est plus facile à retenir.
Aalex Gabi

Et parce qu'il est présent par défaut sur certains systèmes (Debian).
Aalex Gabi


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.