[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’ 出 ...
随机推荐
- LCP 07.传递消息
题目 小朋友 A 在和 ta 的小伙伴们玩传信息游戏,游戏规则如下: 有 n 名玩家,所有玩家编号分别为 0 - n-1,其中小朋友 A 的编号为 0 每个玩家都有固定的若干个可传信息的其他玩家(也可 ...
- LeetCode:数组专题
数组专题 有关数组的一些 leetcode 题,在此做一些记录,不然没几天就忘光光了 二分查找 双指针 滑动窗口 前缀和/差分数组 二分查找 本文内容摘录自公众号labuladong中有关二分查找的文 ...
- 洛谷 P2120 [ZJOI2007] 仓库建设
链接: P2120 题意: 有 \(n\) 个点依次编号为 \(1\sim n\).给出这 \(n\) 个点的信息,包括位置 \(x_i\),所拥有的的物品数量 \(p_i\),在此建设一个仓库的费用 ...
- Unity的Deferred Shading
什么是Deferred Shading Unity自身除了支持前向渲染之外,还支持延迟渲染.Unity的rendering path可以通过Edit/Project Settings中的Graphic ...
- Ubuntu 16.04 下 旋转显示器屏幕 竖屏显示
xrandr -o left $ xrandr -o left 向左旋转90度 $ xrandr -o right 向右旋转90度 $ xrandr -o inverted 上下翻转 $ xrandr ...
- hdu 5108 Alexandra and Prime Numbers(水题 / 数论)
题意: 给一个正整数N,找最小的M,使得N可以整除M,且N/M是质数. 数据范围: There are multiple test cases (no more than 1,000). Each c ...
- 开发笔记-----Ajax 基础使用
一.GET 方式的用法: 1 <!--html --> 2 <div class="layui-form"> 3 <div class="l ...
- 创建双向 CA x509 验证证书 kube-apiserver
1. 设置 kube-apiserver 的 CA 证书相关的文件和启动参数 使用 OpenSSL 工具在 Master 服务器上创建 CA 证书和私钥相关的文件: # openssl genrsa ...
- js点击事件 登录
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- SQL注入之猫舍之sqlmap的使用
先说一下最常用的基础指令 -u 指定注入点(一般为url栏的网址) --dbs 跑库名 --tables 跑表名 --columns 跑字段名 --dump 枚举数据(高危指令,容易进去) -D 库名 ...