linux文档比较命令,linux基本命令总结

linux diff命令详解

;     diff命令在最简单的情况下,比较给定的两个文件的不同。如果使用“-”代替“文件”参数,则要比较的内容将来自标准输入。diff命令是以逐行的方式,比较文本文件的异同处。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作。下面是linuxdiff命令的具体介绍:

铁岭网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联公司从2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

diff(diff即different简写)命令用于比较文件的差异。

选项:

-

-a或——text:diff预设只会逐行比较文本文件;

-b或_ignore-space-change:不检查空格字符的不同;

-B或_ignore-blank-lines:不检查空白行;

-c:显示全部内容,并标出不同之处;

-C

-d或——minimal:使用不同的演算法,以小的单位来做比较;

-D

-e或——ed:此参数的输出格式可用于ed的script文件;

-f或-forward-ed:输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处;

-H或_speed-large-files:比较大文件时,可加快速度;

-l

-i或_ignore-case:不检查大小写的不同;

-l或——paginate:将结果交由pr程序来分页;

-n或——rcs:将比较结果以RCS的格式来显示;

-N或_new-file:在比较目录时,若文件A仅出现在某个目录中,预设会显示:Onlyin目录,文件A若使用-N参数,则diff会将文件A与一个空白的文件比较;

-p:若比较的文件为C语言的程序码文件时,显示差异所在的函数名称;

-P或_unidirectional-new-file:与-N类似,但只有当第二个目录包含了第一个目录所没有的文件时,才会将这个文件与空白的文件做比较;

-q或_brief仅显示有无差异,不显示详细的信息;

-r或——recursive:比较子目录中的文件;

-s或_report-identical-files:若没有发现任何差异,仍然显示信息;

-S

-t或_expand-tabs:在输出时,将tab字符展开;

-T或_initial-tab:在每行前面加上tab字符以便对齐;

-u,-U

-v或——version:显示版本信息;

-w或_ignore-all-space:忽略全部的空格字符;

-W

-x

-X

-y或_side-by-side:以并列的方式显示文件的异同之处;

_help:显示帮助;

_left-column:在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容;

_suppress-common-lines:在使用-y参数时,仅显示不同之处。

以上就是今天的分享了,希望可以帮助到大家。

本文章基于thinkpadE15品牌、centos7系统撰写的。

linux 中两个文档怎么对比内容是否一致

可以用diff命令对比文档内容。

[语法]: diff [参数] 文件1 文件2

[说明]: 本命令比较两个文本文件,将不同的行列出来

-b 将一串空格或TAB 转换成一个空格或TAB

-e 生成一个编辑角本,作为ex 或ed 的输入可将文件1 转换成文件2

[例子]:

diff file1 file2

diff -b file1 file2

diff -e file1 file2 edscript

diff 命令的常用参数

a 将所有文件当做文本文件来处理

b 忽略空格造成的不同

B 忽略空行造成的不同

q 只报告什么地方不同,不报告具体的不同信息

H 利用试探法加速对大文件的搜索

i 忽略大小写的变化

l 用pr对输出进行分页

r 在比较目录时比较所有的子目录

s 两个文件相同时才报告

v 在标准输出上输出版本信息并退出

实例:比较两个文件

代码如下:

[root@localhost test3]# diff log2014.log log2013.log

----------------------------------------------------------------------------

3c3

《 2014-03

---

》 2013-03

8c8

《 2013-07

---

》 2013-08

11,12d10

《 2013-11

《 2013-12

----------------------------------------------------------------------------

说明:上面的“3c3”和“8c8”表示log2014.log和log20143log文件在3行和第8行内容有所不同;“11,12d10”表示第一个文件比第二个文件多了第11和12行。

Linux文件比较命令的Comm命令

如果想对两个有序的文件进行比较,可以使用comm命令。

语法:comm [- 123 ] file1 file2

说明:该命令是对两个已经排好序的文件进行比较。其中file1和file2是已排序的文件。comm读取这两个文件,然后生成三列输出:仅在file1中出现的行;仅在file2中出现的行;在两个文件中都存在的行。如果文件名用“- ”,则表示从标准输入读取。

comm -1 不显示只出现在第一个文件的行。

comm -2 不显示只出现在第二个文件的行。

comm -3 不显示同时出现在两个文件的行。

comm file1 file2 显示三列,第一列代表只出现在file1的行,第二列代表只出现在file2的行,第三列代表俩个文件同时出现的行

comm -12 显示两个文件同时出现的行 也就是交集

comm -13 显示只出现在第二个文件的行

comm -23 显示只出现在第一个文件的行

例如:假设要对文件myfile1和myfile2进行比较

$ cat myfile1

main( )

{

float a,b, i, j ,z ;

a=i=10 ; b=j=5 ;

z= i + j ;

printf(“z=%d\\\\n”,z) ;

}

$ cat myfile2

#include stdio.h

main( )

{

float i, j ,z ;

i=10 ; j=5 ;

z= i + j ;

printf(“z=%f\\\\n”,z) ;

}

$ comm - 12 myfile1 myfile2

main( )

{

z= i + j ;

}

就只显示文件myfile1和myfile2中共有的行。

linux中,有哪些命令是比较好用的呢?

1.列出文件清单命令:ls

ls命令能够列出当前目录下的所有内容。ls 命令的执行方式为:

# ls [-选项] [文件名或者目录名]

进入到Linux命令行中后,我们至少要知道当前所处的位置有哪些内容,这些信息就可以使用ls命令来获得。

在Linux中,ls命令是最常使用的命令之一,因为在命令行下要随时查看目录内容。如果不加任何选项的话,ls命令仅列出当前目录下的文件和目录名,例如,想要查看/etc目录下的内容,可以使用下列命令:

# ls /etc

如果想要列出当前目录下所有文件,则可以使用下列命令:

# ls -a

2、cat命令

功能:在标准输出上显示文件。

语法:cat [-vTEuAte] 文件

例子: cat example.txt

cat -A exam2.txt

cat file1 file2 file2

3、more命令

功能:在终端屏幕按屏显示文本文件。

语法: more [-pcdls] 文件

例子: more example.c

more -dc example.c

more -c -10 example.c

4、less命令

less命令的功能几乎和more命令一样,也是用来按页显示文件,不同之处在于less命令在显示文件时允许用户既

可以向前又可以向后翻阅文件。

5、head命令

功能:显示指定文件的前若干行。缺省设置为显示10行

语法:head [-n] 文件

例子: head example.c

head -3 example.c

6、tail命令

功能:显示指定文件的末尾若干行。缺省设置为显示10行

语法:tail [+ / - num ] [参数] 文件

+num 从第num行以后开始显示。- num 从距文件尾num行处开始显示。

例子: tail example.c

tail -4 example.c

7、grep、fgrep和egrep命令

功能:

这组命令以指定模式搜索文件,并通知用户在什么文件中搜索到与指定的模式匹配的字符串,并打印出所有包含该字符串的文本行,在该文本行的最前面是该行所在的文件名。grep命令一次只能搜索一个指定的模式;egrep命令检索扩展的正则表达式(包括表达式组和可选项);fgrep命令检索固定字符串,它不识别正则表达式,是快速搜索命令。

语法:

grep [-EFbcihlnvxef] [查找模式] [文件名1,文件名2,……]

egrep [选项] [查找模式] [文件名1,文件名2,……]

fgrep [选项] [查找模式] [文件名1,文件名2,……]

例子: grep "text file" example

grep data *

grep goto *.c

Linux使用diff命令怎么比较文件

Y:diff命令

●简介

★diff命令用于比较文件的差异。

★diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。

●语法

★命令格式:diff[参数][文件1或目录1][文件2或目录2]

★参数:

☆-行数  指定要显示多少行的文本。此参数必须与-c或-u参数一并使用。

☆-a或--text  diff预设只会逐行比较文本文件。

☆-b或--ignore-space-change  不检查空格字符的不同。

☆-B或--ignore-blank-lines  不检查空白行。

☆-c  显示全部内文,并标出不同之处。

☆-C行数或--context行数  与执行"-c-行数"指令相同。

☆-d或--minimal  使用不同的演算法,以较小的单位来做比较。

☆-D巨集名称或ifdef巨集名称  此参数的输出格式可用于前置处理器巨集。

☆-e或--ed  此参数的输出格式可用于ed的script文件。

☆-f或-forward-ed  输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处。

☆-H或--speed-large-files  比较大文件时,可加快速度。

☆-l字符或字符串或--ignore-matching-lines字符或字符串  若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。

☆-i或--ignore-case  不检查大小写的不同。

☆-l或--paginate  将结果交由pr程序来分页。

☆-n或--rcs  将比较结果以RCS的格式来显示。

☆-N或--new-file  在比较目录时,若文件A仅出现在某个目录中,预设会显示:

☆Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。

☆-p  若比较的文件为C语言的程序码文件时,显示差异所在的函数名称。

☆-P或--unidirectional-new-file  与-N类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。

☆-q或--brief  仅显示有无差异,不显示详细的信息。

☆-r或--recursive  比较子目录中的文件。

☆-s或--report-identical-files  若没有发现任何差异,仍然显示信息。

☆-S文件或--starting-file文件  在比较目录时,从指定的文件开始比较。

☆-t或--expand-tabs  在输出时,将tab字符展开。

☆-T或--initial-tab  在每行前面加上tab字符以便对齐。

☆-u,-U列数或--unified=列数  以合并的方式来显示文件内容的不同。

☆-v或--version  显示版本信息。

☆-w或--ignore-all-space  忽略全部的空格字符。

☆-W宽度或--width宽度  在使用-y参数时,指定栏宽。

☆-x文件名或目录或--exclude文件名或目录  不比较选项中所指定的文件或目录。

☆-X文件或--exclude-from文件  您可以将文件或目录类型存成文本文件,然后在=文件中指定此文本文件。

☆-y或--side-by-side  以并列的方式显示文件的异同之处。

☆--help  显示帮助。

☆--left-column  在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容。

☆--suppress-common-lines  在使用-y参数时,仅显示不同之处。

●案例

★实例一:比较两个文件

[root@localhost test3]# diff log2014.log log2013.log

3c3

2014-03

---

2013-03

8c8

2013-07

---

2013-08

11,12d10

2013-11

2013-12

☆上面的"3c3"和"8c8"表示log2014.log和log20143log文件在3行和第8行内容有所不同;"11,12d10"表示第一个文件比第二个文件多了第11和12行。

★实例二:并排格式输出

[root@localhost test3]# 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行内容;


文章题目:linux文档比较命令,linux基本命令总结
文章起源:http://ybzwz.com/article/dsgscdp.html