diff(1)


NAME

   diff - compare files line by line

SYNOPSIS

   diff [OPTION]... FILES

DESCRIPTION

   Compare FILES line by line.

   Mandatory  arguments  to  long  options are mandatory for short options
   too.

   --normal
          output a normal diff (the default)

   -q, --brief
          report only when files differ

   -s, --report-identical-files
          report when two files are the same

   -c, -C NUM, --context[=NUM]
          output NUM (default 3) lines of copied context

   -u, -U NUM, --unified[=NUM]
          output NUM (default 3) lines of unified context

   -e, --ed
          output an ed script

   -n, --rcs
          output an RCS format diff

   -y, --side-by-side
          output in two columns

   -W, --width=NUM
          output at most NUM (default 130) print columns

   --left-column
          output only the left column of common lines

   --suppress-common-lines
          do not output common lines

   -p, --show-c-function
          show which C function each change is in

   -F, --show-function-line=RE
          show the most recent line matching RE

   --label LABEL
          use LABEL instead of file name and timestamp (can be repeated)

   -t, --expand-tabs
          expand tabs to spaces in output

   -T, --initial-tab
          make tabs line up by prepending a tab

   --tabsize=NUM
          tab stops every NUM (default 8) print columns

   --suppress-blank-empty
          suppress space or tab before empty output lines

   -l, --paginate
          pass output through 'pr' to paginate it

   -r, --recursive
          recursively compare any subdirectories found

   --no-dereference
          don't follow symbolic links

   -N, --new-file
          treat absent files as empty

   --unidirectional-new-file
          treat absent first files as empty

   --ignore-file-name-case
          ignore case when comparing file names

   --no-ignore-file-name-case
          consider case when comparing file names

   -x, --exclude=PAT
          exclude files that match PAT

   -X, --exclude-from=FILE
          exclude files that match any pattern in FILE

   -S, --starting-file=FILE
          start with FILE when comparing directories

   --from-file=FILE1
          compare FILE1 to all operands; FILE1 can be a directory

   --to-file=FILE2
          compare all operands to FILE2; FILE2 can be a directory

   -i, --ignore-case
          ignore case differences in file contents

   -E, --ignore-tab-expansion
          ignore changes due to tab expansion

   -Z, --ignore-trailing-space
          ignore white space at line end

   -b, --ignore-space-change
          ignore changes in the amount of white space

   -w, --ignore-all-space
          ignore all white space

   -B, --ignore-blank-lines
          ignore changes where lines are all blank

   -I, --ignore-matching-lines=RE
          ignore changes where all lines match RE

   -a, --text
          treat all files as text

   --strip-trailing-cr
          strip trailing carriage return on input

   -D, --ifdef=NAME
          output merged file with '#ifdef NAME' diffs

   --GTYPE-group-format=GFMT
          format GTYPE input groups with GFMT

   --line-format=LFMT
          format all input lines with LFMT

   --LTYPE-line-format=LFMT
          format LTYPE input lines with LFMT

          These format  options  provide  fine-grained  control  over  the
          output

          of diff, generalizing -D/--ifdef.

   LTYPE is 'old', 'new', or 'unchanged'.
          GTYPE is LTYPE or 'changed'.

          GFMT (only) may contain:

   %<     lines from FILE1

   %>     lines from FILE2

   %=     lines common to FILE1 and FILE2

   %[-][WIDTH][.[PREC]]{doxX}LETTER
          printf-style spec for LETTER

          LETTERs are as follows for new group, lower case for old group:

   F      first line number

   L      last line number

   N      number of lines = L-F+1

   E      F-1

   M      L+1

   %(A=B?T:E)
          if A equals B then T else E

          LFMT (only) may contain:

   %L     contents of line

   %l     contents of line, excluding any trailing newline

   %[-][WIDTH][.[PREC]]{doxX}n
          printf-style spec for input line number

          Both GFMT and LFMT may contain:

   %%     %

   %c'C'  the single character C

   %c'\OOO'
          the character with octal code OOO

   C      the character C (other characters represent themselves)

   -d, --minimal
          try hard to find a smaller set of changes

   --horizon-lines=NUM
          keep NUM lines of the common prefix and suffix

   --speed-large-files
          assume large files and many scattered small changes

   --color[=WHEN]
          colorize  the  output;  WHEN can be 'never', 'always', or 'auto'
          (the default)

   --palette=PALETTE
          specify the colors to use when --color is active  PALETTE  is  a
          colon-separated list terminfo capabilities

   --help display this help and exit

   -v, --version
          output version information and exit

   FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE' or 'FILE DIR'.  If
   --from-file or  --to-file  is  given,  there  are  no  restrictions  on
   FILE(s).   If  a FILE is '-', read standard input.  Exit status is 0 if
   inputs are the same, 1 if different, 2 if trouble.

AUTHOR

   Written by Paul Eggert, Mike Haertel, David  Hayes,  Richard  Stallman,
   and Len Tower.

REPORTING BUGS

   Report bugs to: bug-diffutils@gnu.org
   GNU diffutils home page: <http://www.gnu.org/software/diffutils/>
   General help using GNU software: <http://www.gnu.org/gethelp/>

COPYRIGHT

   Copyright    2016  Free Software Foundation, Inc.  License GPLv3+: GNU
   GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
   This is free software: you are free  to  change  and  redistribute  it.
   There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

   wdiff(1), cmp(1), diff3(1), sdiff(1), patch(1)

   The  full documentation for diff is maintained as a Texinfo manual.  If
   the info and diff programs are properly installed  at  your  site,  the
   command

          info diff

   should give you access to the complete manual.





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.