如何解决Linux cp命令,临时命名文件,直到复制完成为止,然后将整个文件复制到目标位置
$ cp ../dir_a/a.txt ../dir_b/a.txt
要在复制开始复制时将文件a.txt命名为a.tmp.txt,然后在复制所有文件时将其自动重命名为a.txt原始名称?我有一个Java程序,在完全从共享复制到共享之前,它消耗文件的速度太快,因此请注意消耗所有文件:
$ cp ../dir_a/a.txt ../dir_b/a.txt
$ ls ../dir_b/ #copying in progress
$ a.tmp.txt
$ ls ../dir_b/ #copying done
$ a.txt
谢谢
解决方法
复制到临时名称,然后重命名。重命名是原子的,因此不会有任何部分内容。
cp ../dir_a/a.txt ../dir_b/a.txt.temp
mv ../dir_b/a.txt.temp ../dir_b/a.txt
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。