我正在使用 mv -v 在两个文件系统之间递归移动文件夹。似乎删除发生在最后(为了让 mv交易性?)。我没有足够的空间来保存同一文件夹的两个副本,有没有办法强制 mv 在完成后立即删除文件?
答案1
正如其他答案和评论所指出的,中没有这样的功能mv
。但rsync
有一个--remove-source-files
可以按照您想要的方式运行的开关,随着操作的进行不断从源中删除文件。
-a
如果您正在进行备份,我还建议您使用开关(“存档模式”)来保留(大多数)文件元数据(mv
如果移动是在文件系统之间,则不会这样做,因此rsync
在这方面实际上更好)。
答案2
不,手册页因为mv
不要指示任何以您描述的方式改变命令行为的开关。您必须研究其他命令或算法。
姓名
mv——移动(重命名)文件概要
mv [选项]...[-T] 源 目标
mv [选项]...源...目录
mv [选项]...-t 目录 来源...
描述
将 SOURCE 重命名为 DEST,或将 SOURCE 移动到 DIRECTORY。
长选项的强制参数对于短选项也是强制的。
--backup[=控制]
make a backup of each existing destination file
-b
like --backup but does not accept an argument
-f,--force
do not prompt before overwriting
-i,--interactive
prompt before overwrite
-n, --no-clobber
do not overwrite an existing file
如果指定 -i、-f 或 -n 中的多个,则只有最后一个会生效。
--strip-trailing-slashes
remove any trailing slashes from each SOURCE argument
-S, --suffix=后缀
override the usual backup suffix
-t,--目标目录 =目录
move all SOURCE arguments into DIRECTORY
-T,--无目标目录
treat DEST as a normal file
-u,--更新
move only when the SOURCE file is newer than the destination file or when the destination file is missing
-v,--详细
explain what is being done
- 帮助
display this help and exit
- 版本
output version information and exit
备份后缀为“~”,除非使用 --suffix 或 SIMPLE_BACKUP_SUFFIX 设置。版本控制方法可以通过 --backup 选项或 VERSION_CONTROL 环境变量选择。以下是值:
无,关闭
never make backups (even if --backup is given)
编号,t
make numbered backups
现有的,无
numbered if numbered backups exist, simple otherwise
简单,从不
always make simple backups