Linux Classes
Linux Classes
Share This With a Friend

diff command help

 diff - find differences between two files
 

SYNOPSIS

 diff [options] from-file to-file
 

DESCRIPTION

 In the simplest case, diff compares the contents of the
 two files from-file and to-file. A file name of - stands
 for text read from the standard input. As a special case,
 diff - - compares a copy of standard input to itself.
 
 If from-file is a directory and to-file is not, diff comュ
 pares the file in from-file whose file name is that of to-
 file, and vice versa. The non-directory file must not be
 -.
 
 If both from-file and to-file are directories, diff comュ
 pares corresponding files in both directories, in alphaュ
 betical order; this comparison is not recursive unless the
 -r or --recursive option is given. diff never compares
 the actual contents of a directory as if it were a file.
 The file that is fully specified may not be standard
 input, because standard input is nameless and the notion
 of ``file with the same name'' does not apply.
 
 diff options begin with -, so normally from-file and to-
 file may not begin with -. However, -- as an argument by
 itself treats the remaining arguments as file names even
 if they begin with -.
 
 Options
 Below is a summary of all of the options that GNU diff
 accepts. Most options have two equivalent names, one of
 which is a single letter preceded by -, and the other of
 which is a long name preceded by --. Multiple single letュ
 ter options (unless they take an argument) can be combined
 into a single command line word: -ac is equivalent to -a
 -c. Long named options can be abbreviated to any unique
 prefix of their name. Brackets ([ and ]) indicate that an
 option takes an optional argument.
 
 -lines Show lines (an integer) lines of context. This
 option does not specify an output format by itself;
 it has no effect unless it is combined with -c or
 -u. This option is obsolete. For proper operaュ
 tion, patch typically needs at least two lines of
 context.
 
 -a Treat all files as text and compare them line-by-
 line, even if they do not seem to be text.
 
 -b Ignore changes in amount of white space.
 lines.
 
 --brief
 Report only whether the files differ, not the
 details of the differences.
 
 -c Use the context output format.
 
 -C lines
 --context[=lines]
 Use the context output format, showing lines (an
 integer) lines of context, or three if lines is not
 given. For proper operation, patch typically needs
 at least two lines of context.
 
 --changed-group-format=format
 Use format to output a line group containing difュ
 fering lines from both files in if-then-else forュ
 mat.
 
 -d Change the algorithm to perhaps find a smaller set
 of changes. This makes diff slower (sometimes much
 slower).
 
 -D name
 Make merged if-then-else format output, conditional
 on the preprocessor macro name.
 
 -e
 --ed Make output that is a valid ed script.
 
 --exclude=pattern
 When comparing directories, ignore files and subdiュ
 rectories whose basenames match pattern.
 
 --exclude-from=file
 When comparing directories, ignore files and subdiュ
 rectories whose basenames match any pattern conュ
 tained in file.
 
 --expand-tabs
 Expand tabs to spaces in the output, to preserve
 the alignment of tabs in the input files.
 
 -f Make output that looks vaguely like an ed script
 but has changes in the order they appear in the
 file.
 
 -F regexp
 In context and unified format, for each hunk of
 differences, show some of the last preceding line
 that matches regexp.
 Make output that looks vaguely like an ed script
 but has changes in the order they appear in the
 file.
 
 -h This option currently has no effect; it is present
 for Unix compatibility.
 
 -H Use heuristics to speed handling of large files
 that have numerous scattered small changes.
 
 --horizon-lines=lines
 Do not discard the last lines lines of the common
 prefix and the first lines lines of the common sufュ
 fix.
 
 -i Ignore changes in case; consider upper- and lower-
 case letters equivalent.
 
 -I regexp
 Ignore changes that just insert or delete lines
 that match regexp.
 
 --ifdef=name
 Make merged if-then-else format output, conditional
 on the preprocessor macro name.
 
 --ignore-all-space
 Ignore white space when comparing lines.
 
 --ignore-blank-lines
 Ignore changes that just insert or delete blank
 lines.
 
 --ignore-case
 Ignore changes in case; consider upper- and lower-
 case to be the same.
 
 --ignore-matching-lines=regexp
 Ignore changes that just insert or delete lines
 that match regexp.
 
 --ignore-space-change
 Ignore changes in amount of white space.
 
 --initial-tab
 Output a tab rather than a space before the text of
 a line in normal or context format. This causes
 the alignment of tabs in the line to look normal.
 
 -l Pass the output through pr to paginate it.
 
 -L label
 Use label instead of the file name in the context
 format and unified format headers.
 
 --left-column
 Print only the left column of two common lines in
 side by side format.
 
 --line-format=format
 Use format to output all input lines in in-then-
 else format.
 
 --minimal
 Change the algorithm to perhaps find a smaller set
 of changes. This makes diff slower (sometimes much
 slower).
 
 -n Output RCS-format diffs; like -f except that each
 command specifies the number of lines affected.
 
 -N
 --new-file
 In directory comparison, if a file is found in only
 one directory, treat it as present but empty in the
 other directory.
 
 --new-group-format=format
 Use format to output a group of lines taken from
 just the second file in if-then-else format.
 
 --new-line-format=format
 Use format to output a line taken from just the
 second file in if-then-else format.
 
 --old-group-format=format
 Use format to output a group of lines taken from
 just the first file in if-then-else format.
 
 --old-line-format=format
 Use format to output a line taken from just the
 first file in if-then-else format.
 
 -p Show which C function each change is in.
 
 -P When comparing directories, if a file appears only
 in the second directory of the two, treat it as
 present but empty in the other.
 
 --paginate
 Pass the output through pr to paginate it.
 
 -q Report only whether the files differ, not the
 details of the differences.
 subdirectories found.
 
 --rcs Output RCS-format diffs; like -f except that each
 command specifies the number of lines affected.
 
 --recursive
 When comparing directories, recursively compare any
 subdirectories found.
 
 --report-identical-files
 -s Report when two files are the same.
 
 -S file
 When comparing directories, start with the file
 file. This is used for resuming an aborted comparュ
 ison.
 
 --sdiff-merge-assist
 Print extra information to help sdiff. sdiff uses
 this option when it runs diff. This option is not
 intended for users to use directly.
 
 --show-c-function
 Show which C function each change is in.
 
 --show-function-line=regexp
 In context and unified format, for each hunk of
 differences, show some of the last preceding line
 that matches regexp.
 
 --side-by-side
 Use the side by side output format.
 
 --speed-large-files
 Use heuristics to speed handling of large files
 that have numerous scattered small changes.
 
 --starting-file=file
 When comparing directories, start with the file
 file. This is used for resuming an aborted comparュ
 ison.
 
 --suppress-common-lines
 Do not print common lines in side by side format.
 
 -t Expand tabs to spaces in the output, to preserve
 the alignment of tabs in the input files.
 
 -T Output a tab rather than a space before the text of
 a line in normal or context format. This causes
 the alignment of tabs in the line to look normal.
 
 -u Use the unified output format.
 
 --unchanged-group-format=format
 Use format to output a group of common lines taken
 from both files in if-then-else format.
 
 --unchanged-line-format=format
 Use format to output a line common to both files in
 if-then-else format.
 
 --unidirectional-new-file
 When comparing directories, if a file appears only
 in the second directory of the two, treat it as
 present but empty in the other.
 
 -U lines
 --unified[=lines]
 Use the unified output format, showing lines (an
 integer) lines of context, or three if lines is not
 given. For proper operation, patch typically needs
 at least two lines of context.
 
 -v
 --version
 Output the version number of diff.
 
 -w Ignore white space when comparing lines.
 
 -W columns
 --width=columns
 Use an output width of columns in side by side forュ
 mat.
 
 -x pattern
 When comparing directories, ignore files and subdiュ
 rectories whose basenames match pattern.
 
 -X file
 When comparing directories, ignore files and subdiュ
 rectories whose basenames match any pattern conュ
 tained in file.
 
 -y Use the side by side output format.
 

SEE ALSO

 cmp(1) , comm(1) , diff3(1) , ed(1) , patch(1) , pr(1) ,
 sdiff(1) .
 

DIAGNOSTICS

 An exit status of 0 means no differences were found, 1
 means some differences were found, and 2 means trouble.


Comments - most recent first
(Please feel free to answer questions posted by others!)

Kasthuri (08 Feb 2012, 05:53)
It says you should delete lines starting from 941 upto 952.then both the files will be in sync.
CE (03 Feb 2012, 17:39)
You generally do a good job of explaining what the reader (me in this case) wants to know. I use the diff command a lot but have a hard time understanding the diff command output. Your example is very easy to read but my output is more along the lines of "941,952d940". From your example, I should delete 952 and the files will be in sync starting at line 940, so what is the 941? What does it stand for? Thanks.

I welcome your comments. However... I am puzzled by many people who say "Please send me the Linux tutorial." This website *is* your Linux Tutorial! Read everything here, learn all you can, ask questions if you like. But don't ask me to send what you already have. :-)

NO SPAM! If you post garbage, it will be deleted, and you will be banned.
*Name:
Email:
Notify me about new comments on this page
Hide my email
*Text:




Copyright © by - Privacy Policy
All rights reserved - Redistribution is allowed only with permission.

Popular Linux Topics

Linux Intro
Linux Files
Linux Commands
Change Password
Copy Files
Linux Shell Basics

Linux Tutorial

Who is Doctor Bob?
What is Linux?
History of Unix
Operating Systems
What's Next?

Linux Basics

Living in a Shell
Root and Other Users
Virtual Consoles
Logoff and Shutdown
Choosing a Shell
The Command Prompt
Wildcards
Command History
Aliases
Redirection
Pipelines
Processes
Stopping a Program
Environment Variables
Help!

Linux Files

The Linux File System
Linux File Names
Linux Directories
Directory Terminology
Navigating the File System
Listing Linux Files
Displaying Linux Files
Copying and Renaming Files
Creating Files and Directories
Deleting Files and Directories
Linux Files - Wildcards
The Nine Deadly Keystrokes
Linux File Permissions
Changing File Permissions

Linux Commands

Important Linux Commands
Changing Your Password
Switching Users
Who is Logged In?
Date and Time
The Echo Command
Spell Checking
Printing Linux Files
Joining Files
Searching for Files
Comparing Files
Task Scheduling
Linking Files

Linux Editors

The Vi Editor
The Emacs Editor
The Pico Editor

Linux Data Manipulation

Slicing & Dicing
Heads or Tails?
Sorting Data
Eliminating Duplicates
Selecting Columns
Selecting Records
Search & Replace
Crunching Data
Finding Files
Pipe Fitting

Linux Shell Programming

Linux Shell Scripts
Executing a Script
Shell Script Variables
Shell Script Logic
Shell Script Looping
Shell Script Debugging

Perl Programming

Perl Basics
Perl Variables
Perl Arguments
Perl Logic
Perl Looping
Perl and Files
Perl Pattern Matching

Linux and Email

Sending Email
Reading Email
Other Mail Commands
Using Pine for Email
The Pine Inbox
Pine Email Basics
Pine Email Folders
Pine for Power Users

Compression and Encoding

Linux File Compression
Archiving With Tar
Compression With Gzip
Compress and Zcat
Zmore and Zless
Zip and Unzip
Encoding and Decoding
Encryption

Linux Does DOS

Accesing DOS Files
Accesing DOS Partitions
Running DOS Programs

Managing Linux

Updating Your Linux System
Installing Packages with RPM
Uninstalling Packages w/ RPM
Upgrading Packages with RPM
Querying Packages with RPM

AltStyle によって変換されたページ (->オリジナル) /