[linux] mv: cannot move $ to $: Directory not empty
最近测试某流程时,跑的过程报错了,于是检查脚本修改后重新测试。脚本是改过来了,但在shell中运行某步时碰到了如题报错!
$ mv MP_genus_network_files/ tax_network
mv: cannot move `MP_genus_network_files/' to `tax_network/MP_genus_network_files': Directory not empty
这个错误是这样的:mv命令移动的东西如果在目标路径中已存在(不为空),那么它是移动不了的,这是mv的一种保护机制,防止错误覆盖。
但是这一点发生在流程中就不友好了。由于各种各样的原因,分析人员运行到中间步骤很可能报错,但过程文件已经生成了,如果修改脚本后再次运行的话就覆盖不了,导致流程又一次强制报错退出,这可不是我们想要的。怎么在自动化流程中设置这个因素呢?条件判断的话又长又臭,而且那么多文件目录没法一一判断。这里最好用rsync 来代替mv命令。
rsync -a MP_genus_network_files/ tax_network/MP_genus_network_files
注意要将该目录文件作为目标目录的子目录的话,目标目录也要加上子目录的名称,否则加入的只是子目录中包含的文件。
复制后不忘了删除原目录文件:
rm -rf MP_genus_network_files/
很显然,这里用cp -r也一样实现,那么用rsync和cp备份文件到底有什么区别呢?因为这不是本篇重点,只是简单列出:
rsync相当于从源到目的拷贝文件,而且可以设置参数,保持很多文件和文件夹的属性。对于拷贝文件实现备份,rsync总体而言比cp要好,因为rsync只拷贝那些改动了的内容。但这也不是绝对的,比如cp -u也可以实现同样的效果。
Ref: https://askubuntu.com/questions/269775/mv-directory-not-empty
Ref:https://www.crifan.com/linux_command_rsync_vs_cp/
[linux] mv: cannot move $ to $: Directory not empty的更多相关文章
- linux mv命令详解
Linux mv命令 Linux mv命令用来为文件或目录改名.或将文件或目录移入其它位置. 用法: mv [选项]... [-T] 源文件 目标文件 mv [选项]... 源文件... 目录 mv ...
- Linux mv 命令的10个实用例子
当你想要将文件从一个位置移动到另一个地方并且不想复制它,那么mv 命令是完成这个任务的首选.本文中总结了十个Linux mv 命令的实例,希望能给大家带来一些帮助. 初识 mv 命令 mv 命令是一个 ...
- /Users/XX/Library/Developer/Xcode/DerivedData/XX.app/xxsdk.bundle Directory not empty
今天在升级xcode后真机调试偶然发现这个问题,查了一些资料发现还是不能完全解决 解决方法:参考的(http://blog.csdn.net/alincexiaohao/article/details ...
- OC报错,after command failed: Directory not empty
Directory not empty这个错误经常出现,出现的原因也很多,今天主要记录一下楼主自己碰到的这种情况. 全部错误提示: error: couldn't remove ‘路径/app-fzy ...
- mv,Directory not empty不能目录覆盖
一.mv /test1/* /test2/test1rm -rf /test1 二. You can however use rsync with the --remove-source-files ...
- 【初级】linux mv 命令详解及使用方法实战
mv:移动文件或者将文件改名 前言: mv是move的缩写,顾名思义是移动.它的功能既能移动文件/文件夹,又可以用来改名,经常用来做文件的备份,比如再删除之前,先给文件做备份(保护数据)也是linux ...
- linux mv命令
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...
- Get To Know Linux: The /etc/init.d Directory
If you use Linux you most likely have heard of the init.d directory. But what exactly does this dire ...
- Linux系统cp:ommiting directory xxx问题解决
在linux下执行复制命令: cp nginx-1.16.0 nginx-1.16.0-recovery 报错: cp: omitting directory ‘./nginx-1.16.0’ 出 ...
随机推荐
- Java:阻塞队列
Java:阻塞队列 本笔记是根据bilibili上 尚硅谷 的课程 Java大厂面试题第二季 而做的笔记 1. 概述 概念 队列 队列就可以想成是一个数组,从一头进入,一头出去,排队买饭 阻塞队列 B ...
- PDF转图片部分公式字符丢失问题解决的爬坑记录
现象 PDF教材导出到系统中,由程序将PDF转为图片后合并成一张大图供前端标注,但是在标注数学和化学学科的时候且源文件是PDF的情况下出现公式部分字符丢失的情况,如下图 原件 转换后效果 WTF! 转 ...
- sort命令的学习与实践
一.用man sort 查看sort的帮助文档 *sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. [rocrocket@ro ...
- java性能优化常用工具jps、jstat、jinfo
jps:虚拟机进程状况工具 jps可以用来查看虚拟机进程,基本等同于ps -ef|grep java #查看jps的使用文档 [root@localhost script]# jps -help us ...
- 小入门 Django(做个疫情数据报告)
Django 是 Python web框架,发音 [ˈdʒæŋɡo] ,翻译成中文叫"姜狗". 为什么要学框架?其实我们自己完全可以用 Python 代码从0到1写一个web网站, ...
- JMeter源码导入到Intellij IDEA (八)
亲测:jmeter源码导入Intellij IDEA,导入,编译,运行! 一.环境:windows10操作系统,jdk1.8,Intellij IDEA 2018.3,jmeter5.0 下载jmet ...
- 解决IE6,边框问题
IE6是一个让人蛋疼而又无奈的浏览器,这次不经意间发现了一个BUG的解决发放,给大家分享一下 直接中部代码<input type="text" value="&qu ...
- java web 在线编辑Excel -- x-spreadsheet
--- x-spreadsheet --- 文档 https://hondrytravis.com/x-spreadsheet-doc/ <%@ page language="java ...
- 利用opencv进行简易的拍照并处理照片
今天用python写了一个调用摄像头拍照并对图片进行素描化或动漫化的小demo. 首先我的环境是:PyCharm+python3.8+opencv-python(4.4.0.42) 我们分析一下思路, ...
- C#练习3
using System; class Test { static void F(params int[]args) { Console.WriteLine("# of argument:{ ...