我想cp一个目录,但我不想覆盖任何现有的文件,即使它们比复制的文件更老。我希望它完全非交互式,因为这将是Crontab Bash脚本的一部分。什么好主意吗?
当前回答
cp -n
是你想要的。请参阅手册页。
其他回答
考虑使用rsync。
rsync -a -v --ignore-existing src dst
根据注释,rsync -a -v src dst是不正确的,因为它将更新现有的文件。
cp -n
是你想要的。请参阅手册页。
摘自手册页:
-n, --no-clobber
do not overwrite an existing file (overrides a previous -i option)
例子:
cp -n myoldfile.txt mycopiedfile.txt
某些版本的cp没有——no-clobber选项。在这种情况下:
echo n | cp -vipr src/* dst
这对我很有用 是n | cp -i SRC dest
推荐文章
- 如何从终端机发送电子邮件?
- 如何将文件指针(file * fp)转换为文件描述符(int fd)?
- Linux Bash中双&和分号有什么区别?
- 在Bash中模拟do-while循环
- 在Bash中将输出赋给变量
- 在SSH会话中查找客户端的IP地址
- C++ Linux的想法?
- 如何为Fedora安装g++ ?
- 如何在Mac OS X 10.6中使硬件发出哔哔声
- Linux删除大小为0的文件
- 从Docker容器获取环境变量
- Spring引导应用程序作为服务
- 如何重定向标准derr和标准输出到不同的文件在同一行脚本?
- Windows和Linux上的c++编译:ifdef开关
- 如何循环通过一个目录递归删除具有某些扩展名的文件