Linux下目录的合并以及文件的覆盖案例

Linux下目录的合并以及文件的覆盖案例:

有两个目录test和new,test目录下有目录和文件,new目录下有更改过的一些test下的目录和文件,以及一些新增的文件,现在对两个目录进行合并以及覆盖test下的旧文件

cp -frap new/* test/

命令其实非常简单,解释下:

-f  强制覆盖,不询问yes/no(-i的默认的,即默认为交互模式,询问是否覆盖)

-r  递归复制,包含目录

-a  做一个备份,这里可以不用这个参数,我们可以先备份整个test目录

-p  保持新文件的属性不变

记住一点就是,实现合并和覆盖是用cp,而不是mv。在Win7下我们粘贴某个文件夹时也可以实现合并以及覆盖的功能,并且系统会提示是否覆盖或者两个同名文件都保存。

Linux下默认cp命令是有别名(alias cp='cp -i')的,无法强制覆盖,即使你用 -f 参数也无法强制覆盖文件,下面提供两种Linux下cp 覆盖方法.

1) 取消cp的alias,放心这不是永久生效
#unalias cp
#cp a /test/a

2) 用 \cp 执行cp命令时不走alias
#\cp a /test/a

相关推荐