XX일
이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 xxd 명령입니다.
프로그램:
이름
XX일 - hexdump를 만들거나 그 반대로 합니다.
개요
XX일 -돕다]
XX일 [옵션] [infile [outfile]]
XX일 -r[evert] [옵션] [infile [outfile]]
기술
XX일 주어진 파일 또는 표준 입력의 XNUMX진수 덤프를 생성합니다. XNUMX 진수 덤프를 변환 할 수도 있습니다
원래 바이너리 형식으로 되돌립니다. 좋다 인코딩(1)과하면 uudecode(1) 다음을 허용합니다.
'mail-safe' ASCII 표현으로 바이너리 데이터를 전송하지만 이점이 있습니다.
표준 출력으로 디코딩하는 것입니다. 또한 바이너리 파일 패치를 수행하는 데 사용할 수 있습니다.
옵션
없는 경우 인파일 가 주어지면 표준 입력을 읽습니다. 만약에 인파일 로 지정됩니다.-' 성격,
그런 다음 표준 입력에서 입력을 가져옵니다. 아니오인 경우 아웃파일 주어진 (또는 `-' 문자가 들어있다
해당 위치), 결과는 표준 출력으로 전송됩니다.
첫 번째 옵션 이상을 확인하지 않는 "게으른" 파서가 사용됩니다.
옵션 뒤에 매개변수가 오지 않는 한 문자입니다. 단일 옵션 사이의 공백
문자와 해당 매개변수는 선택 사항입니다. 옵션에 대한 매개변수는 XNUMX진수로 지정할 수 있습니다.
XNUMX진수 또는 XNUMX진수 표기법. 따라서 -C8, -c 8, -c 010 그리고 -열 8 모두 동등합니다.
-a | -자동 건너뛰기
자동 건너뛰기 전환: 단일 '*'가 null 행을 대체합니다. 기본값 : 꺼짐.
-b | -비트
hexdump 대신 비트(이진수) 덤프로 전환합니다. 이 옵션은 씁니다
일반 1진수 덤프 대신 0자리 "XNUMX" 및 "XNUMX"으로 옥텟을 사용합니다. 각
line 앞에 XNUMX진수로 된 줄 번호가 있고 뒤에 ASCII(또는
ebcdic) 표현. 명령줄 스위치 -r, -p, -i는 여기서 작동하지 않습니다.
방법.
-c 목걸이 | -열 목걸이
체재목걸이> 라인당 옥텟. 기본값은 16(-i: 12, -ps: 30, -b: 6)입니다. 최대 256.
-E | -EBCDIC
오른쪽 열의 문자 인코딩을 ASCII에서 EBCDIC로 변경하십시오. 이것
XNUMX진수 표현은 변경하지 않습니다. 옵션은 의미가 없습니다
-r, -p 또는 -i와의 조합.
-e little-endian hexdump로 전환합니다. 이 옵션은 바이트 그룹을
리틀 엔디안 바이트 순서. 4바이트의 기본 그룹화는 다음을 사용하여 변경할 수 있습니다. -g.
이 옵션은 hexdump에만 적용되며 ASCII(또는 EBCDIC) 표현은 그대로 둡니다.
변하지 않은. 명령줄 스위치 -r, -p, -i는 이 모드에서 작동하지 않습니다.
-g 바이트 | -그룹화 바이트
모든 출력을 분리바이트> 바이트(XNUMX개의 XNUMX진수 문자 또는 XNUMX비트 숫자
각) 공백으로. 지정 -g 0 그룹화를 억제합니다.바이트> 기본값은 2
일반 모드에서 4 리틀 엔디안 모드에서 1 비트 모드에서. 그룹화는
포스트스크립트에 적용하거나 스타일을 포함합니다.
-h | -도움
사용 가능한 명령 요약을 인쇄하고 종료합니다. XNUMX진 덤프가 수행되지 않습니다.
-i | -포함
C의 출력은 파일 스타일을 포함합니다. 완전한 정적 배열 정의가 작성되었습니다.
(입력 파일의 이름을 따서 명명), xxd가 stdin에서 읽지 않는 한.
-l 렌 | -렌 렌
작성 후 중지렌> 옥텟.
-o 오프셋
추가하다오프셋> 표시된 파일 위치로 이동합니다.
-p | -추신 | -추신 | -솔직한
Postscript 연속 hexdump 스타일로 출력합니다. 일반 hexdump 스타일이라고도 합니다.
-r | -돌아가는 것
역방향 작업: hexdump를 바이너리로 변환(또는 패치)합니다. 에 쓰지 않는 경우
stdout, xxd는 자르지 않고 출력 파일에 씁니다. 조합 사용
-r -p 줄 번호 정보 없이 일반 XNUMX진수 덤프를 읽고
특정 열 레이아웃. 추가 공백 및 줄 바꿈이 허용됩니다.
어디.
-구하다 오프셋
이후 사용시 -r: 되돌리기오프셋> hexdump에서 찾은 파일 위치에 추가되었습니다.
-s [+][-]찾다
시작하다추구> 바이트 절대값 (또는 rel.) infile 오프셋. + 찾는 것을 나타냅니다.
현재 stdin 파일 위치에 상대적입니다(에서 읽지 않을 때는 의미 없음
표준 입력). - 검색이 끝에서 많은 문자여야 함을 나타냅니다.
입력(또는 +: 현재 stdin 파일 위치 앞). 없이
-s 옵션, xxd는 현재 파일 위치에서 시작합니다.
-u 대문자 XNUMX진수 문자를 사용합니다. 기본값은 소문자입니다.
-v | -번역
버전 문자열을 표시합니다.
경고
XX일 -r 줄 번호 정보를 평가하는 동안 몇 가지 내장 마법이 있습니다. 출력이
파일을 찾을 수 있으면 각 hexdump 줄의 시작 부분에 있는 줄 번호가
선이 누락되거나 겹칠 수 있습니다. 이 경우 xxd는 이시크(2) 다음에
위치. 출력 파일을 찾을 수 없는 경우 간격만 허용되며 채워집니다.
null 바이트로.
XX일 -r 구문 분석 오류를 생성하지 않습니다. 쓰레기는 조용히 건너뜁니다.
hexdump를 편집할 때 다음 사항에 유의하십시오. XX일 -r 다음에 입력 줄의 모든 것을 건너 뜁니다.
XNUMX진수 데이터의 열을 충분히 읽습니다(옵션 -c 참조). 이것은 또한 변화한다는 것을 의미합니다.
인쇄 가능한 ASCII(또는 ebcdic) 열은 항상 무시됩니다. 평야 되돌리기(또는
postscript) 스타일 hexdump with xxd -r -p는 정확한 열 수에 의존하지 않습니다.
여기서는 한 쌍의 XNUMX진수처럼 보이는 모든 것이 해석됩니다.
차이점에 유의하십시오.
% XX일 -i 파일
그리고
% XX일 -i < 파일
XX일 -s +찾다 와 다를 수 있습니다 XX일 -s 추구, 같이 이시크(2) 입력을 "되감기"하는 데 사용됩니다. ㅏ
'+'는 입력 소스가 stdin이고 stdin의 파일 위치가
xxd가 시작되고 입력이 제공될 때까지 파일 시작 시. 다음과 같은
예는 명확하게 하는 데 도움이 될 수 있습니다(또는 더 혼란스럽게!)...
읽기 전에 stdin을 되감습니다. `cat'이 이미 끝까지 읽었기 때문에 필요합니다.
표준 입력
% sh -c "고양이 > 일반_복사; XX일 -s 0 > hex_copy" < 파일
파일 위치 0x480(=1024+128) 이후의 Hexdump. `+' 기호는 "에 상대적"을 의미합니다.
현재 위치", 따라서 `128'은 dd가 중단된 1k에 추가됩니다.
% sh -c "dd of=plain_snippet bs=1k 카운트=1; XX일 -s +128 > hex_snippet" < 파일
파일 위치 0x100(= 1024-768)의 Hexdump가 켜집니다.
% sh -c "dd of=plain_snippet bs=1k 카운트=1; XX일 -s + -768 > hex_snippet" < 파일
그러나 이것은 드문 상황이며 `+'의 사용은 거의 필요하지 않습니다. 저자가 선호하는
xxd의 효과를 모니터링하기 위해 추적하다(1) 또는 지붕틀(1) -s가 사용될 때마다.
사용 예
의 처음 세 줄(0진수 30xXNUMX 바이트)을 제외한 모든 것을 인쇄합니다. 파일.
% XX일 -s 0 X 30 파일
의 끝에서 3줄(0진수 30xXNUMX바이트)을 인쇄합니다. 파일.
% XX일 -s -0x30 파일
라인당 120옥텟이 있는 연속 20진 덤프로 XNUMX바이트를 인쇄합니다.
% XX일 -l 120 -추신 -c 20 xxd.1
2e54482058584420312022417567757374203139
39362220224d616e75616c207061676520666f72
20787864220a2e5c220a2e5c222032317374204d
617920313939360a2e5c22204d616e2070616765
20617574686f723a0a2e5c2220202020546f6e79
204e7567656e74203c746f6e79407363746e7567
이 매뉴얼 페이지의 처음 120바이트를 행당 12옥텟으로 Hexdump합니다.
% XX일 -l 120 -c 12 xxd.1
0000000: 2e54 4820 5858 4420 3120 2241.TH XXD 1 "A
000000c: 7567 7573 7420 3139 3936 2220 1996년 XNUMX월"
0000018: 224d 616e 7561 6c20 7061 6765 "매뉴얼 페이지
0000024: 2066 6f72 2078 7864 220a 2e5c xxd"..\
0000030: 220a 2e5c 2220 3231 7374 204d "..\" 21st M
000003c: 6179 2031 3939 360a 2e5c 2220 ay 1996..\"
0000048: 4d61 6e20 7061 6765 2061 7574 매뉴얼 페이지 자동
0000054: 686f 723a 0a2e 5c22 2020 2020 시간:..\"
0000060: 546f 6e79 204e 7567 656e 7420 토니 누젠트
000006c: 3c74 6f6e 7940 7363 746e 7567
xxd.1 파일의 날짜만 표시
% XX일 -s 0 X 36 -l 13 -c 13 xxd.1
0000036: 3231 7374 204d 6179 2031 3939 36 21년 1996월 XNUMX일
부 입력 파일 에 결과물 파일 값 100x0의 00바이트를 앞에 추가합니다.
% XX일 입력 파일 | XX일 -r -s 100 > 결과물 파일
xxd.1 파일의 날짜 패치
% 에코 "0000037: 3574 68 " | XX일 -r - xxd.1
% XX일 -s 0 X 36 -l 13 -c 13 xxd.1
0000036: 3235 7468 204d 6179 2031 3939 36 25년 1996월 XNUMX일
마지막 파일인 'A'(hex
0x41).
% 에코 "010000: 41 " | XX일 -r > 파일
autoskip으로 이 파일을 Hexdump하십시오.
% XX일 -a -c 12 파일
0000000: 0000 0000 0000 0000 0000 0000 ............
*
000fffc: 0000 0000 40 ....A
단일 'A' 문자를 포함하는 1바이트 파일을 만듭니다. '-r -s' 다음의 숫자는 다음에 추가됩니다.
파일에서 찾은 줄 번호; 실제로 선행 바이트는 억제됩니다.
% 에코 "010000: 41 " | XX일 -r -s -0x10000 > 파일
다음과 같은 편집기 내에서 필터로 xxd 사용 정력(1) 'a' 사이에 표시된 영역을 hexdump하려면
그리고 'z'.
:'a,'z!xxd
다음과 같은 편집기 내에서 필터로 xxd 사용 정력(1) 표시된 바이너리 hexdump를 복구하려면
'a'와 'z' 사이.
:'a,'z!xxd -r
다음과 같은 편집기 내에서 필터로 xxd 사용 정력(1) hexdump의 한 줄을 복구합니다.
줄 위로 커서를 이동하고 다음을 입력합니다.
!!xxd -r
직렬 라인에서 단일 문자 읽기
% XX일 -C1 < /dev/term/b &
% 스티 < /dev/term/b -에코 -opost -이시그 -이콘 분 1
% 에코 -n 푸 > /dev/term/b
RETURN Values
다음 오류 값이 반환됩니다.
0 오류가 발생하지 않았습니다.
-1 작업이 지원되지 않음( XX일 -r -i 여전히 불가능).
옵션을 구문 분석하는 동안 1개의 오류가 발생했습니다.
입력 파일에 2개의 문제가 있습니다.
출력 파일에 3가지 문제가 있습니다.
4,5 원하는 탐색 위치에 도달할 수 없습니다.
onworks.net 서비스를 사용하여 온라인에서 xxd 사용