前言
linux查看两个文件差异的命令。
Operating System: Ubuntu 22.04.4 LTS
命令
在 Linux 中,查看两个文件差异的常用命令是 diff
,此外还有 vimdiff
和 colordiff
等工具。以下是详细说明:
1. diff
命令(最基础的文件对比工具)
diff 文件1 文件2
示例:
diff file1.txt file2.txt
输出说明:
<
表示第一个文件独有的行。>
表示第二个文件独有的行。a
(add)、c
(change)、d
(delete)表示需要如何修改第一个文件才能匹配第二个文件。
常用选项:
-u
或--unified
:输出更易读的统一格式(适合补丁文件)。diff -u file1.txt file2.txt
-y
:并排显示差异(需终端宽度足够)。diff -y file1.txt file2.txt
-i
:忽略大小写差异。-w
:忽略空格差异。
2. vimdiff
命令(可视化对比,高亮显示差异)
vimdiff 文件1 文件2
或使用 Vim 的差异模式:
vim -d 文件1 文件2
特点:
- 左右分屏显示文件,差异部分会高亮。
- 支持快捷键跳转(
]c
下一处差异,[c
上一处差异)。 - 适合交互式编辑合并文件。
3. colordiff
命令(带颜色的 diff
输出)
需先安装:
sudo apt install colordiff # Debian/Ubuntu
sudo yum install colordiff # CentOS/RHEL
使用方式同 diff
,但输出会高亮显示差异:
colordiff file1.txt file2.txt
4. **git diff
**(如果文件在 Git 仓库中)
git diff 文件1 文件2
优势:支持 Git 的彩色输出和更灵活的对比选项。
5. 其他工具
**
meld
**:图形化对比工具,支持目录和文件。meld 文件1 文件2
**
icdiff
**(Improvedcolordiff
):更美观的并排对比。icdiff file1.txt file2.txt
实际场景示例
对比脚本文件并生成补丁:
diff -u old_script.sh new_script.sh > patch.diff
并排显示代码差异:
diff -y old_code.c new_code.c
根据需求选择工具:简单差异用 diff
,复杂合并用 vimdiff
,需要颜色输出用 colordiff
或 git diff
。
vim -d 文件1 文件2 如何退出显示
在使用 vim -d 文件1 文件2
(或 vimdiff 文件1 文件2
)进入差异对比模式后,退出方式与普通 Vim 相同。以下是具体方法:
退出 Vimdiff 的几种方式
保存并退出
如果文件被修改且需要保存:
:wq
或分别保存两个文件后退出:
:wa " 保存所有文件 :qa " 退出所有文件
不保存强制退出
放弃所有修改并退出:
:q!
或强制退出所有文件:
:qa!
仅退出当前窗口
如果分屏后只想关闭当前窗口(不退出整个 Vim):
:q
补充说明
快捷键:
- 在普通模式(按
Esc
确保未处于插入模式)下输入:q
等命令。 - 如果误操作,按
Esc
可取消当前命令。
- 在普通模式(按
多文件操作:
Vimdiff 会同时打开多个文件,使用
:qa
(全部退出)或:waq
(全部保存并退出)更高效。
记忆技巧
:q
→ quit(退出):q!
→ 强制退出(不保存):wq
→ write + quit(保存并退出):qa
→ quit all(退出所有分屏)
退出后即可返回终端命令行界面。
结语
第三百三十九篇博文写完,开心!!!!
今天,也是充满希望的一天。