当前位置: 首页 > news >正文

linux 命令cp拷贝

linux复制指定目录下的全部文件到另一个目录中
复制指定目录下的全部文件到另一个目录中
文件及目录的复制是经常要用到的。linux下进行复制的命令为cp。
假设复制源目录 为 dir1 ,目标目录为dir2。怎样才能将dir1下所有文件复制到dir2下了
如果dir2目录不存在,则可以直接使用
cp -r dir1 dir2
即可。
如果dir2目录已存在,则需要使用
cp -r dir1/. dir2
如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求。
ps:dir1、dir2改成对应的目录路径即可。

cp -r /home/www/xxx/statics/. /home/www/statics
如果存在文件需要先删除
rm -rf /home/www/statics/*
否则会一个个文件提示你确认,使用cp -rf 也一样提示

--------------------------------------

linux下cp整个文件夹的文件到另一个文件夹
cp -ri A/B/* A1/B1/ 回车
若复制过程中询问是否覆盖,输入y按回车,若不想看到提示直接覆盖使用-rf
另外若A A1不在同一目录下,最好填绝对路径,就是/xxx/xxx/A/B/* /xxx/A1/B1/

实例:

cp -ri /home/server/tomcat/* /home/server/test/

cp: target `/home/server/test/' is not a directory
需要先创建目标文件夹
mkdir /home/server/test

--------------------------------------
copy命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。
语法: cp [选项] 源文件或目录 目标文件或目录
说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
该命令的各选项含义如下:
- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
- d 拷贝时保留链接。
- f 删除已经存在的目标文件而不提示。
- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
- l 不作拷贝,只是链接文件。

需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
例1
复制指定目录下的全部文件到另一个目录中
文件及目录的复制是经常要用到的。linux下进行复制的命令为cp。
假设复制源目录 为 dir1 ,目标目录为dir2。怎样才能将dir1下所有文件复制到dir2下了
如果dir2目录不存在,则可以直接使用
cp -r dir1 dir2
即可。
如果dir2目录已存在,则需要使用
cp -r dir1/. dir2
如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求。
ps:dir1、dir2改成对应的目录路径即可。
例2
复制指定文件到指定文件夹
首先建立一个用于测试的目录,用'tree'命令查看
可见,目录中主要包含用于测试的*.txt文件和用于充当炮灰的*。tes文件
目标是保持当前的目录结构,只把txt文件复制出来

方法一:当不需要的文件类型较为单一时,可以通过完全复制然后删除指定类型的文件完成
Step1 使用命令 cp -r test/ test2 将测试目录test下所有内容完全复制到test2

Step2 组合使用find及xargs,将*.tes文件删除
xargs是给命令传递参数的一个过滤器,可以将前一个命令产生的输出作为后一个命令的参数
命令find test2/ -name '*.tes' |xargs rm -rf, 即将find产生的输出(test2目录下的所有tes文件),作为rm的参数,从而完全删除
适用场景举例:把项目文件备份,要去除其中的.svn文件,可以采用这种方式

方法二:需要的文件为单一类型,带目录结构复制
这种情况下可以使用tar命令将指定类型的文件打包,然后解包,同样需要组合使用find和xargs

Step1 建立目录test3
mkdir test3

Step2 将指定类型文件带目录结构打包
find test/ -name '*.txt' |xargs tar czf test3.tgz

Step3 解包到目录test3
tar zxvf test3.tgz -C test3

适用场景:较为普遍,例如可以复制某个Web项目的所有html/jsp/php文件;或复制其他项目中特定类型的源文件

转载于:https://www.cnblogs.com/is-Tina/p/7701727.html

相关文章:

  • 屏蔽干扰CSS
  • [原]【开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位......
  • 前端(各种demo)三:优惠券,热区,等模块的实现(css方式)
  • 愤怒的TryCatch
  • asp.net core2.0网站的环境搭建和网站部署
  • 20171022校内训练
  • CentOS7配置php7.0支持redis
  • Balanced Substring
  • Python 元组 count() 方法
  • 全方位绕过软WAF攻略
  • 算法 - 排序数组中与x最近一点
  • java中的equals方法
  • 【BZOJ5060】魔方国 特判
  • set与multiset
  • 集体智慧编程笔记
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Java 23种设计模式 之单例模式 7种实现方式
  • Joomla 2.x, 3.x useful code cheatsheet
  • js 实现textarea输入字数提示
  • linux安装openssl、swoole等扩展的具体步骤
  • PermissionScope Swift4 兼容问题
  • Python连接Oracle
  • scrapy学习之路4(itemloder的使用)
  • Spring核心 Bean的高级装配
  • Sublime Text 2/3 绑定Eclipse快捷键
  • vue-router 实现分析
  • 当SetTimeout遇到了字符串
  • 通过几道题目学习二叉搜索树
  • 微信小程序:实现悬浮返回和分享按钮
  • 系统认识JavaScript正则表达式
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 转载:[译] 内容加速黑科技趣谈
  • k8s使用glusterfs实现动态持久化存储
  • kubernetes资源对象--ingress
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • # 安徽锐锋科技IDMS系统简介
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (二)linux使用docker容器运行mysql
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (汇总)os模块以及shutil模块对文件的操作
  • .Net Core与存储过程(一)
  • .NET 读取 JSON格式的数据
  • .Net的DataSet直接与SQL2005交互
  • .NET框架
  • [20181219]script使用小技巧.txt
  • [20190401]关于semtimedop函数调用.txt
  • [ai笔记4] 将AI工具场景化,应用于生活和工作
  • [AutoSar]BSW_Com02 PDU详解
  • [BJDCTF 2020]easy_md5