diff(1) man page

Man Page or Keyword Search Man Apropos

man page | Documentation Library | Writing UNIX manpages
diff(1)                 FreeBSD General Commands Manual                diff(1)

NAME
       diff - differential file and directory comparator

SYNOPSIS
       n] name] dir1 dir2

       n] name] file1 file2

       string] file1 file2

DESCRIPTION
   Comparing Directories
       If both arguments are directories, sorts the contents of the
       directories by name, then runs the regular file algorithm (described
       below) on text files that have the same name in each directory but are
       different.  Binary files that differ, common subdirectories, and files
       that appear in only one directory are listed.  When comparing
       directories, the following options are recognized:

              Long output format; each text file
                          is piped through to paginate it (see pr(1)).  Other
                          differences are remembered and summarized after all
                          text file differences are reported.

              Applies     recursively to common subdirectories encountered.

              reports files that are identical but otherwise not mentioned.

              Starts a directory
                          in the middle of the sorted directory, beginning
                          with file name.

   Comparing Files
       When run on regular files, and when comparing text files that differ
       during directory comparison, tells what lines must be changed in the
       files to bring them into agreement.  usually finds a smallest
       sufficient set of file differences.  However, it can be misled by lines
       containing very few characters or by other situations.  If neither
       file1 nor file2 is a directory, either can be specified as in which
       case the standard input is used.  If file1 is a directory, a file in
       that directory whose filename is the same as the filename of file2 is
       used (and vice versa).

       There are several options for output format.  The default output format
       contains lines resembling the following:

       These lines resemble commands to convert file1 into file2.  The numbers
       after the letters pertain to file2.  In fact, by exchanging for and
       reading backwards one may ascertain equally how to convert file2 into
       file1.  As in identical pairs where n1=n2 or n3=n4 are abbreviated as a
       single number.

       Following each of these lines come all the lines that are affected in
       the first file flagged by then all the lines that are affected in the
       second file flagged by

       Except for or which can be given with any of the others, the following
       options are mutually exclusive:

              Produce a script of
                       and commands for the editor suitable for recreating
                       file2 from file1.  Extra commands are added to the
                       output when comparing directories with so that the
                       result is a shell script for converting text files
                       common to the two directories from their state in dir1
                       to their state in dir2.

              Produce a script similar to that of the
                       option that is not useful with but is more readable by
                       humans.

              Produce a script similar to that of
                       but in the opposite order, and with a count of changed
                       lines on each insert or delete command.  This is the
                       form used by (see rcsdiff(1)).

              Produce a difference list with 3 lines of context.
                       modifies the output format slightly: the output begins
                       with identification of the files involved, followed by
                       their creation dates, then each change separated by a
                       line containing about twelve asterisks Lines removed
                       from file1 are marked with and lines added to file2 are
                       marked Lines that change from one file to the other are
                       marked in both files with with Changes that lie within
                       3 lines of each other in the file are grouped together
                       on output.

              Output format similar to
                       but with n lines of context.

              Do a fast, half-hearted job.
                       This option works only when changed stretches are short
                       and well separated, but can be used on files of
                       unlimited length.

              Create a merged version of
                       file1 and file2 on the standard output, with C
                       preprocessor controls included so that a compilation of
                       the result without defining string is equivalent to
                       compiling file1, while compiling the result with string
                       defined is equivalent to compiling file2.

              Ignore trailing blanks (spaces and tabs)
                       and treat other strings of blanks as equal.

              Ignore all whitespace (blanks and tabs).
                       For example, and are treated as equal.

              Ignores uppercase/lowercase differences.
                       Thus is treated the same as

              Expand tabs in output lines.
                       Normal or output adds one or more characters to the
                       front of each line.  Resulting misalignment of
                       indentation in the original source lines can make the
                       output listing difficult to interpret.  This option
                       preserves original source file indentation.

EXTERNAL INFLUENCES
   Environment Variables
       determines the locale to use for the locale categories when both and
       the corresponding environment variable (beginning with do not specify a
       locale.  If is not set or is set to the empty string, a default of "C"
       (see lang(5)) is used.

       determines the space characters for the command, and the interpretation
       of text within file as single- and/or multi-byte characters.

       determines the language in which messages are displayed.

       If any internationalization variable contains an invalid setting, and
       behave as if all internationalization variables are set to "C".  See
       environ(5).

   International Code Set Support
       Single- and multi-byte character code sets are supported with the
       exception that and do not recognize multi-byte alternative space
       characters.

RETURN VALUE
       Upon completion, returns with one of the following exit values:

               0      No differences were found.

               1      Differences were found.

              >1      An error occurred.

EXAMPLES
       The following command creates a script file

       is added to the end of the script in order to save the file:

       The script file can then be used to create the file from the file using
       the editor in the following manner:

       The following command produces the difference output with 2 lines of
       context information before and after the line that was different:

       The following command ignores all blanks and tabs and ignores
       uppercase-lowercase differences.

WARNINGS
       Editing scripts produced by the or option are naive about creating
       lines consisting of a single dot

       When comparing directories with the or options specified, first
       compares the files in the same manner as then runs the algorithm if
       they are not equal.  This may cause a small amount of spurious output
       if the files are identical except for insignificant blank strings or
       uppercase/lowercase differences.

       The default algorithm requires memory allocation of roughly six times
       the size of the file.  If sufficient memory is not available for
       handling large files, the option or can be used (see bdiff(1)).

       With other options if sufficient memory is not available, then either
       the or values can be increased.

       When run on directories with the option, recursively descends sub-
       trees.  When comparing deep multi-level directories, more memory may be
       required than is currently available on the system.  The amount of
       memory required depends on the depth of recursion and the size of the
       files.

AUTHOR
       was developed by AT&T, the University of California, Berkeley, and HP.

FILES
       used by                       option

SEE ALSO
       bdiff(1), cmp(1), comm(1), diff3(1), diffmk(1), dircmp(1), ed(1),
       more(1), nroff(1), rcsdiff(1), sccsdiff(1), sdiff(1), terminfo(4).

STANDARDS CONFORMANCE

                                                                       diff(1)

NAME | SYNOPSIS | DESCRIPTION | EXTERNAL INFLUENCES | RETURN VALUE | EXAMPLES | WARNINGS | AUTHOR | FILES | SEE ALSO | STANDARDS CONFORMANCE

permalink to the diff command: https://manpage.me/?diff
link by Name, Section, and OS version of this man page: /?q=diff&sektion=1&manpath=HP-UX+11.22

man pages | documentation library | Writing UNIX manpages
Privacy PolicyCookie Policymanpages@manpage.me — 2025-9-7