Linux下如何拷贝整个目录下的所有文件

On

如何在Linux下拷贝一个目录呢?这好像是再如意不过的问题了。 比如要把/home/usera拷贝到/mnt/temp,我首先想到的就是 cp -R /home/usera/* /mnt/temp 但是这样有一个问题,/home/usera下的隐藏文件都不会被拷贝,子目录下的隐藏文件倒是会的。 那如何才是正确的方法呢?有人说用-a选项,有人说用find加管道。 其实没这么复杂,Google了之后,学了一招。原来只有用“.”当前目录代替“*”就好了。 cp -R /home/usera/. /mnt/temp ### update 2013/06/11 那如果`/mnt/temp`里面已经有文件了,你只想把`/home/usera/`下的新文件copy过来,却不想覆盖`/mnt/temp`里面已有的文件怎么办呢?有点像合并两个目录对吧。 对付这种情况`cp`有一个选项`-n, –no-clobber`,就是不覆盖已有文件。应该也是蛮有用的。