쉘용 16 진 편집기를 추천하십시오


답변:


24

emacs 16 진 편집을위한 16 진 모드가 있습니다.


4
hexl-mode는 전체 파일을 emacs 버퍼로로드하기 때문에 큰 파일이나 디스크 파티션에는 적합하지 않습니다. 이미 emacs에 익숙하다면 작은 파일에 좋습니다.
Peter Cordes

1
@PeterCordes는 디스크 dd를 편집하기 위해 파일로 편집 할 영역을 간단히 emacs에서 연 다음 dd다시 엽니 다 .
psusi

6
@psusi 문제는 파일 편집을 위해 그 노력에 갈 필요가 없다는 것입니다
Cole Johnson

1
@ColeJohnson, 우리는 파일 편집에 대해 이야기하지 않습니다. 우리는 전체 원시 하드 디스크를 편집하는 것에 대해 이야기하고 있습니다.
psusi

2
@psusi 내 Windows 컴퓨터에서 HxD를 사용하고 다른 파일과 마찬가지로 디스크를 열 수 있습니다.
Cole Johnson

76
xxd

이 도구는이 유형의 작업에서 가장 일반적으로 사용 가능한 도구입니다 (기본적으로 최신 Ubuntu 및 macOS에서 사용 가능). 필요한 경우 오른쪽에서 ASCII 판독 가능 부분을 제거 -p하고 -r함수를 사용하여 ASCII 입력을 이진 데이터로 되돌릴 수 있습니다 . 다음은 간단한 예제 사용법입니다.

ASCII보기로 16 진수로 변환 :

echo example | xxd

16 진수 덤프로 변환 (오른쪽에 ASCII보기 없음) :

echo example | xxd -p

16 진 덤프에서 이진 데이터로 다시 변환 :

echo 746573740a | xxd -p -r

쉘 스크립트에서 이것으로 훨씬 더 복잡해질 수 있습니다. 실제로이 시퀀스와 "dd"를 사용하여 특정 시퀀스를 스캔하고 bash dd,, 및을 사용하여 쉘 스크립트에서 미리 정의 된 방식으로 수정했습니다 xxd. 특정 위치로 "찾아서"필요한 바이트 순서로 해당 위치에 쓸 수 있으므로 실제로 dd가 필요하지 않습니다. 이 방법의 가장 큰 장점은 쉽게 스크립팅 할 수 있다는 것입니다.


2
xxd는 기본적으로 우분투 16.04에 설치되어있는 것 같습니다. 감사!
GlenPeterson

MacOS에서도 기본적으로 사용할 수 있습니다!
thom_nic

34

DHEX있습니다

apt-cache show dhex

diff 모드의 ncurses 기반 16 진 편집기

이것은 다른 16 진 편집기 이상입니다. diff 모드가 포함되어있어 두 개의 이진 파일을 쉽고 편리하게 비교하는 데 사용할 수 있습니다. ncurses를 기반으로하고 테마가 있기 때문에 여러 시스템 및 시나리오에서 실행할 수 있습니다. 검색 로그를 활용하면 서로 다른 파일 반복의 변경 사항을 쉽게 추적 할 수 있습니다.

vim이나 emacs에 익숙하지 않다면, 이것은 많은 학습 곡선을 가지고 있지 않은 것 같습니다.


3
dhex imho의 단점은 바이트를 삽입 / 삭제할 수 없다는 것입니다. 그렇지 않으면 매우 멋진 콘솔 16 진 편집기입니다.
Nicholi

"dhex / path / to / big / file"을 실행하면 "입력 파일 / path / to / big / file을 열 때 오류가 발생합니다." 나는 dhex를 좋아하고 보통 크기의 파일에 항상 사용합니다.
sondra.kinsey

@ sondra.kinsey : 방금 8GB RAM 컴퓨터에서 20GB 파일을 시도했지만 문제가 없었습니다. 이것은 dhex 0.68-2build1 (amd64)의 Ubuntu 16.04 64 비트에 있습니다. 그래서 작동 해야 합니다.
mivk

@ mivk, 3GB RAM이있는 Ubuntu 17.04에서 dhex_0.68-2build1_i386을 사용하여 44GB 파일로 dhex를 실패했습니다. hexedit와 wxHexEditor는 불만없이 동일한 파일을 엽니 다.
sondra.kinsey

@ sondra.kinsey : 32 비트 버전의 dhex 및 4GB 이상의 파일에 문제가 있거나 버그가 있습니까?
mivk

26

vi / vim을 16 진 편집기로 사용할 수도 있습니다 (xxd를 호출 할 수 있음).

16 진수 모드를 입력하십시오.

:%!xxd

16 진 모드를 종료하십시오.

:%!xxd -r

소스 : vi를 16 진 편집기로 사용


1
나는 조심해야한다. :%!xxd파일에 새 문자 (예 : 새 줄)를 추가하는 것을 발견했습니다 .
Quazi Irfan

1
@iamcreasy xxd이 작업을 수행하는 사람이 아니라 Vim 자체입니다.
Ruslan

3
잊지 마세요 :set binary! 그렇지 않으면 VIM은 파일 끝에 줄 끝 (CR / LF / CRLF)을 추가하여 파일을 손상시킬 수 있습니다 (포맷을 ( set ff=[mac/unix/dos]) 으로 설정 한 내용에 따라 ). 실행 파일과 데이터 바이너리가 손상 될 가능성이 높습니다. 그리고 그렇습니다. 많이. VIM이 이진 모드인지 확인하면 해당 모드가 발생하지 않습니다.
Braden Best

8

나는 이것이 오래된 질문이라는 것을 알고 있지만 여기의 모든 대답에 불만족했습니다. 나는 자신의 바이너리 파일 (일명 삽입 모드)을 만들 수 있고 매우 큰 파일을 처리 할 수있는 16 진수 편집기를 찾고있었습니다.

나는 tweak을 보았습니다.이 두 가지 요구 사항과 OP를 모두 충족시킵니다.

  • Tweak은 삽입 모드를 지원합니다 (실행 파일 또는 파일 시스템 이미지를 편집 할 때는 특히 유용하지 않지만 PNG와 같은 다른 파일 형식에서는 매우 유용 할 수 있습니다).
  • 편집중인 파일 내에서 잘라 내기, 복사 및 붙여 넣기가 매우 효율적입니다. CD 이미지의 200Mb 섹션 인 경우에도 이동하는 데이터의 양이 아무리 커도 Tweak은 항상 즉시 작업을 효과적으로 수행합니다.
  • Tweak은 입력 파일의 지연 로딩을 지원합니다. 입력 파일을 모두 메모리로 즉시 빨아들이는 대신 편집 버퍼의 어느 부분이 입력 파일의 어떤 부분의 복사본인지 기억하고 필요할 때 디스크의 파일을 참조합니다. Tweak은 전체 파일을 읽기 위해 정말로 필요할 때만 상당한 시간이 소요됩니다. 이 속성을 사용하는 두 가지 작업은 파일을 수정하고 디스크에 수정 한 버전을 저장하는 것입니다. 그 밖의 모든 것은 즉각적입니다.

흠, 실수로 키를 눌렀을 때마다 버퍼를 수정할 준비가 된 프로그램으로 사용자에게 프로그램 사용 방법 (또는 종료!)을 알려주지 않습니다. 왝! "exit"명령이 emacs와 동일하다는 것이 밝혀졌지만 처음에는 작동하지 않았으므로 다시 시도하기 전에 생각할 수있는 모든 것을 시도했습니다. 나는 수십 년 전에 emacs를 포기했지만 Ctrl-X, Ctrl-C라는 가장 중요한 명령을 기억합니다. 이맥스를 좋아한다면 좋아할 수도 tweak있지만 나에게는 어색했다. 편집이 정말로 필요한 경우 다시 시도 할 수 있습니다. man tweak개요와 명령 목록을 보려면 터미널에서 실행하십시오 .
Lambart

@Lambart tweak의 삽입 모드의 핵심은 버퍼를 수정하는 것이므로 포인트가 실제로 유효하지 않습니다. 또한 사용하기 전에 매뉴얼 페이지를 읽어야합니다. 그렇게하지 않고 종료하는 방법을 알려주지 않는다고 불평하는 것은 단지 게으르다.
Gogeta70

4

Bless Hex Editor 는 바이너리 (hex) 편집기이며 현재 다음 기능을 제공합니다.

  • 대용량 데이터 파일 및 블록 장치의 효율적인 편집
  • 다단계 실행 취소-재실행 작업.
  • 맞춤형 데이터보기.
  • 화면에서 빠른 데이터 렌더링.
  • 여러 탭.
  • 빠른 찾기 및 바꾸기 작업.
  • 데이터 변환 표.
  • 고급 복사 / 붙여 넣기 기능.
  • 파일에서 선택 패턴의 강조 표시가 일치합니다.
  • 플러그인 기반 아키텍처.
  • 텍스트 및 HTML로 데이터 내보내기 (플러그인이있는 기타).
  • 데이터에 대한 비트 연산.
  • 포괄적 인 사용자 설명서.

http://packages.debian.org/sid/all/bless/download 여기에서 언로드 할 수 있습니다 .

설치하려면 명령 줄을 통해 .deb 파일을 설치하는 방법을 참조하십시오 .

더 필요하십니까?


10
문제는 명령 행 편집기를 요청하는 것입니다.
psusi

1
아니 @psusi, 영업 이익은 약 물었다 쉘에서 실행할 수있는 16 진수 편집기 , 하지 내부 쉘 / 단자. bless설치 후 명령을 사용하여 쉘에서 실행할 수 있습니다 .
Radu Rădeanu

33
쉘에서 실행할 수있는 것은 없습니다. 그는 명령 줄을 의미하지 않으면 언급하지 않았을 것입니다.
psusi

사실 나는 창 기반 뷰어를 염두에두고 "우분투 16 진수 뷰어"를 검색하고 있었고 검색 사이트로 나를 데려 왔습니다. 그래서이 답변은 내가 찾은 것입니다.
kinORnirvana



2

또한 있습니다 ht. 다음과 같이 설치하십시오

sudo apt-get install ht

을 입력하여 실행하십시오 hte.

그래도 실제로 큰 파일 / 파티션으로는 시도하지 않았습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.