📖 Scenario: You work as a system administrator. You often need to check if two configuration files are the same or if they have differences.Using the diff command helps you quickly find differences between two files.
🎯 Goal: Learn how to use the diff command to compare two text files and see their differences.
📋 What You'll Learn
Create two text files with specific content
Use the diff command to compare the two files
Understand the output of diff showing differences
💡 Why This Matters
🌍 Real World
System administrators and developers often need to check differences between configuration files or code versions to troubleshoot or review changes.
💼 Career
Knowing how to use diff is essential for tasks like code reviews, debugging, and managing system configurations.
Progress0 / 4 steps
1
Create the first file file1.txt
Create a file called file1.txt with these exact three lines: apple banana cherry
Linux CLI
Hint
Use echo with -e to add new lines and redirect output to file1.txt.
2
Create the second file file2.txt
Create a file called file2.txt with these exact three lines: apple banana date
Linux CLI
Hint
Use echo with -e and redirect output to file2.txt.
3
Use diff to compare the two files
Use the diff command with file1.txt and file2.txt to find differences between them.
Linux CLI
Hint
Simply run diff file1.txt file2.txt to see the differences.
4
View the output showing the difference
Run the script and observe the output. It should show the difference between file1.txt and file2.txt indicating that cherry was replaced by date.
Linux CLI
Hint
The output shows line 3 changed from cherry to date.
Practice
(1/5)
1. What does the diff command do in Linux?
easy
A. It copies files from one directory to another.
B. It deletes duplicate files automatically.
C. It merges two files into one.
D. It compares two files line by line and shows differences.
Solution
Step 1: Understand the purpose of diff
The diff command is used to compare files line by line.
Step 2: Identify what diff outputs
It shows the differences between two files, not deleting, merging, or copying.
Final Answer:
It compares two files line by line and shows differences. -> Option D
Quick Check:
diff compares files [OK]
Hint: Remember: diff shows differences, it does not merge or delete [OK]
Common Mistakes:
Thinking diff merges files
Confusing diff with copy or delete commands
Assuming diff modifies files
2. Which of the following is the correct **basic** syntax to compare two files file1.txt and file2.txt using diff?
easy
A. diff file1.txt file2.txt
B. diff -c file1.txt file2.txt
C. diff file1.txt > file2.txt
D. diff -r file1.txt file2.txt
Solution
Step 1: Identify basic diff syntax
The basic syntax to compare two files is diff file1 file2.
Step 2: Understand options
diff -c file1.txt file2.txt uses -c (context), which is valid but not basic syntax. diff file1.txt > file2.txt redirects output incorrectly. diff -r file1.txt file2.txt (-r) is for directories.
Final Answer:
diff file1.txt file2.txt -> Option A
Quick Check:
Basic diff syntax [OK]
Hint: Basic diff syntax: diff file1 file2 [OK]
Common Mistakes:
Using redirection instead of arguments
Confusing directory options with file comparison
Adding unnecessary flags for simple comparison
3. Given two files with these contents:
file1.txt: apple banana cherry
file2.txt: apple banana date
What will be the output of diff file1.txt file2.txt?
medium
A. 2c2
< banana
---
> banana
B. No output (files are identical)
C. 3c3
< cherry
---
> date
D. Error: files not found
Solution
Step 1: Compare lines one by one
Lines 1 and 2 are the same (apple, banana). Line 3 differs: 'cherry' vs 'date'.
Step 2: Understand diff output format
diff shows line number and change type: '3c3' means line 3 changed. Then shows old line with '<' and new line with '>'.
Final Answer:
3c3
< cherry
---
> date -> Option C
Quick Check:
Line 3 differs [OK]
Hint: Look for first differing line number in diff output [OK]
Common Mistakes:
Assuming diff shows all lines
Confusing line numbers in output
Expecting no output for different files
4. You run diff file1.txt file2.txt but get the error: diff: file2.txt: No such file or directory. What is the most likely cause?
medium
A. file2.txt does not exist in the current directory.
B. You used wrong syntax for diff command.
C. file1.txt is empty.
D. You do not have permission to read file1.txt.
Solution
Step 1: Analyze the error message
The error says file2.txt: No such file or directory, meaning file2.txt is missing or path is wrong.
Step 2: Check other options
Wrong syntax would cause different errors. Empty file1.txt or permission issues on file1.txt won't cause missing file2.txt error.
Final Answer:
file2.txt does not exist in the current directory. -> Option A
Quick Check:
Missing file error [OK]
Hint: Check file existence if diff says 'No such file' [OK]
Common Mistakes:
Assuming syntax error causes missing file message
Ignoring file path or directory
Confusing permission errors with missing files
5. You want to compare two directories dir1 and dir2 recursively to find all file differences. Which diff command should you use?
hard
A. diff -c dir1 dir2
B. diff -r dir1 dir2
C. diff dir1 dir2
D. diff -i dir1 dir2
Solution
Step 1: Understand recursive comparison
The -r option tells diff to compare directories recursively.
Step 2: Check other options
-c is context output, not recursive. No option means file comparison only. -i ignores case, not recursive.
Final Answer:
diff -r dir1 dir2 -> Option B
Quick Check:
Recursive directory diff [OK]
Hint: Use -r to compare directories recursively with diff [OK]
Common Mistakes:
Using -c expecting recursion
Omitting -r for directory comparison
Confusing -i with recursive option
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.