Linux diff Guide - ryzendew/Linux-Tips-and-Tricks GitHub Wiki
Linux diff Guide
Complete beginner-friendly guide to diff on Linux, covering Arch Linux, CachyOS, and other distributions including comparing files, finding differences, and generating patches.
Table of Contents
- Understanding diff
- diff Basics
- Comparing Files
- Comparing Directories
- Generating Patches
- Troubleshooting
Understanding diff
What is diff?
diff compares files and shows differences.
Uses:
- Compare files: Find differences between files
- Generate patches: Create patch files
- Version control: See what changed
- Code review: Review changes
Why it matters:
- File comparison: Compare file versions
- Change tracking: See what changed
- Patch creation: Create patches for updates
diff Basics
Compare Files
Basic usage:
# Compare two files
diff file1.txt file2.txt
# Shows differences
Unified Format
Unified output:
# Unified format
diff -u file1.txt file2.txt
# -u = unified (easier to read)
Comparing Files
Context Lines
Add context:
# Context lines
diff -c file1.txt file2.txt
# Shows surrounding lines
Ignore Case
Case insensitive:
# Ignore case
diff -i file1.txt file2.txt
# -i = ignore case
Comparing Directories
Compare Directories
Directory comparison:
# Compare directories
diff -r dir1/ dir2/
# -r = recursive
Brief Output
Summary only:
# Brief summary
diff -rq dir1/ dir2/
# -q = quiet (only names)
Generating Patches
Create Patch
Generate patch:
# Create patch file
diff -u old.txt new.txt > patch.diff
# Unified patch format
Apply Patch
Apply patch:
# Apply patch
patch file.txt < patch.diff
# Updates file
Troubleshooting
diff Not Found
Check installation:
# Check diff
which diff
# Usually in diffutils
# Install if missing
sudo pacman -S diffutils
Summary
This guide covered diff usage, file comparison, and patch generation for Arch Linux, CachyOS, and other distributions.
Next Steps
- patch Guide - Applying patches
- Git Guide - Version control
- diff Documentation:
man diff
This guide covers Arch Linux, CachyOS, and other Linux distributions. For distribution-specific details, refer to your distribution's documentation.