相关疑难解决方法(0)

如何让 mv (或 * 通配符)移动隐藏文件?

我正在将我的主目录从旧系统迁移到新系统,我制作的 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)

command-line bash

174
推荐指数
6
解决办法
19万
查看次数

标签 统计

bash ×1

command-line ×1