Linux cp 命令,临时命名文件,直到复制完成将整个文件复制到目标
Linux cp command, temporary naming the file until copy is done copying the whole file to destination
有没有办法,当我们在 Linux 上使用复制命令时:
$ 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
有没有办法,当我们在 Linux 上使用复制命令时:
$ 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