Lütfen kabuk için onaltılı bir editör öner


Yanıtlar:


24

emacs Onaltılık düzenleme için bir hexl modu vardır.


4
hexl-mode büyük dosyalar veya disk bölümleri için uygun değildir, çünkü bütün dosyayı bir emacs arabelleğine yükler. Zaten emacs ile rahat ederseniz, küçük dosyalar için harika.
Peter Cordes

1
@PeterCordes, bir diski düzenlemek için, sadece ddbir dosyayı düzenlemek istediğiniz bölgeyi düzenleyin ve ddonu emacs içinde açın, sonra tekrar açın.
psusi

6
@psusi Sorun şu ki, bir dosyayı düzenlemek için bu çabayı harcamam gerekmemeliydi
Cole Johnson

1
@ColeJohnson, bir dosyayı düzenlemekten bahsetmiyoruz; Ham bir sabit diskin tamamını düzenlemekten bahsediyoruz.
psusi

2
@psusi Windows makinemde HxD kullanabilir ve herhangi bir dosya gibi bir disk açabilirim.
Cole Johnson

76
xxd

Bu araç, bu görev türü için bulduğum en yaygın kullanılan araçtır (en son Ubuntu ve macOS'ta varsayılan olarak bulunur). Gerekirse sağdaki ascii okunabilir kısmını kaldırabilir -pve -rişlevi kullanarak geri alabilir (ascii girişini ikili veri olarak değiştirebilirsiniz) . İşte bazı basit örnek kullanımlar:

Ascii görünümle hex'e dönüştürme:

echo example | xxd

Bir hexdump'a dönüştürme (sağda ascii görünüm yok):

echo example | xxd -p

Bir hexdump'tan ikili verilere dönüştürme:

echo 746573740a | xxd -p -r

Bununla kabuk betiklerinde çok daha karmaşık hale gelebilirsiniz. Aslında bunu ve "dd" yi belirli dizileri taramak için kullandım ve bunları bash dışında hiçbir şey kullanarak bir kabuk betiğinden önceden tanımlanmış bir şekilde değiştirdim dd, ve xxd. Aslında bunun için dd'ye ihtiyacınız yoktur, çünkü belirli bir yere "arama" yapabilir ve ihtiyaç duyduğunuz bayt sırasını yazabilirsiniz. Bu yaklaşımın en büyük avantajı kolayca yazılabilir olmasıdır.


2
xxd, varsayılan olarak Ubuntu 16.04'e yüklenmiş görünüyor, SWEET! Teşekkürler!
GlenPeterson 30:16

MacOS'ta varsayılan olarak da mevcuttur!
thom_nic

34

Ayrıca DHEX var

apt-cache show dhex

diff modu ile ncurses tabanlı hex editörü

Bu, başka bir hex editöründen daha fazlasıdır: İki ikili dosyayı kolayca ve rahatça karşılaştırmak için kullanılabilen bir diff modu içerir. Hemşirelere dayalı ve tematik olduğu için, herhangi bir sayıda sistem ve senaryo üzerinde çalışabilir. Arama günlüklerinin kullanımıyla, farklı dosya yinelemelerindeki değişiklikleri kolayca izlemek mümkündür.

Vim veya emacs ile aşina değilseniz, bu bir öğrenme eğrisi çok görünmüyor.


3
Sadece dhex imho dezavantajı bayt ekleyemez / silemez. Aksi takdirde çok güzel bir konsol hex editörüdür.
Nicholi

"Dhex / path / to / big / file" komutunu çalıştırdığımda "giriş dosyasını / path / to / big / file" açma hatası alıyorum. Ben dhex'i severim ve her zaman normal büyüklükteki dosyalar için kullanırım.
sondra.kinsey 17:17

@ sondra.kinsey: 8GB RAM makinemde 20GB'lık bir dosya denedim ve bir sorun yaşamadım. Bu, Ubuntu 16.04 64 bit'te, dhex 0.68-2build1 (amd64). Bu yüzden çalışması gerekir .
mivk

@mivk, Ubuntu 17.04'te dhex_0.68-2build1_i386 kullanarak 3GB RAM kullanarak dhex'i 44GB'lık bir dosya ile başarısızlıkla denedim. hexedit ve wxHexEditor aynı dosyayı şikayet etmeden açar.
sondra.kinsey,

@ sondra.kinsey: belki bir problem / dhex'in 32bit versiyonunda ve 4GB üzerindeki dosyalarda hata mı var?
mivk

26

Vi / vim'i onaltılık editör olarak da kullanabilirsiniz (xxd'yi çağırabilir).

Onaltılı moda girin:

:%!xxd

Onaltılı moddan çık:

:%!xxd -r

Kaynak: vi'yi onaltılık editör olarak kullanmak


1
Buna dikkat ederdim. :%!xxdDosyaya yeni karakterler (yani yeni satır) eklerken buldum .
Quazi Irfan

1
@iamcreasy bunu xxdyapan kişi değil : Vim'in kendisi.
Ruslan

3
Sakın unutma :set binary! Aksi takdirde, VIM'in dosyanın sonuna bir satır sonu (CR / LF / CRLF) ekleyerek (bozuk (the formatı neye ayarlanmış olduğuna set ff=[mac/unix/dos]) bağlı olarak) bozması muhtemeldir . Bunun çalıştırılabilir dosyaları ve veri ikili dosyalarını kırma olasılığı yüksektir. Ve öyle. Çok. VIM'in ikili modda olduğundan emin olmak bunun gerçekleşmesini önleyecektir.
Braden Best

8

Bunun eski bir soru olduğunu biliyorum ama buradaki cevapların hepsinden memnun değildim. Kendi ikili dosyalarımı yaratmamı sağlayan (aka insert modu) ve çok büyük dosyaları idare edebilecek bir hex editörü arıyordum.

Hem bu gereklilikleri hem de OP'leri yerine getiren çimdik ile karşılaştım .

  • Tweak, ekleme modunu destekler (çalıştırılabilir bir dosyayı veya dosya sistemi görüntüsünü düzenliyorsanız özellikle kullanışlı değildir, ancak PNG gibi diğer dosya biçimlerinde çok kullanışlı olabilir).
  • Düzenlemekte olduğunuz dosya içinde kesmek, kopyalamak ve yapıştırmak son derece etkilidir. Ne kadar büyük veri yığını dolaşıyor olursanız olun - bir CD görüntüsünün 200Mb'lik bir bölümü olsa bile - Tweak, işlemi her zaman etkili bir şekilde gerçekleştirir.
  • Tweak, giriş dosyasının tembel yüklenmesini destekler: tümünü hemen belleğe almak yerine, düzenleme tamponunun hangi bölümlerinin giriş dosyasının hangi bölümlerinin kopyaları olduğunu ve gerektiğinde diskteki dosyayı ifade ettiğini hatırlar. Tweak yalnızca, dosyanın tamamını okumak için gerçekten ihtiyaç duyduğunuzda önemli bir zaman alır. Bu özelliğe sahip olan sadece iki işlem arama yapıyor ve dosyanın değiştirilmiş sürümünü diske kaydediyor. Her şey anında.

Hmmm, her yanlış tuşa basıldığında arabelleği değiştirmeye hazır bir programdır ve kullanıcıya programı nasıl kullanacağı (ya da!!) Komutunu vermez. Yuck! "Exit" komutunun emacs ile aynı olduğu ortaya çıktı ... ama ilk defa benim için işe yaramadı, bu yüzden tekrar denemeden önce aklıma gelen her şeyi denedim. Onlarca yıl önce emacs'ten vazgeçtim ama en önemli emri hatırla: Ctrl-X, Ctrl-C. Emacs seviyorsanız tweak, beğenebilirsiniz , ama benim için garipti. Gerçekten düzenlemeye ihtiyacım olursa tekrar deneyebilirim. man tweakBir genel bakış ve komut listesi için terminalden çalıştırın .
Lambart

@Lambart Tweak'ın ekleme modunun amacı tamponu değiştirmek, yani puanınız gerçekten geçerli değil. Ayrıca, yine de kullanmadan önce man sayfasını okumalısınız. Bunu yapmamak ve sonra size nasıl çıkacağınızı söylemekten şikayet etmek tembeldir.
Gogeta70

4

Bless Hex Editor bir ikili (onaltılık) editörüdür ve şu anda aşağıdaki özellikleri sunar:

  • Büyük veri dosyalarının ve blok cihazlarının verimli şekilde düzenlenmesi.
  • Çok düzeyli geri alma - işlemleri yineleyin.
  • Özelleştirilebilir veri görünümleri.
  • Ekranda hızlı veri işleme.
  • Birden çok sekme.
  • İşlemleri hızlıca bulun ve değiştirin.
  • Bir veri dönüşüm tablosu.
  • Gelişmiş kopyala / yapıştır yetenekleri.
  • Seçim deseninin vurgulanması dosyada eşleşir.
  • Eklenti tabanlı mimari.
  • Verilerin metne ve html'ye aktarılması (eklentileri olan diğerleri).
  • Veri üzerinde bitsel işlemler.
  • Kapsamlı bir kullanım kılavuzu.

Buradan yükleyebilirsiniz: http://packages.debian.org/sid/all/bless/download .

Yüklemek için, bkz. .Deb dosyasını komut satırı aracılığıyla nasıl yüklerim?

Daha fazlasına ihtiyaç var?


10
Soru bir komut satırı editörü istiyor.
psusi

1
@ psusi Hayır, OP , kabuk / terminalin içinde değil , kabuktan çalıştırılabilecek bir hex editörü hakkında sorular sordu . Yüklendikten sonra komut kullanılarak kabuktan çalıştırılabilir . bless
Radu Rădeanu 12:13

33
Kabuğundan çalıştıramayacağınız hiçbir şey yok; komut satırı istemediği sürece bundan bahsetmezdi.
psusi 12:13

Aslında "ubuntu hex viewer" ı aradım ve pencereye dayalı izleyiciyi düşündüm ve arama sitesi beni buraya getirdi. Demek bu cevap aradığım şeydi.
kinORnirvana



2

Ayrıca var ht. Olarak yükle

sudo apt-get install ht

ve sonra yazarak çalıştırın hte.

Yine de, gerçekten büyük dosyalar / bölümlerle denemedim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.