linuxcp⽂件夹合并,Linux下如何合并⽬录?Ren的Linux⼤杂坛今天晚上给本博客升级WordPress到3.0,为了⽅便就直接将tar包放到服务器上去了。然后习惯的⽤tar指令解压后,⽣成了⼀个wordpress⽬录,将配置⽂件重新配置好,然后就打算将这个⽬录与原来的⽬录合并。习惯性的输⼊了下⾯这条指令:
#cp -Rf wordpress my_blog
指令成功执⾏了,然后赶紧去看my_blog⽬录下的⽂件,发现没有更新,⽽是多了个my_blog⼦⽬录!晕,cp直接将源⽬录拷贝到⽬标⽬录下当⼦⽬录了!看来得赶紧想个办法解决掉这个问题,否则就得⼿动⼀个⼀个传⽂件上去覆盖⽼⽬录了,多慢啊!
赶紧上⽹解决办法,很快就被我命中了⽅法。使⽤下⾯的指令来将/aaa/bbb⽬录复制到当前⽬录的bbb⽬录下合并。-u参数表⽰只更新较新的⽂件和不存在的⽂件。
#cp -R -u /aaa/bbb .
不过要实现这点,必须将原来的⽬录改名成要合并的⽬录,然后放到另外⼀个⽬录下做“跳板”才⾏。简单的说,如果想要更新当前⽬录下的my_blog⽬录,我得放到如./tmp/my_blog⽬录下,然后再使⽤指令“cp -R -u ./tmp/my_blog .”的⽅式来更新。虽然⿇烦点,但是暂时只到这个⽅法了,说⼲就⼲。依次使⽤下⾯的指令操作(中⽂为命令注释,实际操作的时候不需要输⼊)
#mkdir tmp  在当前⽬录下创建tmp⽬录#cp -Rf wordpress tmp/将当前⽬录下的wordpress⽬录移动到tmp⽬录下#cd tmp/ 进⼊tmp⽬录#mv wordpress my_blog 将tmp⽬录下的wordpress⽬录重命名位my_blog
#cd .. 返回到上级⽬录
#\cp -Rf tmp/my_blog . 将tmp⽬录下的my_blog与当前⽬录下的同名⽬录合并
⼤家可能会发现,最后⼀个命令没有使⽤cp -R -u,为什么呢?舍弃掉-u是为了确保所有⽂件都被覆盖掉。加上f参数是为了避免提⽰是否要覆盖⽂件,⽂件少还可以⼿动敲y后回车,⽂件多了要命啊!但是为什么cp之前还有⼀个“\”符号呢?很简单,cp命令使⽤-f参数后,还是会提⽰是否要覆盖⽂件,因为cp命令的alias是cp -i,⽽恰恰-i参数是表明有交互提⽰,于是直接输⼊cp -Rf是不能消除提⽰的。在cp命令前加上“\”,或者使⽤cp命令的绝对地址就可以保证不出现提⽰了。
最后,我们需要将原来的⽬录删除掉,由于新建的tmp⾥只有原来的⽬录,所以我们把整个tmp⽬录删除即可:
#rm -rf tmp
这样就⼤功告成了!
>cp复制文件到指定目录下

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。