diff | |
---|---|
Original author(s) | Douglas McIlroy (AT&T Bell Laboratories) |
Developer(s) | Various open-source and commercial developers |
Initial release | June 1974 |
Written in | C |
Operating system | Unix, Unix-like, V, Plan 9, Inferno |
Platform | Cross-platform |
Type | Command |
License | Plan 9: MIT License |
diff
is a shell command that compares the content of files and reports differences. The term diff is also used to identify the output of the command and is used as a verb for running the command. To diff files, one runs diff to create a diff.[1]
Typically, the command is used to compare text files, but it does support comparing binary files. If one of the input files contains non-textual data, then the command defaults to brief-mode in which it reports only a summary indication of whether the files differ. With the --text
option, it always reports line-based differences, but the output may be difficult to understand since binary data is generally not structured in lines like text is.[2]
Although the command is primarily used ad hoc to analyze changes between two files, a special use is for creating a patch file for use with the patch
command – which was specifically designed to use a diff output report as a patch file.
POSIX standardized the diff
and patch
commands including their shared file format.[3]