linux拷贝命令参数 linux命令拷贝文件( 三 )


需要说明的是 , 为防止用户在不经意的情况下用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和xargsStep1 建立目录test3mkdir test3Step2 将指定类型文件带目录结构打包find test/ -name '*.txt' |xargs tar czf test3.tgzStep3 解包到目录test3tar zxvf test3.tgz -C test3
【linux拷贝命令参数 linux命令拷贝文件】linux拷贝命令参数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux命令拷贝文件、linux拷贝命令参数的信息别忘了在本站进行查找喔 。

推荐阅读