(一)Linux 删除当前目录及子目录中所有某种类型的文件

方法1 : 此方法不能处理目录中带空格的那些。

rm -rf `find . -name "*.example"`

Linux的文件名(目录也是一种文件)不建议带空格,命令行中不好处理这个空格。

方法2:组合使用 find 及 xargs

find test2/ -name '*.example' |xargs rm -rf

(xargs 是给命令传递参数的一个过滤器,可以将前一个命令产生的输出作为后一个命令的参数。)
即将 find 产生的输出(test2 目录下的所有 example 类型文件),作为 rm 的参数,从而完全删除。

方法3: 组合使用 find 和 delete 命令

find . -name *.example -delete

此方法可以看作是对 方法2 的简化改进 。

(二)Linux 复制指定目录及子目录下特定类型的文件

首先建立一个用于测试的目录,目录中包含用于测试的 *.txt 文件和 *.tes 文件。
目标是保持当前的目录结构,只把 txt 文件复制出来。

方法1:当不需要的文件类型较为单一时,可以通过完全复制然后删除指定类型的文件完成

// Step1 使用如下命令,将测试目录 test 下所有内容完全复制到 test2
cp -r test/ test2 

// Step2 组合使用find及xargs,将 *.tes 文件删除。
find test2/ -name '*.tes' |xargs rm -rf 

适用场景举例:把项目文件备份,要去除其中的 .svn 文件,可以采用这种方式。

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

// Step1 建立目录 test3
mkdir test3

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

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

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

转载于:https://www.cnblogs.com/yshl-dragon/p/3277841.html

用Linux命令行实现删除和复制指定类型的文件相关推荐

  1. linux 复制指定类型,用Linux命令行实现删除和复制指定类型的文件

    (一)Linux 删除当前目录及子目录中所有某种类型的文件 方法1 : 此方法不能处理目录中带空格的那些. rm -rf `find . -name "*.example"` Li ...

  2. Linux命令行下删除文件内容

    我们介绍的例子会修改原始文件,所以如果大家在平时使用或者练习的时候,最好先做好备份. 我们大家都知道,在 vim 中删除文件中的某几行很简单,只需要按下 dd 键即可.那么,在不主动打开文件的情况下, ...

  3. Linux命令行二:远程复制命令 scp

    在 linux 下 scp 命令主要用来在不同主机之间做数据(文件或者目录)的安全拷贝的.scp 命令可以将数据(文件或者目录)从本地计算机中拷贝到远程计算机中,或者从远程计算机中拷贝数据(文件或者目 ...

  4. Linux命令行模式下的复制和粘贴以及停止命令刷新

    安装gpm:yum install -y gpm* 开启gpm服务:systemctl start gpm 按住鼠标左键,选中想要复制的内容,松开就完成复制,再在复制的位置按右键就完成粘贴. 现象:打 ...

  5. linux 在终端修改文件,linux命令行学习(42):修改.bashrc文件

    可以通过修改启动文件改变环境. 下面通过修改.bashrc来改变环境,具体地说,就是在.bashrc中加入四条命令. 一..bashrc文件中原有的内容 我的centos系统中,普通用户主目录中的.b ...

  6. 详解Linux命令行下常用svn命令

    2019独角兽企业重金招聘Python工程师标准>>> 本文讲述了Linux命令行下常用svn命令的使用方法,希望对您有所帮助. 1.Linux命令行下将文件checkout到本地目 ...

  7. Linux命令行下常用svn命令的使用方法[转自:www.hackbase.com]

    本文讲述了Linux命令行下常用svn命令的使用方法,希望对您有所帮助. 1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如: ...

  8. linux php 指令,在 Linux 命令行中使用和执行 PHP 代码(一)

    PHP是一个开源服务器端脚本语言,最初这三个字母代表的是"Personal Home Page",而现在则代表的是"PHP:Hypertext Preprocessor& ...

  9. 在 Linux 命令行中使用和执行 PHP 代码(一)

    PHP是一个开源服务器端脚本语言,最初这三个字母代表的是"Personal Home Page",而现在则代表的是"PHP:Hypertext Preprocessor& ...

最新文章

  1. 使用Xmanager远程连接Linux RedHat 6.4图形桌面
  2. 美国不要求计算机背景的学校,美国哪些院校计算机专业不需要CS背景
  3. linux-git服务搭建
  4. win7右键点击文件夹进入命令窗口方法
  5. 依赖注入–字段vs构造函数vs方法
  6. mysql插入语句例句,一句简单的MySql插入语句怎么写 ?
  7. Elasticsearch 7.x 安装及配置
  8. linux查看缓存的文件,linux – 如何查看缓冲和缓存的数据
  9. ios-deploy out of date (1.9.4 is required). To upgrade with Brew: brew upgrade ios-deploy
  10. python redis模块常用_python redis 模块
  11. c#使用pdf控件,提示无效注册类
  12. My New Game2
  13. ssm框架的简要介绍
  14. 广义线性模型之指数分布族期望和方差的推导
  15. 屠蛟之路_重伤的屠蛟俊_ThirdDay
  16. 聚合供应链,一键导入百万商品
  17. 自控原理学习笔记-系统稳定性分析(2)-环路分析及Nyquist-Bode判据
  18. 保研经验分享:痛并快乐的成长经历
  19. 大数据工程师零基础起步——成长路线引入
  20. (十六)admin-boot项目之文件存储上传与下载minio

热门文章

  1. spring-boot-devtools 热部署
  2. 使用RabbitMQ实现延迟任务
  3. ssl问题解决的过程
  4. 从源码分析RocketMQ系列-MQClientInstance类详解
  5. Hadoop:启动与停止命令
  6. Linux环境下Redis安装配置步骤
  7. python设计模式18-备忘录模式
  8. python设计模式5-原型模式
  9. 使用jQuery来实现一个简单的ajax请求
  10. Python面试真题第二节