在Linux下如果要比较两个目录,可以使用diff命令,并且需要加上选项-r(递归)。
-r When comparing directories, recursively compare any subdirectories found.
另外还有两个常用的选项,-b (忽略空白)和 -B (忽略空行)
-b Ignore changes in amount of white space.
-B Ignore changes that just insert or delete blank lines.
如下例所示:
[root@s170 cjtj]# diff -r -b -B sch_admin 4sch_admin
Only in 4sch_admin: 1.txt
diff -r -b -B sch_admin/build/CVS/Root 4sch_admin/build/CVS/Root
1c1
< :pserver:coding@cvsbank:/CVSAPPS
---
> :pserver:zhy@218.23.142.44:12401/home/cvsroot
diff -r -b -B sch_admin/conf/CVS/Entries 4sch_admin/conf/CVS/Entries
1c1
< /struts-sch.xml/1.3/Fri May 18 07:31:05 2012//
---
> /struts-sch.xml/1.3/Fri May 18 14:39:35 2012//
。。。
。。。
因为我的目录中带有版本信息,CVS目录存在很大的区别,但是对实际的文件内容是没有意义的,因此我想在比较时忽略掉CVS目录。
--exclude=pattern
When comparing directories, ignore files and subdirectories whose basenames match pattern.
下面是加了 --exclude选项时的比较结果,看上去很清爽。
[root@s170 cjtj]# diff -r -b -B --exclude=CVS sch_admin 4sch_admin
Only in 4sch_admin: 1.txt
Binary files sch_admin/dist/sch-admin.jar and 4sch_admin/dist/sch-admin.jar differ
Only in 4sch_admin/dist: .#sch-admin.jar.1.10
Only in 4sch_admin/dist: .#sch-admin.jar.1.11
Only in 4sch_admin/dist: .#sch-admin.jar.1.12
Only in 4sch_admin/extra/zhaosheng: baoming.html.1
[root@s170 cjtj]#
欲访问本文最新版,请移步:http://www.vktone.com/articles/diff-dirs-ignore-some-files-in-linux.html
更多关于Linux使用的文章请访问:http://www.vktone.com/linux.html
相关推荐
使用 `-r` 选项递归比较目录中的文件,并生成补丁文件: ```bash [armlinux@lqmpatch]$ diff -urN old/ new/ > all.diff ``` 这里假设 `old/` 和 `new/` 是包含多个文件的目录。 #### 步骤四:应用补丁 使用 `-p1...
linux中的文件(普通文件或设备文件等)都必须有挂在点,只有挂载到一个目录下才能访问,swap分区是不需要挂载点的,在分区的时候,将文件系统类型选为swap,挂载点自动会变为灰色。一般linux中的swap大小为内存的两倍。...
如果指定比较的是目录的的时候,diff 命令会比较两个目录下名字相同的文本文件。列出不同的二进制文件、公共子目录和只在一个目录出现的文件。 Diff 命令有多种参数可以使用,如下所示: * -a 或 --text:diff ...
要访问CD-ROM上的文件,需要将CD-ROM设备挂装在文件树中的某个挂装点。如果发行版安装了自动挂装包,那么这个步骤可自动进行。在Linux中,如果要使用硬盘、光驱等储存设备,就得先将它加载,当储存设备挂上了之后,...
30. Rsync 同步数据时,如果目标文件比源文件还新,则忽略该文件,如何做? 可以使用 `rsync` 命令的 `--update` 选项,例如 `rsync -avz --update /dir1/ /dir2/`。 31. 想在 linux 命令行下访问某个网站,并且该...
在这个文件中,需要指定哪些接口应该发送路由器广告,并定义相应的前缀。以下是一个简单的示例配置: ```conf interface eth0 { AdvSendAdvert on; AdvOtherConfigFlag on; MinRtrAdvInterval 30; ...
例如,"MyDB"和"Mydb"会被视为两个不同的数据库,而"Users"和"users"则被视为同一个表。 为了改变这种行为,你可以通过编辑配置文件来调整MySQL的行为。具体操作是在`/etc/my.cnf`配置文件中找到`[mysqld]`段,然后...
Linux下的Subversion(SVN)客户端是用于版本控制系统的一个强大工具,它允许用户协同工作,跟踪文件和目录的更改历史。本指南将详细介绍如何在Linux系统上安装和配置SVN客户端,以帮助您更好地理解和使用这个强大的...
Linux 的管道符号是 `|`,它将两个命令隔开,将左边命令的执行结果传递给右边的命令。 实例: 1. `ls -al | grep java` 先执行 `ls -al` 命令,然后将结果传递给 `grep` 命令,查找包含 `java` 的文件或目录。 2. ...
使用`svn diff`命令可以查看两个版本之间的差异,或者查看本地文件与SVN仓库中的差异: ```bash svn diff [-r m:n] 本地文件 ``` 例如,查看`main.c`从版本1到版本10之间的差异: ```bash svn diff -r 1:10 main....
在不同的系统下,由于编译器的不同,对变量作用域的实现机制也有所不同,这里以 Windows 下的 VC 和 Solaris 下的 CC 这两个编译器为例做一个简单的比较说明。 在 C++ 的开发过程中,我们经常会有这样的用法: for...
chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件 chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接 chattr +s file1 允许一个文件被安全地删除 chattr +S file1 一旦应用...
本书详细介绍如何在个人电脑上安装配置Caldera和Red Hat两种发行版本的Linux操作系统,并能帮助用户解决安装和配置过程中出现的各种问题。本书既能指导你进行基本的安装步骤,也能指导你定制独具特色的Linux 操作...
我们想要生成一个补丁文件`prj1.patch`,用于记录这两个目录之间的差异。 首先,我们使用`ls -p`命令列出两个目录的内容,以便了解它们的结构: ```bash $ ls -p prj0 $ ls -p prj1 ``` 然后,使用`diff`命令生成...
`kill`函数接受两个参数:目标进程的PID(进程ID)和要发送的信号号。除了通过`kill`函数外,还可以通过`raise`函数向调用进程本身发送信号。 ### 信号的捕获与处理 为了捕获并处理信号,Linux提供了`signal`和`...
Linux系统中文件链接分为硬链接和符号链接(软链接),它们在文件系统中扮演着不同的角色。了解这两种链接的区别对于更好地管理Linux系统下的文件和目录非常重要。 首先,我们来讨论硬链接。硬链接的创建是通过创建...
5. **添加环境变量**:编辑`/etc/profile`,在文件末尾添加:`SVNPATH=$PATH:/usr/local/svn/bin` 并导出变量:`export SVNPATH`。 6. **验证安装**:执行`svnserve --version`,如果显示出版本信息,则表示安装成功...
10.2.2 使用sed在文件中查询文本的方式 90 10.2.3 基本sed编辑命令 90 10.3 sed和正则表达式 91 10.4 基本sed编程举例 91 10.4.1 使用p(rint)显示行 91 10.4.2 打印范围 91 10.4.3 打印模式 92 10.4.4 使用模式和...
嵌入式 Linux 系统下的启动配置文件与普通 PC Linux 启动配置文件不同,嵌入式系统下的 Linux 启动过程可以分为两个阶段:第一个阶段是在 bootloader 中制定各种要求传给 Linux 内核的参数,制作 ramdisk 或 ramfs ...