文件管理 · 2022年02月20日 0

diff命令 – 比较文件的差异

diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录 。 **语法格式:** diff [参数] [目录] **常用参数:** | -a | diff预设只会逐行比较文本文件 | | ------------------------- | ------------------------------------------------------------------------ | | -b | 不检查空格字符的不同 | | -W | 在使用-y参数时,指定栏宽 | | -x | 不比较选项中所指定的文件或目录 | | -X | 您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件 | | -y | 以并列的方式显示文件的异同之处 | | --help | 查看帮助信息 | | --left-column | 在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容 | | --suppress-common-lines | 在使用-y参数时,仅显示不同之处 | **参考实例** 比较两个文件: ``` [root@anycode ~]# diff log2014.log log2013.log ``` 并排格式输出: ``` [root@anycode ~]# diff log2014.log log2013.log -y -W 50 2013-01 2013-01 2013-02 2013-02 2014-03 | 2013-03 2013-04 2013-04 2013-05 2013-05 2013-06 2013-06 2013-07 2013-07 2013-07 | 2013-08 2013-09 2013-09 2013-10 2013-10 2013-11 < 2013-12 < [root@localhost test3]# diff log2013.log log2014.log -y -W 50 2013-01 2013-01 2013-02 2013-02 2013-03 | 2014-03 2013-04 2013-04 2013-05 2013-05 2013-06 2013-06 2013-07 2013-07 2013-08 | 2013-07 2013-09 2013-09 2013-10 2013-10 > 2013-11 > 2013-12 ``` 注意:”|”表示前后2个文件内容有不同,”<“表示后面文件比前面文件少了1行内容,”>”表示后面文件比前面文件多了1行内容。