Bagaimana cara melihat file dalam biner dari bash?

289

Saya ingin melihat isi file di direktori saat ini, tetapi dalam biner dari baris perintah. Bagaimana saya bisa mencapai ini?

adam_0
sumber

Jawaban:

492

xxd tidak biner dan heksadesimal.

tempat sampah:

xxd -b file

hex:

xxd file
Emilio Bool
sumber
13
sudo xxd /dev/diskn | lesssekarang adalah hal favorit saya yang baru.
krs013
6
... dan sudah diinstal pada Mac OS X dan di Linux.
Sridhar Sarnobat
1
Ini memiliki keunggulan dibandingkan "hexdump" yang juga menunjukkan bentuk ASCII di samping, membuatnya lebih mudah untuk mengidentifikasi lokasi yang ingin saya lihat.
Paŭlo Ebermann
1
Dan untuk membuang output ke file teks ASCII untuk membaca & mencari:xxd file > hex_dump_of_file.txt
Gabriel Staples
sebuah lampiran: xxd tidak hanya untuk shell linux. Saya pikir itu datang dengan vim. Saya telah menginstal vim di windows, dan saya baru saja menemukan saya dapat menggunakan xxd di windows juga.
Tiina
182
hexdump -C yourfile.bin

kecuali jika Anda ingin mengeditnya tentu saja. Kebanyakan distro linux memiliki hexdumpsecara default (tapi jelas tidak semua).

tiranik
sumber
1
Saya suka ide ini, tetapi seperti saran lain, itu hanya menghasilkan hex. Jelas ini jauh lebih kompak daripada biner, tetapi saya berurusan dengan file yang sangat kecil sehingga biner lebih disukai. Apakah hex satu-satunya cara saya dapat melihat file?
adam_0
1
Nah seberapa kecil file tersebut? Apapun yang melebihi beberapa byte dan Anda akan mulai kehilangan akal Anda menggunakan biner. Hex jauh lebih masuk akal untuk sebagian besar hal. Jika Anda merasa tidak nyaman dengan hex, cari saja byte yang Anda minati dan konversikan menggunakan hex hex.
Duck
3
Saya perlu memastikan bahwa file saya dikompresi dengan benar dan saya tidak tahu seperti apa bentuknya dalam hex (ukuran masing-masing unit adalah 7 bit), jadi saya harus menghitung angka dengan tangan.
adam_0
apakah Anda memiliki metode untuk melihat teks dari file biner? Saya bisa mendapatkan kode HEX, tetapi bagaimana seharusnya saya mendekodekannya menjadi teks manusia normal?
Lukas Liesis
Bagaimana dengan output hexdump -C data.bin | hexdump -C
cyb0k
69
vi your_filename

memukul esc

Ketik :%!xxduntuk melihat string hex, n :%!xxd -runtuk kembali ke pengeditan normal.

bebek
sumber
Saya telah menemukan :%!xxdmenambahkan karakter yang tidak diinginkan yaitu baris baru ke file saya?
Quazi Irfan
27

Sebagai mundur selalu ada od -xc filename

Jim Garrison
sumber
13

Jika Anda ingin membuka file biner (dalam CentOS 7):

strings <binary_filename>
Raju
sumber
IMO ini adalah jawaban paling sederhana yang paling elegan. Saya berharap saya bisa lebih memilihnya lebih dari satu kali.
Olumide
Jawaban terbaik dijatuhkan. Ini mengkonversi file Biner menjadi file JSON. Tidak semua pahlawan mengenakan jubah, itu benar
Shubham Pawar
11

sudo apt-get install bless

Bless adalah alat GUI yang dapat melihat, mengedit, mencari dan banyak lagi. Bobotnya sangat ringan.

siddiq
sumber
1
Iya. Saya menemukan ini lebih mudah daripada Vim.
Paulb
3
$ echo -n 'Hello world!' | hd
00000000  48 65 6c 6c 6f 20 77 6f  72 6c 64 21              |Hello world!|
0000000c
Aalex Gabi
sumber
2
hd adalah alias untuk "hexdump -C" ...?
JAR.JAR. Berumur
@ JAR.JAR. Mungkin benar. Saya menggunakannya karena lebih mudah diingat.
Aalex Gabi
Dan karena hadir secara default pada beberapa sistem (Debian).
Aalex Gabi
-1

Anda dapat menggunakan file biner hexdump

sudo apt-get install hexdump

hexdump -C yourfile.bin
kasar
sumber
1
Ini hanya duplikat dari stackoverflow.com/a/1765339/12573645
sportzpikachu