[特别注意]Linux使用cp命令,隐藏的文件没有复制过去。mv挪动也出现挪动不过去,特别是隐藏文件,Linux cp命令如何拷贝整个目录下所有文件。

jackxiang 2014-1-22 17:54 | |


一、mv对Linux下的svn目录好像挪动不了,如下:

结论:
mv def 777/.  像这样直接挪动一个目录是没有问题的,隐藏的也全挪动过去,而如果用*号mv挪动,则隐藏的文件挪动不过去,所以得注意这个问题,特别是svn里svn co后,里面有好几个的隐藏文件,要注意,否则在更新时会出错。

二、cp也有这个问题:
linux下隐藏文件是.开头的,所以要复制隐藏文件直接在文件开头加个".“。也有mv的*不会拷贝隐藏文件的问题,如:
cp -Rf ../777/* ./.  这样是拷贝不过来隐藏文件滴。
这样目录直接对拷贝也就没有问题了:
cp -Rf 777 bbb

三、删除也有*删除不了隐藏的问题喔。


四、Linux cp命令如何拷贝整个目录下所有文件 :
背景:拷贝时出现把目录拷贝过去了,再就是假如linux下有隐藏文件,怎么也一起拷贝过去?
cp -r /home/test/rpmbuild/BUILD/jdk1.8.0_66/ /home/test/rpmbuild/BUILDROOT/usr/local/java
ls /home/test/rpmbuild/BUILDROOT/usr/local/java
jdk1.8.0_66

这个点很重要:
cp -r /home/test/rpmbuild/BUILD/jdk1.8.0_66/. /home/test/rpmbuild/BUILDROOT/usr/local/java

ls /home/test/rpmbuild/BUILDROOT/usr/local/java
bin        javafx-src.zip  man          THIRDPARTYLICENSEREADME-JAVAFX.txt
COPYRIGHT  jre             README.html  THIRDPARTYLICENSEREADME.txt
db         lib             release
include    LICENSE         src.zip
———————————————————————————————————————————————
如何在Linux下拷贝一个目录呢?这好像是再简单不过的问题了。

比如要把/home/usera拷贝到/mnt/temp,首先想到的就是

cp -R /home/usera/* /mnt/temp

但是这样有一个问题,/home/usera下的隐藏文件都不会被拷贝,子目录下的隐藏文件倒是会的。

那如何才是正确的方法呢?有人说用-a选项,有人说用find加管道。

其实没这么复杂,Google了之后,学了一招。原来只有用“.”当前目录代替“*”就好了

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/6965/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2016-4-22 13:47
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]