N天学习一个linux命令之diff

用途

按行比较文件差异,也可以比较目录

用法

diff [OPTION]... FILES

常用选项

-i --ignore-case
忽略大小写

--ignore-file-name-case
忽略文件名大小写

--no-ignore-file-name-case
文件名区分大小写

-E --ignore-tab-expansion
忽略tab字符

-b --ignore-space-change
忽略空格

-w --ignore-all-space
忽略所有空格

-B --ignore-blank-lines
忽略空白行

-I RE --ignore-matching-lines=RE
过滤匹配的行

--strip-trailing-cr
去掉行尾回车符

-a --text
所有文件内容当做文本

-c -C NUM --context[=NUM]
(Output NUM (default 3) lines of copied context.)

-u -U NUM --unified[=NUM]
(Output NUM (default 3) lines of unified context.)

--label LABEL
使用LABEL代替文件名

-p --show-c-function
显示差异行所在文件

-F RE --show-function-line=RE
(Show the most recent line matching RE.)

-q --brief
直接输出结果是否有差异

-e --ed
(Output an ed script.)

--normal
(Output a normal diff.)

-n --rcs
(Output an RCS format diff.)

-y --side-by-side
同时输出2个文件的内容,对照显示

-W NUM --width=NUM
(Output at most NUM (default 130) print columns.)

--left-column
左边输出完整内容,右边只输出差异

--suppress-common-lines
只输出差异行

-D NAME --ifdef=NAME
(Output merged file to show ‘#ifdef NAME’ diffs.)

--GTYPE-group-format=GFMT
(Similar, but format GTYPE input groups with GFMT.)
(GTYPE is LTYPE or ‘changed’.)

--line-format=LFMT
(Similar, but format all input lines with LFMT.)

--LTYPE-line-format=LFMT
(Similar, but format LTYPE input lines with LFMT.)
(LTYPE is ‘old’, ‘new’, or ‘unchanged’.)

-l --paginate
分页显示

-t --expand-tabs
输出时,tab字符换成空格

-T --initial-tab
(Make tabs line up by prepending a tab.)

-r --recursive
(Recursively compare any subdirectories found.)

-N --new-file
(Treat absent files as empty.)

--unidirectional-new-file
(Treat absent first files as empty.)

-s --report-identical-files
(Report when two files are the same.)

-x PAT --exclude=PAT
(Exclude files that match PAT.)

-X FILE --exclude-from=FILE
(Exclude files that match any pattern in FILE.)

-S FILE --starting-file=FILE
(Start with FILE when comparing directories.)

--from-file=FILE1
(Compare FILE1 to all operands. FILE1 can be a directory.)

--to-file=FILE2
(Compare all operands to FILE2. FILE2 can be a directory.)

--horizon-lines=NUM
(Keep NUM lines of the common prefix and suffix.)

-d --minimal
(Try hard to find a smaller set of changes.)

--speed-large-files
(Assume large files and many scattered small changes.)

-v --version
输出程序版本信息

--help
显示帮助信息

实践

1 比较2个文件

# 显示所有
diff -y dir1/friend.php friend.php

# 只显示差异
diff -y --suppress-common-lines dir1/friend.php friend.php

# 只显示左边完整内容,右边只显示差异内容
diff -y --left-column dir1/friend.php friend.php

擦参考资料

【1】man diff

原文地址:https://www.cnblogs.com/wadeyu/p/8885698.html

时间: 2024-10-09 10:26:49

N天学习一个linux命令之diff的相关文章

N天学习一个Linux命令之帮助命令:man

前言 工作中每天都在使用常用的命令和非常用的命令,忘记了用法或者参数,都会bing一下,然后如此循环.一直没有真正的系统的深入的去了解命令的用法,我决定打破它.以前看到有人,每天学习一个linux命令,我现在没有这么充足时间,我恐怕一周学习一个linux命令我都做不到,想想我还是N天学习一个linux命令吧,从现在开始算起. 用途 显示命令帮助文档以及用法 用法 man [options] [section] cmd 命令文档部分说明 The table below shows the sect

每天学习一个LINUX命令:ls 目录列表(list 清单目录 名单)

ls命令用于显示文件目录列表.当不加参数时,默认列出当前目录的列表信息. 语法参数: ls [参数] [目录或文件名] 参数(注意区分大小写) -a:显示所有档案及目录(ls内定将档案名或目录名称为"."的视为影藏,不会列出):-A:显示除影藏文件"."和".."以外的所有文件列表:-C:多列显示输出结果.这是默认选项:-l :与"-C"选项功能相反,所有输出信息用单列格式输出,不输出为多列:-b:将文件中的不可输出的字符以反

N天学习一个linux命令之du

用途 统计文件或者目录占用硬盘空间大小 用法 du [OPTION] [FILE]du [OPTION] --files0-from=F 常用参数 -a, --all统计所有文件,不仅仅是目录 -b, --bytes 字节为单位统计 -c, --total输出总大小 -D, --dereference-args对命令行列出的链接文件,按照链接文件指向的真实文件大小统计,默认是链接文件的大小 --files0-from=F从指定的文件F中读取需要统计的文件列表,多个文件名使用空字符(\0)分隔(N

N天学习一个linux命令之ping

用途 检测主机是否可到达,也就是说,目标主机是否可以联网,还可以用于检测网速.通过发送ICMP ECHO_REQUEST数据包检测. 用法 ping [options] destination 常用选项 -A 根据round-trip time自适应调整每次发包的间隔时间 -b 允许ping广播地址 -c count 设置发送包数量,默认会一直发 -d 设置socket SO_DEBUG选项 -f 极限检测,尽最大可能发送最多的包 -i interval 发送下一个包需要等待的时间(单位:秒),

N天学习一个Linux命令之free

用途 查看系统内存(物理/虚拟/缓存/共享)使用情况 用法 free [-b | -k | -m | -g | -h] [-o] [-s delay ] [-c count ] [-a] [-t] [-l] [-V] 常用选项 选项 含义 说明 -b 单位byte switch displays the amount of memory in bytes; -k 单位k switch (set by default) displays it in kilobytes; -m 单位m switch

每天一个linux命令(49)--diff命令

diff 命令是 Linux 上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff 在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件,diff 程序的输出被称为补丁(patch),因为Linux 系统中还有一个 patch程序,可以根据diff 的输出将 a.c 的文件内容更新为 b.c  .diff 是 svn.cvs.git 等版本控制工具不可或缺的一部分. 1.命令格式: diff [参数] [文件1或目录1 ] [文件2或目录2]

N天学习一个linux命令之ip

用途 show / manipulate routing, devices, policy routing and tunnels 用法 通用格式 ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | addrlabel | route | rule | neigh | tunnel | maddr | mroute | monitor } OPTIONS := { -V[ersion] | -s[tatistics

N天学习一个Linux命令之帮助命令:grep

前言任何系统都会出问题,出了问题一般怎么排查BUG?这个时候程序中记录的异常日志以及关键节点的日志就非常重要了,面对一大堆的日志文件,怎么找出我们需要的有用信息呢?linux中可以使用grep命令查找,这个命令的功能非常强大,也是我平时中排查线上错误时使用最多的命令之一. 命令名称grep 用途查找指定文件内包含指定关键字(正则表达式)的内容,按行为单位匹配 使用格式grep [OPTIONS] PATTERN [FILE...] 常用选项-V (显示命令版本) 正则模式匹配版本-E, --ex

每天学习一个LINUX命令:cd 切换目录 (change directory 更改目录)

cd命令用来切换工作目录至dirname. 其中dirName表示法可为绝对路径或相对路径.若目录名称省略,则变换至使用者的home directory(也就是刚login时所在的目录).另外,~也表示为home directory的意思,.则是表示目前所在的目录,..则表示目前目录位置的上一层目录. 语法参数: cd [dirName] 用法实例: cd 进入用户主目录:cd ~ 进入用户主目录:cd - 返回进入此目录之前所在的目录:cd .. 返回上级目录(若当前目录为"/",则