(一)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 解包到目录 test3
tar zxvf test3.tgz -C test3

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

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

  1. Linux命令行批量删除文件(目录)

    快速-批量删除文件或目录 1-1.快速删除大文件夹(注意目录后的结束符'/')(对于含有海量文件的目录,不能直接rm -rf删除,这样效率很慢:) rsync -a --delete blank/ t ...

  2. linux命令(3):复制,剪切(文件和文件夹)

    一:文件命令:cp,mv linux 怎么样复制文件夹内所有文件到另一个文件夹?   cp -Rf /home/user1/* /root/temp/ 将 /home/user1目录下的所有东西拷到/ ...

  3. Python Linux 命令行执行脚本输出重定向print到日志文件

    reference: https://unix.stackexchange.com/questions/182537/write-python-stdout-to-file-immediately   ...

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

    1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...

  5. Linux命令行下常用svn命令

    1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...

  6. 在 Linux 命令行中使用和执行 PHP 代码

    PHP是一个开源服务器端脚本语言,最初这三个字母代表的是“Personal Home Page”,而现在则代表的是“PHP:Hypertext Preprocessor”,它是个递归首字母缩写.它是一 ...

  7. 在Linux主机使用命令行批量删除harbor镜像

     在Linux主机使用命令行批量删除harbor镜像 脚本使用说明: 此脚本不是万能脚本,根据自身环境要调整很多 能用harbor的域名就不要用IP 脚本前半部分可以套用,后半部分需一步一步试错,结合 ...

  8. 十五个最常用Linux命令行 - imsoft.cnblogs

    众多Linux管理员在使用Linux的时候会经常使用到很多Linux命令行,其中有绝大部分不是经常使用到的.在本文中主要为大家总结了经常使用的十五个最常用Linux命令行,希望对刚刚接触Linux命令 ...

  9. Linux命令行下cp,rm,mv命令的使用

    以下的内容来源于<鸟哥的私房菜> Linux命令行下的复制.删除与移动:cp,rm,mv cp(copy)复制        cp这个命令的用途很多,除了单纯的复制之外,还可以创建链接文件 ...

随机推荐

  1. OC第四课

    主要内容:NSString.NSArray.NSNumber 一.苹果公司的帮助文档(API) 学会查看API对于后续的编程有很好的帮助 进入方法: Xcode ->Help -> Doc ...

  2. VS2010类模板修改——添加版权、说明

    VS2010类模板修改——添加版权.说明 最近在学习使用Memcache,就想着用C#代码写一个实现Cache与Memcache以及将来若是能融入Redis切换使用的程序集...不过刚开始写代码,强迫 ...

  3. jmeter之自定义java请求性能测试

    一.环境准备         1.新建一个java工程         2.导入jar包:ApacheJMeter_core.jar     ApacheJMeter_java.jar         ...

  4. HTML5实现涂鸦板

    原文:HTML5实现涂鸦板 最近闲的,看了看html5,强大的绘图功能让我惊奇,于是,写了个小玩意---涂鸦板,能实现功能有:画画,改色,调整画笔大小 html5的绘图可以分为点,线,面,圆,图片等, ...

  5. [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)

    原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [顶]ORACLE PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日 ...

  6. WebApp 框架

    Razor 在WebApp 框架的运用   前面有两章介绍了WebApp框架<WebApp MVC,“不一样”的轻量级互联网应用程序开发框架>和<WebApp MVC 框架的开发细节 ...

  7. table居中方法之一:设置width,然后为style设置margin:auto

    比如: <table width="800px" style="margin:auto;">

  8. VBS学习日记(一个) 开始了解

    Vbs 一个 Windows 脚本,其代表 :Microsoft Visual Basic Script Editon.( 微软可视化BASIC 脚本版),VBS 是 Visual Basic 的的一 ...

  9. 转载:Linux Used内存到底到哪里去了?

    转自:http://blogread.cn/it/article/6264?f=wb2 有时在Linux下会碰到这样的问题:ps aux看到的RSS内存只有不到30M,但是free看到内存却已经使用了 ...

  10. C#使用COM搜索本地word文档关键字

    /// <summary> /// 检索根目录下的子目录及其所有文件,并在datagridview中显示文档名称及路径--递归调用 /// </summary> /// < ...