cp复制文件到多个目录下及强制覆盖
工作中有遇到要把一个文件拷贝到N个文件夹下,但是cp又没有这样的命令,怎么办,这时需要编写一个脚本,首先做实验如下:
[root@host1 ~]# mkdir test
[root@host1 ~]# cd test
[root@host1 test]# mkdir -p test_123 test_abc test_xyz testlog
[root@host1 test]# cd testlog/
[root@host1 testlog]# echo "Test log" > test.log
[root@host1 testlog]# cat cp.sh
#!/bin/bash
log=test.log
for dir in `find /root/test -name "test_*"`
do
cp $log $dir
done
[root@host1 testlog]# bash -x cp.sh
+ log=test.log
++ find /root/test -name 'test_*'
+ for dir in '`find /root/test -name "test_*"`'
+ cp test.log /root/test/test_xyz
+ for dir in '`find /root/test -name "test_*"`'
+ cp test.log /root/test/test_abc
+ for dir in '`find /root/test -name "test_*"`'
+ cp test.log /root/test/test_123
[root@host1 testlog]# cat /root/test/test_123/test.log
Test log
使用脚本写的命令,是可以强制覆盖原先有的文件的,而没有提示,我们验证下:
[root@host1 testlog]# echo "Test log once" > test.log
[root@host1 testlog]# bash cp.sh
[root@host1 testlog]# cat /root/test/test_123/test.log
Test log once
但是如果我们在命令行使用cp命令,则会提示是否需要覆盖:
[root@host1 testlog]# cp test.log /root/test/test_123/
cp:是否覆盖"/root/test/test_123/test.log"? y
解决这个问题的方法很简单,只需在前面加上"\":
[root@host1 testlog]# echo "Test log once again" > test.log
[root@host1 testlog]# \cp test.log /root/test/test_123/
[root@host1 testlog]#
[root@host1 testlog]# cat /root/test/test_123/test.log
Test log once again
这样就可以解决每次覆盖敲y的烦恼了,是不是很棒^_^
当然还可以取消别名或者修改别名,但是比较麻烦,用完之后还要恢复回来,如果忘记修改回来,对以后的工作可能会造成麻烦哦!
cp复制文件到多个目录下及强制覆盖的更多相关文章
- cp - 复制文件和目录
总览 cp [选项] 文件路径 cp [选项] 文件...目录 POSIX 选项: [-fipRr] GNU 参数(最短形式): [-abdfilprsuvxPR] [-S SUFFIX] [-V { ...
- Java_io_02_从一个目录拷贝文件到另一个目录下
java从一个目录拷贝文件到另一个目录下 http://www.cnblogs.com/langtianya/p/4857524.html ** * 复制单个文件 * @param oldPath ...
- Java中删除文件、删除目录及目录下所有文件(转)
原文链接:Java中删除文件.删除目录及目录下所有文件 知识点:File.delete()用于删除“某个文件或者空目录”!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除,具体代码示例如下: ...
- 关于DLL文件和EXE文件不在同一目录下的设置【转】
https://www.cnblogs.com/chaosimple/archive/2012/08/13/2636181.html 关于DLL文件和EXE文件不在同一目录下的设置 在开发程序结束后, ...
- Maven项目如何将自定义文件添加到META-INF目录下
Maven项目如何将自定义文件添加到META-INF目录下 学习了:https://blog.csdn.net/yangjiegreat/article/details/78698655 <bu ...
- C# 将引用的DLL文件放到指定的目录下
原文:C# 将引用的DLL文件放到指定的目录下 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sweety820/article/details/2 ...
- java中把文件拷贝到指定目录下最简单几种方法
java中把文件拷贝到指定目录下最简单几种方法 String savePath = "D:/file";// 文件保存到d盘的file目录下 File savefile = n ...
- cp 复制文件或目录
1. 命令功能 cp --copy files and directories.复制文件或目录. 2. 语法格式 cp [option] source des cp [option] sour ...
- Java 复制一个文件到另外一个目录下
因为项目部署在jboss上面,在上传一些图片的时候,把他上传到当前项目的下,比如:(这里是以Windows服务器为例的,当然linux也是一样的) D:\jboss-eap-6.4\domain\se ...
随机推荐
- 异步编程的两种模型,闭包回调,和Lua的coroutine,到底哪一种消耗更大
今天和人讨论了一下CPS变形为闭包回调(典型为C#和JS),以及Lua这种具有真正堆栈,可以yield和resume的coroutine,两种以同步的形式写异步处理逻辑的解决方案的优缺点.之后生出疑问 ...
- 原生js轮播图
//用原生js实现了一个简单的轮播图效果 <!DOCTYPE html><html> <head> <meta charset="UTF-8&quo ...
- matlab 2016a破解中文版安装教程
之前电脑重装过,所以要重新安装一个matlab,在大三的时候学过matlab,信息老师给的安装包,但是不知道放哪里去了,记忆力不好,找了些网上的教程和下载地址,真的是坑,一些都是不行的,在这里记录下m ...
- 2017携程Web前端实习生招聘笔试题总结
考察encodeURI encodeURI(), decodeURI()它们都是Global对象的方法. encodeURI()通过将某些字符的每个实例替换代表字符的UTF-8编码的一个或多个转义字符 ...
- 介绍三个Android支持库控件:TabLayout+ViewPager+RecyclerView
本文主要介绍如下三个Android支持库控件的配合使用: TabLayout:android.support.design.widget.TabLayout ViewPager:android.sup ...
- User Browsing Model简介
搜索引擎的点击日志提供了很多有价值的query-doc相关性信息,但是这些信息是有偏的,因为对于用户没有点击过的doc,我们无法确定其是否真实地被用户浏览过.即日志中记录的展现信息与实际的展现信息之间 ...
- iOS WebView你需要的问题答案
一.UIWebView 可以加载和显示某个URL的网页,也可以显示基于HTML的本地网页或部分网页: a. 加载 URL WebView = [[UIWebView alloc] initWithFr ...
- MySQL中字符串与数字比较的坑
公司项目代码中,某枚举字段数据库表中类型是char(1),在代码中,误以为是TINYINT,所以用数字筛选,后来发现结果不对.发现了一个现象,用数字0筛选会把所有的记录给筛选出来. 经过排查发现是在M ...
- Java 代码安全(一) —— 避免用String储存敏感数据
Java 代码安全(一) -- 避免用String储存敏感数据 如果重要的数据(保存在内存中)在使用后没有及时清理,有可能会导致信息泄漏.开发人员通常都回用String 保存敏感数据(密码, ...
- STM32学习笔记(五)——通用定时器计数延时
STM32定时器概述 STM32F40x系列总共最多有14个定时器,定时器分为三类:基本定时器.通用定时器和高级定时器.它们的都是通过计数来达到定时的目的,和51的定时器差不多,基本原理都是一样的,就 ...