Linux中复制命令cp的使用心得~

本文介绍了Linux中cp命令的常用用法,包括将指定目录下的全部文件复制到另一个目录,以及复制部分文件到另一个目录做备份的两种方法。前者根据目标目录是否存在有不同命令,后者分别通过完全复制后删指定文件和用tar命令打包解包实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cp命令的常用用法~
1.linux复制指定目录下的全部文件到另一个目录中。
假设复制源目录 为 dir1 ,目标目录为dir2。

[root@desktop0 test]# ll
total 0
drwxr-xr-x. 2 root root 19 Aug 25 05:14 dir1
drwxr-xr-x. 2 root root 19 Aug 25 05:14 dir2
[root@desktop0 test]# ls dir1 dir2
dir1:
file1

dir2:
file2

如果dir2目录不存在,则可以直接使用
cp -r dir1 dir2
即可。
如果dir2目录已存在,则需要使用
cp -r dir1/. dir2
注:这个/.代表dir1里面的所有文件;
如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求。

有一个列子。复制一个目录里的部分文件到另一个目录中,当做备份。
方法一:当不需要的文件类型较为单一时,可以通过完全复制然后删除指定类型的文件完成。
Step1 使用命令 cp -r test/. test2 将测试目录test下所有内容完全复制到test2
Step2 组合使用find及xargs,将*.tes文件删除
xargs是给命令传递参数的一个过滤器,可以将前一个命令产生的输出作为后一个命令的参数
命令find test2/ -name ‘*.txt’ |xargs rm -rf, 即将find产生的输出(test2目录下的所有txt文件),作为rm的参数,从而完全删除.

方法二:需要的文件为单一类型,带目录结构复制
这种情况下可以使用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文件;或复制其他项目中特定类型的源文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值