Linux文件目录管理
Linux文件目录:文件比较
### diff 比较给定的两个文件的不同 - 语法:diff(选项)(参数) - 选项 - **-<行数>:**指定要显示多少行的文本。此参数必须与-c或-u参数一并使用; - **-a:**diff预设只会逐行比较文本文件; - -**b:**不检查空格字符的不同; - -**B:**不检查空白行; - -**c:**显示全部内容,并标出不同之处; - - **C<行数>:**与执行“-c-<行数>”指令相同; - **-d:**使用不同的演算法,以小的单位来做比较; - **-D<巨集名称>:**此参数的输出格式可用于前置处理器巨集; - **-e:**此参数的输出格式可用于ed的script文件; - **-f:**输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处; - - **H:**比较大文件时,可加快速度; - **-l<字符或字符串>:**若两个文件在某几行有所不同,而之际航同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异; - **-i:**不检查大小写的不同; - **-l:**将结果交由pr程序来分页; - **-n:**将比较结果以RCS的格式来显示; - **-N:**在比较目录时,若文件A仅出现在某个目录中,预设会显示:Only in目录,文件A 若使用-N参数,则diff会将文件A 与一个空白的文件比较; - **-p:**若比较的文件为C语言的程序码文件时,显示差异所在的函数名称; - **-P:**与-N类似,但只有当第二个目录包含了第一个目录所没有的文件时,才会将这个文件与空白的文件做比较; - **-q:**仅显示有无差异,不显示详细的信息; - **-r:**比较子目录中的文件; - **-s:**若没有发现任何差异,仍然显示信息; - **-S<文件>:**在比较目录时,从指定的文件开始比较; - **-t:**在输出时,将tab字符展开; - **-T:**在每行前面加上tab字符以便对齐; - **-u,-U<列数>**:以合并的方式来显示文件内容的不同; - **-w:**忽略全部的空格字符; - **-W<宽度>:**在使用-y参数时,指定栏宽; - **-x<文件名或目录>:**不比较选项中所指定的文件或目录; - **-X<文件>:**您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件; - **-y:**以并列的方式显示文件的异同之处; - ** -\-left-column:**在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容; - - **-suppress-common-lines**:在使用-y参数时,仅显示不同之处。 - 参数 文件1:指定要比较的第一个文件; 文件2:指定要比较的第二个文件。 - 实例 ```shell #将目录/usr/li下的文件"test.txt"与当前目录下的文件"test.txt"进行比较,输入如下命令: diff /usr/li test.txt ``` ### diffstat 显示diff命令输出信息的柱状图 - 语法:diff [-wV][-n <文件名长度>][-p <文件名长度>] - 参数: -n<文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。 -p<文件名长度> 与-n参数相同,但此处的<文件名长度>包括了文件的路径。 -w 指定输出时栏位的宽度。 -V 显示版本信息。 - 实例 ```shell $ diff test1 test2 | diffstat #进行比较结果的统计显示 ``` ### diff3 比较3个文件不同的地方 - 语法:diff3(选项)(参数) - 选项 - **-a:**把所有的文件都当做文本文件按照行为单位进行比较,即给定的文件不是文本文件; - **-A:**合并第2个文件和第3个文件之间的不同到第1个文件中,有冲突内容用括号括起来; - **-B:**与选项“-A”功能相同,但是不显示冲突的内容; - **-e/-\-ed:**生成一个“-ed”脚本,用于将第2个文件和第3个文件之间的不同合并到第1个文件中; - **-\-easy-only:**除了不显示互相重叠的变化,与选项“-e”的功能相同; - **-i:**为了和system V系统兼容,在“ed”脚本的最后生成“w”和“q”命令。此选项必须和选项“-AeExX3”连用,但是不能和“-m”连用; - **-\-initial-tab:**在正常格式的行的文本前,输出一个TAB字符而非两个空白字符。此选项将导致在行中TAB字符的对齐方式看上去规范。 - 参数 文件1:指定要比较的第1个文件; 文件2:指定要比较的第2个文件; 文件3:指定要比较的第3个文件。 ### cmp 比较两个文件是否有差异 - 语法:cmp(选项)(参数) - 选项 - **-c:**除了标明差异处的十进制字码之外,一并显示该字符所对应字符; - **-i<字符数目>:**指定一个数目; - **-l:**标示出所有不一样的地方; - **-s:**不显示错误信息; - 参数 目录:比较两个文件的差异。 - 实例 ```shell #使用cmp命令比较文件"testfile"和文件"testfile1"两个文件,则输入下面的命令: cmp testfile testfile1 ``` ### comm 用于比较两个已排过序的文件 - 这项指令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成 3 列显示:第 1 列仅是在第 1 个文件中出现过的列,第 2 列是仅在第 2 个文件中出现过的列,第 3 列则是在第 1 与第 2 个文件里都出现过的列。若给予的文件名称为 - ,则 comm 指令会从标准输入设备读取数据。 - 语法:comm [-123][第1个文件][第2个文件] - 参数: -1 不显示只在第 1 个文件里出现过的列。 -2 不显示只在第 2 个文件里出现过的列。 -3 不显示只在第 1 和第 2 个文件里出现过的列。 - 实例 comm aaa.txt bbb.txt
顶部
收展
底部
[TOC]
目录
Linux文件目录:增删改查命令
Linux文件目录:权限管理
Linux文件目录:文件搜索
Linux文件目录:文件比较
Linux文件目录:过滤分割合并
LInux文件目录:文件传输
Rsync同步过程中遇到的常见问题
相关推荐
Linux打包压缩
Linux文本处理
Linux软件安装
Linux用户和用户组管理
Linux文件系统管理
Linux系统管理