我正在将主目录从旧系统迁移到新系统,我制作的tarball包含所有内容,包括.bashrc之类的隐藏文件。但是,当我将解压缩的tarball的内容(位于/ tmp中)移动到新的主目录中时,隐藏的文件不会复制(mv /tmp/home/rcook/* /home/rcook/
)。我如何获得MV来移动它们?
实际上,我认为问题不在于mv,而在于bash的混乱。如果我这样做:
mkdir a
mkdir b
touch a/.foo
touch a/bar
mv a/* b/
ls -a a/ b/
我看到了:
a/:
. .. .foo
b/:
. .. bar
a/.foo
没动。那么,如何获得*通配符来查找隐藏文件?
是的,我想我可以将tarball直接解压缩到主目录中,但是将tarball解压缩到home/rcook/...
,并且我想确保我.bashrc
用旧的自定义版本覆盖了new 等,并且知道如何查找和移动隐藏文件是一项值得的技能。有什么建议吗?
一些答案建议您做类似的事情mv src/.* dest/
。但是,我在测试目录上尝试了此操作,但出现了错误。从...开始:
rcook$ ls -a a/ b/
a/:
. .. bar .foo
b/:
. ..
rcook$ mv a/.* b/
mv: cannot move 'a/.' to 'b/.': Device or resource busy
mv: cannot remove 'a/..': Is a directory
rcook$ ls -a a/ b/
a/:
. .. bar
b/:
. .. .foo
我究竟做错了什么?