Vui lòng giới thiệu trình soạn thảo hex cho shell


Câu trả lời:


24

emacs có chế độ hexl để chỉnh sửa hex.


4
chế độ hexl không phù hợp với các tệp lớn hoặc phân vùng đĩa, vì nó tải toàn bộ tệp vào bộ đệm emacs. Thật tuyệt vời cho các tệp nhỏ nếu bạn đã thoải mái với emacs.
Peter Cordes

1
@PeterCordes, để chỉnh sửa đĩa, chỉ cần ddvùng bạn muốn chỉnh sửa thành tệp và mở tệp đó trong emacs, sau ddđó quay lại.
psusi 17/2/2015

6
@psusi Vấn đề là, tôi không cần phải nỗ lực chỉnh sửa một tập tin
Cole Johnson

1
@ColeJohnson, chúng tôi không nói về việc chỉnh sửa một tập tin; chúng ta đang nói về việc chỉnh sửa toàn bộ đĩa cứng.
psusi

2
@psusi Trên máy Windows của tôi, tôi có thể sử dụng HxD và mở một đĩa giống như bất kỳ tệp nào khác.
Cole Johnson

76
xxd

Công cụ này là công cụ phổ biến nhất mà tôi đã tìm thấy cho loại nhiệm vụ này (có sẵn theo mặc định trên cả Ubuntu và macOS mới nhất). Bạn có thể loại bỏ phần ascii có thể đọc được ở bên phải nếu cần sử dụng -pvà bạn có thể hoàn nguyên (thay đổi đầu vào ascii thành dữ liệu nhị phân) bằng cách sử dụng -rchức năng. Dưới đây là một số ví dụ đơn giản sử dụng:

Chuyển đổi sang hex với chế độ xem ascii:

echo example | xxd

Chuyển đổi sang hexdump (không có chế độ xem ascii ở bên phải):

echo example | xxd -p

Chuyển đổi từ hexdump trở lại dữ liệu nhị phân:

echo 746573740a | xxd -p -r

Bạn có thể trở nên phức tạp hơn nhiều với điều này trong shell script. Tôi thực sự đã sử dụng cái này và "dd" để quét các chuỗi cụ thể và sửa đổi chúng theo kiểu được xác định trước tất cả từ một tập lệnh shell không sử dụng gì ngoài bash dd, và xxd. Bạn thực sự không cần dd cho điều này vì bạn có thể "tìm kiếm" đến một vị trí cụ thể và ghi vào vị trí đó chuỗi byte bạn cần. Ưu điểm lớn nhất của phương pháp này là dễ dàng viết kịch bản.


2
xxd dường như được cài đặt trên Ubuntu 16.04 theo mặc định, đó là SWEET! Cảm ơn!
GlenPeterson

Cũng có sẵn theo mặc định trên MacOS!
thom_nic

34

Ngoài ra còn có DHEX

apt-cache show dhex

trình soạn thảo hex dựa trên ncurses với chế độ khác

Đây không chỉ là một trình soạn thảo hex khác: Nó bao gồm một chế độ khác, có thể được sử dụng để so sánh dễ dàng và thuận tiện hai tệp nhị phân. Vì nó dựa trên ncurses và có thể sử dụng được, nên nó có thể chạy trên bất kỳ số lượng hệ thống và kịch bản nào. Với việc sử dụng nhật ký tìm kiếm, có thể theo dõi các thay đổi trong các lần lặp khác nhau của các tệp một cách dễ dàng.

Nếu bạn không quen thuộc với vim hoặc emacs, thì cái này dường như không có nhiều đường cong học tập.


3
Chỉ có nhược điểm với dhex imho là nó không thể chèn / xóa byte. Nếu không, nó là một trình soạn thảo hex console rất đẹp.
Nicholi

Khi tôi chạy "dhex / path / to / big / file", tôi gặp "lỗi khi mở inputfile / path / to / big / file". Tôi thích dhex và sử dụng nó mọi lúc cho các tệp có kích thước bình thường.
sondra.kinsey

@ sondra.kinsey: Tôi vừa thử một tệp 20 GB trên máy RAM 8GB của mình và không gặp vấn đề gì. Đây là trên Ubuntu 16.04 64 bit, với dhex 0.68-2build1 (amd64). Vì vậy, nó nên làm việc.
mivk

@mivk, tôi đã thử dhex không thành công với tệp 44 GB bằng dhex_0.68-2build1_i386 trên Ubuntu 17.04 với RAM 3 GB. hexedit và wxHexEditor mở cùng một tệp mà không có khiếu nại.
sondra.kinsey

@ sondra.kinsey: có thể là sự cố / lỗi với phiên bản dhex 32 bit và các tệp trên 4GB?
mivk

26

Bạn cũng có thể sử dụng vi / vim làm trình soạn thảo hex (nó có thể gọi xxd).

Vào chế độ hex:

:%!xxd

Thoát chế độ hex:

:%!xxd -r

Nguồn: Sử dụng vi làm trình soạn thảo hex


1
Tôi sẽ cẩn thận với điều đó. Tôi đã tìm thấy :%!xxdthêm các ký tự mới (tức là dòng mới) vào tệp.
Quazi Irfan

1
@iamcreasy không phải xxdai làm việc này: đúng hơn là Vim.
Ruslan

3
Đừng quên :set binary! Mặt khác, VIM có khả năng làm hỏng tệp bằng cách thêm một dòng kết thúc (CR / LF / CRLF) ở cuối tệp (tùy thuộc vào những gì bạn có định dạng được đặt thành ( set ff=[mac/unix/dos])). Điều này rất có khả năng phá vỡ các tệp thực thi và nhị phân dữ liệu. Và nó làm. Rất nhiều. Đảm bảo VIM ở chế độ nhị phân sẽ ngăn điều đó xảy ra.
Braden hay nhất

8

Tôi biết đây là một câu hỏi cũ, nhưng tôi không hài lòng với tất cả các câu trả lời ở đây. Tôi đang tìm kiếm một trình soạn thảo hex cho phép tôi tạo các tệp nhị phân của riêng mình (còn gọi là chế độ chèn) và có thể xử lý các tệp rất lớn.

Tôi đã xem qua tinh chỉnh , đáp ứng cả hai yêu cầu này, cũng như các OP.

  • Tweak hỗ trợ chế độ chèn (không đặc biệt hữu ích nếu bạn đang chỉnh sửa tệp thực thi hoặc hình ảnh hệ thống tệp, nhưng có thể cực kỳ tiện dụng trong các định dạng tệp khác như PNG).
  • Cắt, sao chép và dán trong tệp bạn đang chỉnh sửa là cực kỳ hiệu quả. Cho dù khối dữ liệu bạn đang di chuyển lớn đến mức nào - ngay cả khi đó là phần 200Mb của hình ảnh CD - Tweak sẽ luôn thực hiện thao tác hiệu quả ngay lập tức.
  • Tweak hỗ trợ tải tập tin đầu vào một cách lười biếng: thay vì hút tất cả vào bộ nhớ ngay lập tức, nó chỉ cần nhớ phần nào của bộ đệm chỉnh sửa là bản sao của phần nào của tệp đầu vào và tham chiếu đến tệp trên đĩa khi cần. Tweak chỉ phải mất thời gian đáng kể khi bạn thực sự cần nó để đọc toàn bộ tập tin. Hai thao tác duy nhất với thuộc tính này là tìm kiếm và lưu phiên bản sửa đổi của tệp vào đĩa. Mọi thứ khác là ngay lập tức.

Hmmm, một chương trình đã sẵn sàng để sửa đổi bộ đệm với mỗi lần nhấn phím sai và không hướng dẫn người dùng cách (hoặc thoát!) Để sử dụng chương trình. Kinh quá! Hóa ra lệnh "exit" giống như emacs ... nhưng lần đầu tiên nó không hoạt động với tôi, vì vậy tôi đã thử mọi thứ khác mà tôi có thể nghĩ ra trước khi thử lại. Tôi đã từ bỏ emacs từ nhiều thập kỷ trước, nhưng hãy nhớ lệnh quan trọng nhất: Ctrl-X, Ctrl-C. Nếu bạn thích emacs, bạn có thể thích tweak, nhưng đối với tôi điều đó thật khó xử. Tôi có thể thử lại nếu tôi thực sự cần chỉnh sửa. Chạy man tweaktừ thiết bị đầu cuối để biết tổng quan và danh sách các lệnh.
Lambart

@Lambart Toàn bộ quan điểm của chế độ chèn của tinh chỉnh là sửa đổi bộ đệm, vì vậy điểm của bạn không thực sự hợp lệ ở đó. Ngoài ra, bạn nên đọc trang người đàn ông trước khi sử dụng nó. Không làm như vậy và sau đó phàn nàn rằng nó không cho bạn biết làm thế nào để thoát ra chỉ là lười biếng.
Gogeta70

4

Bless Hex Editor là trình chỉnh sửa nhị phân (hex) và hiện cung cấp các tính năng sau:

  • Chỉnh sửa hiệu quả các tệp dữ liệu lớn và các thiết bị khối.
  • Đa cấp hoàn tác - làm lại hoạt động.
  • Chế độ xem dữ liệu có thể tùy chỉnh.
  • Kết xuất dữ liệu nhanh trên màn hình.
  • Nhiều tab.
  • Nhanh chóng tìm và thay thế các hoạt động.
  • Một bảng chuyển đổi dữ liệu.
  • Khả năng sao chép / dán nâng cao.
  • Làm nổi bật các mẫu phù hợp trong tập tin.
  • Plugin dựa trên kiến ​​trúc.
  • Xuất dữ liệu sang văn bản và html (những người khác có plugin).
  • Hoạt động bitwise trên dữ liệu.
  • Hướng dẫn sử dụng toàn diện.

Bạn có thể tải nó từ đây: http://packages.debian.org/sid/all/bless/doad .

Để cài đặt nó, hãy xem Làm cách nào để cài đặt tệp .deb qua dòng lệnh?

Cần nhiều hơn?


10
Câu hỏi là yêu cầu một trình soạn thảo dòng lệnh.
psusi

1
@psusi Không, OP được hỏi về một trình soạn thảo hex có thể được chạy từ vỏ , không bên trong vỏ / thiết bị đầu cuối. Nó có thể được chạy từ shell bằng blesslệnh sau khi được cài đặt.
Radu Rădeanu

33
Không có gì bạn không thể chạy từ vỏ; ông sẽ không đề cập đến nó trừ khi ông có nghĩa là dòng lệnh.
psusi

Trên thực tế, tôi đã tìm kiếm "ubfox hex viewer" có nghĩa là người xem dựa trên cửa sổ và trang tìm kiếm đã đưa tôi đến đây. Vì vậy, câu trả lời này là những gì tôi đã tìm kiếm.
kinORnirvana

2

Hãy thử hexed , nó được tạo ra để sử dụng trong các tập lệnh và tạo tập tin.


2

Cái này rất đơn giản để sử dụng:

sudo apt-get install hexcurse

2

Cũng có ht. Cài đặt nó như là

sudo apt-get install ht

và sau đó chạy nó bằng cách gõ hte.

Tôi đã không thử nó với các tập tin / phân vùng thực sự lớn, mặc dù.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.