这篇文章主要介绍“Linux基础命令diff的用法”,在日常操作中,相信很多人在Linux基础命令diff的用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux基础命令diff的用法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
diff
逐行比较两个文本文件,把文件的差异显示到标准输出。如果要指定要比较目录,那么diff命令会比较目录中相同文件名的文件,不会比较子目录。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1
、语法
活动:慈云数据爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看
diff[
选项]files
2
、选项列表
选项说明-v | –version显示命令版本信息–help显示帮助文档-m | –mode=MODE设置目录的权限-i | –ignore-case比较的时候,忽略大小写–ignore-file-name-case在比较文件名的时候,忽略大小写–no-ignore-file-name-case比较文件名的时候,不能忽略大小写-E | –ignore-tab-expansion不比较tab-b | –ingore-space-change不比较空格数-w | –ignore-all-space忽略所有的空格-B | –ignore-blank-lines不比较空白行-I res | –ignore-mathcing-lines=res不比较含有指定字符串res的行–strip-trailing-cr出开发云主机域名去输入行尾随的东西-a | –text将所有的文件都当做文本文件-c-C NUM–context[=NUM]显示不同之处的前后部分内容,默认是3行-u-U NUM–unified[=NUM]显示相同之处的前后部分内容,默认是3行–label LABEL使用文件的标签,而不是名字-p | –show-c-function比较c语言文件的时候,显示不同之处所在的函数-F RE|–show-function-line=RE显示匹配RE的最近的行-q | –brief只显示是否有差异,不显示详细内容-e | –ed输出一个ed脚本–normal输出一个正常的diff-n | –rcs结果以rcs的方式显示-y | –side-by-side将两个文件已并列方式显示比较结果-W num | –width=NUM使用“-y”选项的时候,指定列宽–left-column只输出公共行的左列–suppress-common-lines不要输出公共行-D NAME | –ifdef=NAME输出合并文件以显示‘#ifdef NAME’的差异–GTYPE-group-format=GFMT同上,但用GFMT格式化GTYPE输入组–line-format=LFMT同上,但用LFMT格式化GTYPE输入组–LTYPE-line-format=LFMT同上,但用LFMT格式化LTYPE输入行-l | –paginate将输出传递给pr”以分页-t | –expand-tabs将制表符展开为输出中的空格-T | –initial-tab通过预置选项卡使制表符对齐-N | –new-file将缺席文件视为空文件–unidirectional-new-file将缺席的第一批文件视为空文件-s | –report-identical-files当两个文件相同时报告-X FILE | –exclude-from=FILE排除与文件中任何模式匹配的文件-S FILE | –starting-file=FILE从文件开始比较目录时-r | –recursive用递归的方式比较子目录下的所有文件-x path不比较指定的文件–from-file=F开发云主机域名ILE1将FILE 1与所有操作数进行比较。FILE 1可以是一个目录–to-file=FILE2将所有操作数与文件2进行比较。文件2可以是一个目录–horizon-lines=NUM保持通用前缀和后缀的NUM行-d–minimal努力找出一组较小的变更–speed-large-files假设文件很大,并且有许多零散的小更改。
3
、实例
1)比较两个文件,不使用参数 (两个文件只有第一行不同)
[root@localhost test02]#
diff 1.c 2.c//
直接比较,这里只输出不同之处
1c1
逐行比较两个文本文件,把文件的差异显示到标准输出
,adAD
文件。
---
>
逐行比较两个文本文件,把文件的差异显示到标准输出。
2)使用选项-y,以分列的方式输出两个文件
[root@localhost test02]#
diff -y 1.c 2.c//
使用选项
y
,这里以列的方式,显示文件全部内容
逐行比较两个文本文件,把文件的差异显示到标准输出
,adAD
文件。
|
逐行比较两个文本文件,把文件的差异显示到标准输出。
如果要指定要比较目录,那么
diff
命令会比较目录中相同文件名的文
如果要指定要比较目录,那么
diff
命令会比较目录中相同文件名的文
此命令的适用范围:
RedHat
、
RHEL
、
Ubuntu
、
CentOS
、
SUSE
、
openSUS
此命令的适用范围:
RedHat
、
RHEL
、
Ubuntu
、
CentOS
、
SUSE
、
openSUS
[root@localhost test02]# diff1.c 2.c
3)使用选项-W,指定列宽
[root@localhost test02]#
diff -y -W 100 1.c 2.c//
这里指定列宽
100
,并不能完全显示,因此看不到差异之处
逐行比较两个文本文件,把文件的差异显示到标准
|
逐行比较两个文本文件,把文件的差异显示到标准
如果要指定要比较目录,那么
diff
命令会比较目录
如果要指定要比较目录,那么
diff
命令会比较目录
此命令的适用范围:
RedHat
、
RHEL
、
Ubuntu
、
Ce开发云主机域名ntO
此命令的适用范围:
RedHat
、
RHEL
、
Ubuntu
、
CentO
4)比较目录
[root@localhost weijie]#
diff test01 test02//
这里只比较目录下相同名字的文件
diff test01/1.c test02/1.c
1c1
逐行比较两个文本文件,把文件的差异显示到标准输出。
---
>
逐行比较两个文本文件,把文件的差异显示到标准输出
,adAD
文件。
5)使用选项-q,查看是否不同
[root@localhost weijie]#
diff -q test01/1.c test02/1.c//
比较是否不同
Files test01/1.c and test02/1.c differ//
只显示是否相同,不显示详细不同之处
到此,关于“Linux基础命令diff的用法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注开发云网站,小编会继续努力为大家带来更多实用的文章!
本文从转载,原作者保留一切权利,若侵权请联系删除。
《Linux基础命令diff的用法》来自互联网同行内容,若有侵权,请联系我们删除!
还没有评论,来说两句吧...