方法一:通过完全复制然后删除指定类型的文件完成

Step1 使用cp命令复制所有文件

cp -r test/ test2

将测试目录test下所有内容完全复制到test2

Step2 组合使用find及xargs,将不用的文件删除 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
方法一:通过完全复制然后删除指定类型的文件完成 Step1 使用cp命令复制所有文件 cp -r test/ test2 将测试目录test下所有内容完全复制到test2 Step2 组合使用find及xargs,将不用的文件删除 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
方法一:通过完全复制然后删除指定类型的文件完成 Step1 使用cp命令复制所有文件 cp -r test/ test2 将测试目录test下所有内容完全复制到test2 Step2 组合使用find及xargs,将不用的文件删除 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