首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mv:目录不为空

mv:目录不为空
EN

Ask Ubuntu用户
提问于 2013-03-19 04:11:41
回答 7查看 610K关注 0票数 278

我希望将目录的内容移动到具有相同文件夹的另一个目录中。

下面是一个例子:

我有./backup,它有目录basetest。现在,我想将这些目录移动到./backupArchives

我用这个:

代码语言:javascript
复制
mv ./backup/* ./backupArchives

但我得到了错误

代码语言:javascript
复制
mv: cannot move './backup/base' to './backupsArchive/base': Directory not empty

我试过使用--force,但没有运气。当文件夹已经存在时,是否有一种移动它的方法?

注意:我只是想合并内容,没有覆盖。

EN

回答 7

Ask Ubuntu用户

回答已采纳

发布于 2013-03-19 07:51:21

虽然它的手册页没有记录它,但是如果目标目录包含文件,mv将拒绝将目录重命名为另一个目录。在您的情况下,这是一件好事,因为您最终希望将源的内容合并到目标中,而mv不会这样做。

使用rsync -a backup/ backupArchives/代替。在那之后,rm -rf backup/*

除了使用rsync之外,您还可以使用经典的

代码语言:javascript
复制
(cd backup && tar c .) | (cd backupArchives && tar xf -)

这能让你得到更多的怪人积分。

票数 313
EN

Ask Ubuntu用户

发布于 2013-10-10 16:07:45

如果你知道自己在做什么,那就快又脏:

代码语言:javascript
复制
cp -r ./backup/* ./backupArchives && rm -R ./backup/*
票数 80
EN

Ask Ubuntu用户

发布于 2013-03-19 04:27:16

在您移动的目录之后,需要* (表示任何文本或数字)。例如:

代码语言:javascript
复制
mv /var/www/* /recovery/wwwrecovery/

这就是全部,如果您移动的文件,而不是您移动为:

mv /var/www/index.php /recovery/index.php

另一种方法是使用tar打包文件夹内容:

代码语言:javascript
复制
tar -cvzpf backup.tar.gz /var/www 

那就把它移开其他文件。此外,我推荐这一步,因为焦油压缩它并使其体积变小。

若要将文件解压缩到另一个文件夹,请使用

代码语言:javascript
复制
tar -xvzpf /var/www/

如果需要复制到不属于自己的位置,请确保在您决定使用的任何选项之后,使用sudo命令在命令前面加上命令。

代码语言:javascript
复制
sudo tar -cvzpf backup.tar.gz /var/www/
票数 11
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/269775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档