我正在将我的主目录从旧系统迁移到新系统,我制作的 tarball 包含所有内容,包括像 .bashrc 这样的隐藏文件。但是,当我将解压缩的 tarball(位于 /tmp 中)的内容移动到我的新主目录时,隐藏文件不会复制 ( mv /tmp/home/rcook/* /home/rcook/
)。我怎样才能让 mv 移动它们?
实际上,我认为问题不在于 mv,而在于 bash 的 globbing。如果我这样做:
mkdir a
mkdir b
touch a/.foo
touch a/bar
mv a/* b/
ls -a a/ b/
Run Code Online (Sandbox Code Playgroud)
我看到这个:
a/:
. .. .foo
b/:
. .. bar
Run Code Online (Sandbox Code Playgroud)
a/.foo
没动。那么如何获取 * 通配符来查找隐藏文件呢?
是的,我想我可以直接解压缩包到我的主目录,但将压缩包解压缩到home/rcook/...
了,我要确保我覆盖新.bashrc
等与旧,定制版本,并知道如何查找和移动隐藏文件是一项有价值的技能。建议?
一些答案建议做类似的事情mv src/.* dest/
。但是,我在我的测试目录上尝试了这个并出现了错误。从...开始:
rcook$ ls -a a/ b/
a/:
. .. bar .foo
b/:
. ..
rcook$ mv a/.* b/
mv: cannot move 'a/.' to …
Run Code Online (Sandbox Code Playgroud)