| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | .TH XXD 1 "May 2024" "Manual page for xxd" | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .\" | 
					
						
							|  |  |  | .\" 21st May 1996 | 
					
						
							|  |  |  | .\" Man page author: | 
					
						
							|  |  |  | .\"    Tony Nugent <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au> | 
					
						
							|  |  |  | .\"    Changes by Bram Moolenaar <Bram@vim.org> | 
					
						
							|  |  |  | .SH NAME | 
					
						
							|  |  |  | .I xxd | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | \- make a hex dump or do the reverse. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .SH SYNOPSIS | 
					
						
							|  |  |  | .B xxd | 
					
						
							|  |  |  | \-h[elp] | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | .B xxd | 
					
						
							|  |  |  | [options] [infile [outfile]] | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | .B xxd | 
					
						
							|  |  |  | \-r[evert] [options] [infile [outfile]] | 
					
						
							|  |  |  | .SH DESCRIPTION | 
					
						
							|  |  |  | .I xxd | 
					
						
							|  |  |  | creates a hex dump of a given file or standard input. | 
					
						
							|  |  |  | It can also convert a hex dump back to its original binary form. | 
					
						
							|  |  |  | Like | 
					
						
							| 
									
										
										
										
											2005-03-18 20:25:31 +00:00
										 |  |  | .BR uuencode (1) | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | and | 
					
						
							| 
									
										
										
										
											2005-03-18 20:25:31 +00:00
										 |  |  | .BR uudecode (1) | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | it allows the transmission of binary data in a `mail-safe' ASCII representation, | 
					
						
							|  |  |  | but has the advantage of decoding to standard output. | 
					
						
							|  |  |  | Moreover, it can be used to perform binary file patching. | 
					
						
							|  |  |  | .SH OPTIONS | 
					
						
							|  |  |  | If no | 
					
						
							|  |  |  | .I infile | 
					
						
							|  |  |  | is given, standard input is read. | 
					
						
							|  |  |  | If | 
					
						
							|  |  |  | .I infile | 
					
						
							|  |  |  | is specified as a | 
					
						
							|  |  |  | .RB \` \- ' | 
					
						
							|  |  |  | character, then input is taken from standard input. | 
					
						
							|  |  |  | If no | 
					
						
							|  |  |  | .I outfile | 
					
						
							|  |  |  | is given (or a | 
					
						
							|  |  |  | .RB \` \- ' | 
					
						
							|  |  |  | character is in its place), results are sent to standard output. | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | Note that a "lazy" parser is used which does not check for more than the first | 
					
						
							|  |  |  | option letter, unless the option is followed by a parameter. | 
					
						
							|  |  |  | Spaces between a single option letter and its parameter are optional. | 
					
						
							|  |  |  | Parameters to options can be specified in decimal, hexadecimal or octal | 
					
						
							|  |  |  | notation. | 
					
						
							|  |  |  | Thus | 
					
						
							|  |  |  | .BR \-c8 , | 
					
						
							|  |  |  | .BR "\-c 8" , | 
					
						
							|  |  |  | .B \-c 010 | 
					
						
							|  |  |  | and | 
					
						
							|  |  |  | .B \-cols 8 | 
					
						
							|  |  |  | are all equivalent. | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | .IR \-a " | " \-autoskip | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | Toggle autoskip: A single '*' replaces NUL-lines.  Default off. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .TP | 
					
						
							|  |  |  | .IR \-b " | " \-bits | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | Switch to bits (binary digits) dump, rather than hex dump. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | This option writes octets as eight digits "1"s and "0"s instead of a normal | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | hexadecimal dump. Each line is preceded by a line number in hexadecimal and | 
					
						
							| 
									
										
										
										
											2024-09-15 20:03:05 +02:00
										 |  |  | followed by an ASCII (or EBCDIC) representation. The command line switch | 
					
						
							|  |  |  | \-p does not work with this mode. Can be combined with \-i. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .TP | 
					
						
							|  |  |  | .IR "\-c cols " | " \-cols cols" | 
					
						
							| 
									
										
										
										
											2018-04-03 14:21:16 +02:00
										 |  |  | Format | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .RI < cols > | 
					
						
							|  |  |  | octets per line. Default 16 (\-i: 12, \-ps: 30, \-b: 6). Max 256. | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | No maximum for \-ps. With \-ps, 0 results in one long line of output. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .TP | 
					
						
							| 
									
										
										
										
											2018-04-03 14:21:16 +02:00
										 |  |  | .IR \-C " | " \-capitalize | 
					
						
							|  |  |  | Capitalize variable names in C include file style, when using \-i. | 
					
						
							|  |  |  | .TP | 
					
						
							| 
									
										
										
										
											2024-05-10 14:17:26 +02:00
										 |  |  | .I \-d | 
					
						
							|  |  |  | show offset in decimal instead of hex. | 
					
						
							|  |  |  | .TP | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .IR \-E " | " \-EBCDIC | 
					
						
							|  |  |  | Change the character encoding in the righthand column from ASCII to EBCDIC. | 
					
						
							|  |  |  | This does not change the hexadecimal representation. The option is | 
					
						
							|  |  |  | meaningless in combinations with \-r, \-p or \-i. | 
					
						
							|  |  |  | .TP | 
					
						
							| 
									
										
										
										
											2015-03-05 17:51:15 +01:00
										 |  |  | .IR \-e | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | Switch to little-endian hex dump. | 
					
						
							| 
									
										
										
										
											2015-03-05 17:51:15 +01:00
										 |  |  | This option treats byte groups as words in little-endian byte order. | 
					
						
							|  |  |  | The default grouping of 4 bytes may be changed using | 
					
						
							|  |  |  | .RI "" \-g . | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | This option only applies to the hex dump, leaving the ASCII (or EBCDIC) | 
					
						
							| 
									
										
										
										
											2015-03-05 17:51:15 +01:00
										 |  |  | representation unchanged. | 
					
						
							|  |  |  | The command line switches | 
					
						
							|  |  |  | \-r, \-p, \-i do not work with this mode. | 
					
						
							|  |  |  | .TP | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .IR "\-g bytes " | " \-groupsize bytes" | 
					
						
							| 
									
										
										
										
											2018-04-03 14:21:16 +02:00
										 |  |  | Separate the output of every | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .RI < bytes > | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | bytes (two hex characters or eight bit digits each) by a whitespace. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | Specify | 
					
						
							|  |  |  | .I \-g 0 | 
					
						
							|  |  |  | to suppress grouping. | 
					
						
							|  |  |  | .RI < Bytes "> defaults to " 2 | 
					
						
							| 
									
										
										
										
											2015-03-05 17:51:15 +01:00
										 |  |  | in normal mode, \fI4\fP in little-endian mode and \fI1\fP in bits mode. | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | Grouping does not apply to PostScript or include style. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .TP | 
					
						
							|  |  |  | .IR \-h " | " \-help | 
					
						
							| 
									
										
										
										
											2018-04-03 14:21:16 +02:00
										 |  |  | Print a summary of available commands and exit.  No hex dumping is performed. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .TP | 
					
						
							|  |  |  | .IR \-i " | " \-include | 
					
						
							| 
									
										
										
										
											2018-04-03 14:21:16 +02:00
										 |  |  | Output in C include file style. A complete static array definition is written | 
					
						
							| 
									
										
										
										
											2024-09-15 20:03:05 +02:00
										 |  |  | (named after the input file), unless xxd reads from stdin. Can be combined | 
					
						
							|  |  |  | with \-b. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .TP | 
					
						
							|  |  |  | .IR "\-l len " | " \-len len" | 
					
						
							| 
									
										
										
										
											2018-04-03 14:21:16 +02:00
										 |  |  | Stop after writing | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .RI  < len > | 
					
						
							|  |  |  | octets. | 
					
						
							|  |  |  | .TP | 
					
						
							| 
									
										
										
										
											2022-06-29 20:24:49 +01:00
										 |  |  | .I "\-n name " | " \-name name" | 
					
						
							|  |  |  | Override the variable name output when \-i is used. The array is named | 
					
						
							|  |  |  | \fIname\fP and the length is named \fIname\fP_len. | 
					
						
							|  |  |  | .TP | 
					
						
							| 
									
										
										
										
											2015-03-05 17:51:15 +01:00
										 |  |  | .I \-o offset | 
					
						
							| 
									
										
										
										
											2018-04-03 14:21:16 +02:00
										 |  |  | Add | 
					
						
							| 
									
										
										
										
											2015-03-05 17:51:15 +01:00
										 |  |  | .RI < offset > | 
					
						
							|  |  |  | to the displayed file position. | 
					
						
							|  |  |  | .TP | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .IR \-p " | " \-ps " | " \-postscript " | " \-plain | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | Output in PostScript continuous hex dump style. Also known as plain hex dump | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | style. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | .IR \-r " | " \-revert | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | Reverse operation: convert (or patch) hex dump into binary. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | If not writing to stdout, xxd writes into its output file without truncating | 
					
						
							|  |  |  | it. Use the combination | 
					
						
							|  |  |  | .I \-r \-p | 
					
						
							|  |  |  | to read plain hexadecimal dumps without line number information and without a | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | particular column layout. Additional whitespace and line breaks are allowed | 
					
						
							| 
									
										
										
										
											2023-10-06 19:51:13 +02:00
										 |  |  | anywhere. Use the combination | 
					
						
							|  |  |  | .I \-r \-b | 
					
						
							|  |  |  | to read a bits dump instead of a hex dump. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .TP | 
					
						
							| 
									
										
										
										
											2023-09-01 18:41:04 +02:00
										 |  |  | .IR \-R " " when | 
					
						
							| 
									
										
										
										
											2024-05-10 14:17:26 +02:00
										 |  |  | In the output the hex-value and the value are both colored with the same color | 
					
						
							| 
									
										
										
										
											2023-10-03 16:55:18 +02:00
										 |  |  | depending on the hex-value. Mostly helping to differentiate printable and | 
					
						
							|  |  |  | non-printable characters. | 
					
						
							| 
									
										
										
										
											2023-09-01 18:41:04 +02:00
										 |  |  | .I \fIwhen\fP | 
					
						
							| 
									
										
										
										
											2023-08-31 17:58:13 +02:00
										 |  |  | is | 
					
						
							| 
									
										
										
										
											2024-05-10 14:17:26 +02:00
										 |  |  | .BR never ", " always ", or " auto " (default: auto). | 
					
						
							| 
									
										
										
										
											2023-10-03 16:55:18 +02:00
										 |  |  | When the  | 
					
						
							|  |  |  | .BR $NO_COLOR | 
					
						
							|  |  |  | environment variable is set, colorization will be disabled. | 
					
						
							| 
									
										
										
										
											2023-08-31 17:58:13 +02:00
										 |  |  | .TP | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .I \-seek offset | 
					
						
							|  |  |  | When used after | 
					
						
							| 
									
										
										
										
											2005-03-18 20:25:31 +00:00
										 |  |  | .IR \-r : | 
					
						
							|  |  |  | revert with | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .RI < offset > | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | added to file positions found in hex dump. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .TP | 
					
						
							| 
									
										
										
										
											2005-03-18 20:25:31 +00:00
										 |  |  | .I \-s [+][\-]seek | 
					
						
							| 
									
										
										
										
											2018-04-03 14:21:16 +02:00
										 |  |  | Start at | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .RI < seek > | 
					
						
							|  |  |  | bytes abs. (or rel.) infile offset. | 
					
						
							| 
									
										
										
										
											2007-05-05 18:24:42 +00:00
										 |  |  | \fI+ \fRindicates that the seek is relative to the current stdin file position | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | (meaningless when not reading from stdin).  \fI\- \fRindicates that the seek | 
					
						
							|  |  |  | should be that many characters from the end of the input (or if combined with | 
					
						
							| 
									
										
										
										
											2005-03-18 20:25:31 +00:00
										 |  |  | \fI+\fR: before the current stdin file position). | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | Without \-s option, xxd starts at the current file position. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | .I \-u | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | Use upper-case hex letters. Default is lower-case. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .TP | 
					
						
							|  |  |  | .IR \-v " | " \-version | 
					
						
							| 
									
										
										
										
											2018-04-03 14:21:16 +02:00
										 |  |  | Show version string. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .SH CAVEATS | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .I xxd \-r | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | has some built-in magic while evaluating line number information. | 
					
						
							|  |  |  | If the output file is seekable, then the line numbers at the start of each | 
					
						
							|  |  |  | hex dump line may be out of order, lines may be missing, or overlapping. In | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | these cases xxd will lseek(2) to the next position. If the output file is not | 
					
						
							|  |  |  | seekable, only gaps are allowed, which will be filled by null-bytes. | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .I xxd \-r | 
					
						
							|  |  |  | never generates parse errors. Garbage is silently skipped. | 
					
						
							|  |  |  | .PP | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | When editing hex dumps, please note that | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .I xxd \-r | 
					
						
							|  |  |  | skips everything on the input line after reading enough columns of hexadecimal | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | data (see option \-c). This also means that changes to the printable ASCII (or | 
					
						
							|  |  |  | EBCDIC) columns are always ignored. Reverting a plain (or PostScript) style | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | hex dump with xxd \-r \-p does not depend on the correct number of columns. | 
					
						
							|  |  |  | Here, anything that looks like a pair of hex digits is interpreted. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | Note the difference between | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | \fI% xxd \-i file\fR | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | and | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2005-03-18 20:25:31 +00:00
										 |  |  | \fI% xxd \-i < file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | .I xxd \-s +seek | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | may be different from | 
					
						
							| 
									
										
										
										
											2005-03-18 20:25:31 +00:00
										 |  |  | .IR "xxd \-s seek" , | 
					
						
							|  |  |  | as lseek(2) is used to "rewind" input.  A '+' | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | makes a difference if the input source is stdin, and if stdin's file position | 
					
						
							|  |  |  | is not at the start of the file by the time xxd is started and given its input. | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | The following examples may help to clarify (or further confuse!): | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | Rewind stdin before reading; needed because the `cat' has already read to the | 
					
						
							|  |  |  | end of stdin. | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2007-05-05 18:24:42 +00:00
										 |  |  | \fI% sh \-c "cat > plain_copy; xxd \-s 0 > hex_copy" < file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | Hex dump from file position 0x480 (=1024+128) onwards. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | The `+' sign means "relative to the current position", thus the `128' adds to | 
					
						
							|  |  |  | the 1k where dd left off. | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2007-05-05 18:24:42 +00:00
										 |  |  | \fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet" < file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | Hex dump from file position 0x100 (=1024\-768) onwards. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2007-05-05 18:24:42 +00:00
										 |  |  | \fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +\-768 > hex_snippet" < file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | However, this is a rare situation and the use of `+' is rarely needed. | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | The author prefers to monitor the effect of xxd with strace(1) or truss(1), | 
					
						
							|  |  |  | whenever \-s is used. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .SH EXAMPLES | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Print everything but the first three lines (hex 0x30 bytes) of | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | .BR file . | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2007-05-05 18:24:42 +00:00
										 |  |  | \fI% xxd \-s 0x30 file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Print 3 lines (hex 0x30 bytes) from the end of | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | .BR file . | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2007-05-05 18:24:42 +00:00
										 |  |  | \fI% xxd \-s \-0x30 file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | Note: The results of the examples below are relevant to the xxd.1 man page as of | 
					
						
							|  |  |  | May 2024 | 
					
						
							|  |  |  | .PP | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | Print 120 bytes as a continuous hex dump with 20 octets per line. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							|  |  |  | \fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 2e544820585844203120224d6179203230323422 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 20224d616e75616c207061676520666f72207878 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 64220a2e5c220a2e5c222032317374204d617920 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 313939360a2e5c22204d616e2070616765206175 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 74686f723a0a2e5c2220202020546f6e79204e75 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 67656e74203c746f6e79407363746e7567656e2e | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | Hex dump the first 120 bytes of this man page with 12 octets per line. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							|  |  |  | \fI% xxd \-l 120 \-c 12 xxd.1\fR | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 00000000: 2e54 4820 5858 4420 3120 224d  .TH XXD 1 "M | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 0000000c: 6179 2032 3032 3422 2022 4d61  ay 2024" "Ma | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 00000018: 6e75 616c 2070 6167 6520 666f  nual page fo | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 00000024: 7220 7878 6422 0a2e 5c22 0a2e  r xxd"..\\".. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 00000030: 5c22 2032 3173 7420 4d61 7920  \\" 21st May  | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 0000003c: 3139 3936 0a2e 5c22 204d 616e  1996..\\" Man | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 00000048: 2070 6167 6520 6175 7468 6f72   page author | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 00000054: 3a0a 2e5c 2220 2020 2054 6f6e  :..\\"    Ton | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 00000060: 7920 4e75 6765 6e74 203c 746f  y Nugent <to | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 0000006c: 6e79 4073 6374 6e75 6765 6e2e  ny@sctnugen. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Display just the date from the file xxd.1 | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | \fI% xxd \-s 0x33 \-l 13 \-c 13 xxd.1\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | 00000033: 3231 7374 204d 6179 2031 3939 36  21st May 1996 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Copy | 
					
						
							|  |  |  | .B input_file | 
					
						
							|  |  |  | to | 
					
						
							|  |  |  | .B output_file | 
					
						
							|  |  |  | and prepend 100 bytes of value 0x00. | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | \fI% xxd input_file | xxd \-r \-s 100 > output_file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Patch the date in the file xxd.1 | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | \fI% echo "0000034: 3574 68" | xxd \-r \- xxd.1\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | \fI% xxd \-s 0x33 \-l 13 \-c 13 xxd.1\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-16 21:03:58 +02:00
										 |  |  | 00000033: 3235 7468 204d 6179 2031 3939 36  25th May 1996 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Create a 65537 byte file with all bytes 0x00, | 
					
						
							|  |  |  | except for the last one which is 'A' (hex 0x41). | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | \fI% echo "010000: 41" | xxd \-r > file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | Hex dump this file with autoskip. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							|  |  |  | \fI% xxd \-a \-c 12 file\fR | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-16 21:03:58 +02:00
										 |  |  | 00000000: 0000 0000 0000 0000 0000 0000  ............ | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							|  |  |  | * | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2024-08-16 21:03:58 +02:00
										 |  |  | 0000fffc: 0000 0000 41                   ....A | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | Create a 1 byte file containing a single 'A' character. | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | The number after '\-r \-s' adds to the line numbers found in the file; | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | in effect, the leading bytes are suppressed. | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | \fI% echo "010000: 41" | xxd \-r \-s \-0x10000 > file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | Use xxd as a filter within an editor such as | 
					
						
							|  |  |  | .B vim(1) | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | to hex dump a region marked between `a' and `z'. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							|  |  |  | \fI:'a,'z!xxd\fR | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | Use xxd as a filter within an editor such as | 
					
						
							|  |  |  | .B vim(1) | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | to recover a binary hex dump marked between `a' and `z'. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							|  |  |  | \fI:'a,'z!xxd \-r\fR | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | Use xxd as a filter within an editor such as | 
					
						
							|  |  |  | .B vim(1) | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | to recover one line of a hex dump.  Move the cursor over the line and type: | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							|  |  |  | \fI!!xxd \-r\fR | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | Read single characters from a serial line | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | \fI% xxd \-c1 < /dev/term/b &\fR | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | \fI% stty < /dev/term/b \-echo \-opost \-isig \-icanon min 1\fR | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | \fI% echo \-n foo > /dev/term/b\fR | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .SH "RETURN VALUES" | 
					
						
							|  |  |  | The following error values are returned: | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | 0 | 
					
						
							|  |  |  | no errors encountered. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | \-1 | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | operation not supported | 
					
						
							|  |  |  | \%(\c | 
					
						
							|  |  |  | .I \%xxd \-r \-i | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | still impossible). | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | 1 | 
					
						
							|  |  |  | error while parsing options. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | 2 | 
					
						
							|  |  |  | problems with input file. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | 3 | 
					
						
							|  |  |  | problems with output file. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | 4,5 | 
					
						
							|  |  |  | desired seek position is unreachable. | 
					
						
							|  |  |  | .SH "SEE ALSO" | 
					
						
							|  |  |  | uuencode(1), uudecode(1), patch(1) | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | .SH WARNINGS | 
					
						
							| 
									
										
										
										
											2023-08-13 19:20:35 +02:00
										 |  |  | The tool's weirdness matches its creator's brain. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | Use entirely at your own risk. Copy files. Trace it. Become a wizard. | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | .SH VERSION | 
					
						
							| 
									
										
										
										
											2024-08-15 21:39:33 +02:00
										 |  |  | This manual page documents xxd version 1.7 from 2024-05. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .SH AUTHOR | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | (c) 1990-1997 by Juergen Weigert | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | <jnweiger@informatik.uni\-erlangen.de> | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .LP | 
					
						
							|  |  |  | Distribute freely and credit me, | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | make money and share with me, | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | lose money and don't ask me. | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | Manual page started by Tony Nugent | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au> | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Small changes by Bram Moolenaar. | 
					
						
							|  |  |  | Edited by Juergen Weigert. | 
					
						
							|  |  |  | .PP |