diff - compare files line by line


   diff [OPTION]... FILES


   Compare FILES line by line.

   Mandatory  arguments  to  long  options are mandatory for short options

          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

          output only the left column of 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

          tab stops every NUM (default 8) print columns

          suppress space or tab before empty output lines

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

   -r, --recursive
          recursively compare any subdirectories found

          don't follow symbolic links

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

          treat absent first files as empty

          ignore case when comparing file names

          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

          compare FILE1 to all operands; FILE1 can be a directory

          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 carriage return on input

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

          format GTYPE input groups with GFMT

          format all input lines with LFMT

          format LTYPE input lines with LFMT

          These format  options  provide  fine-grained  control  over  the

          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

          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

          if A equals B then T else E

          LFMT (only) may contain:

   %L     contents of line

   %l     contents of line, excluding any trailing newline

          printf-style spec for input line number

          Both GFMT and LFMT may contain:

   %%     %

   %c'C'  the single character C

          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

          keep NUM lines of the common prefix and suffix

          assume large files and many scattered small changes

          colorize  the  output;  WHEN can be 'never', 'always', or 'auto'
          (the default)

          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.


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


   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    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.


   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

          info diff

   should give you access to the complete manual.


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.


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.