欢迎来到天天文库
浏览记录
ID:56873707
大小:47.50 KB
页数:9页
时间:2020-07-17
《find令查找并删除.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Linux下find命令用法详解+实例2010-02-2321:44用法总结如下:简化文件系统的管理与大多数UNIX命令一样,UNIX find 命令具有一长串令人生畏的选项和开关,它们会阻碍人们深入地学习该命令,但正是因为其范围广阔,真正的Explorer并不会被它们吓倒。一条好的通用原则在简化一个复杂问题时都会经过漫长的过程。启动一个xterm,并尝试执行下面的命令:$find.-name*.gif-execls{};-exec 参数中包含了真正有价值的操作。当查找到匹配搜索条件的文件时,-exec 参数定义了将对这些文件进
2、行什么操作。该示例告诉计算机进行如下操作:1.从当前文件夹开始往下搜索,紧跟在find 之后,使用点号(.)。2.定位所有名称以.gif结尾的文件(图形文件)。3.列出所有查找到的文件,使用ls命令。需要对 -exec 参数进行更深入地研究。当查找到匹配搜索条件的文件名时,find 命令执行ls{}字符串,用文件名和路径代替文本{}. 假设在搜索中查找到saturn.gif文件,find 将执行如下所示的命令:$ls./gif_files/space/solar_system/saturn.gif本文余下的内容建立在这条一般原则之
3、上:仔细地使用 find 命令可以让UNIX文件系统的管理工作变得更加容易。例如,如果您使用了 -fstype 参数,find 命令可以根据查找到的文件所处的文件系统的类型来对命令进行相应的处理。在 find命令对查找到的文件执行相应命令前将对您进行提示,这通常是非常有用的,您可以使用 -ok 参数告诉它继续执行该操作,接下来我们将对其进行介绍。可选的执行-ok是-exec参数的一个重要的替代项,它的行为和 -exec一样,但它会提示您是否要对文件运行相应的命令。假设您想要删除home目录中的大部分.txt文件,但希望能够逐个文件
4、地执行该操作。像UNIX中的 rm命令那样的删除操作是很危险的,因为当使用像find这样的自动化处理方式来查找文件时,它可能一不小心会删除重要的文件,您也许希望在删除这些系统查找到的文件之前对其进行仔细检查。下面的命令列出了您的home目录中所有的.txt文件。要删除这些文件,必须在 find 命令通过列出文件名提示您确认操作时输入 Y 或者 y:$find$HOME/.-name*.txt-okrm{};(第一种方式)$find/root/linshi/-name"yum*"-execrm-f{};(第二种方式)这个不经过确
5、认它列出了查找到的每个文件,并且系统将暂停以等待您输入 Y或者 y. 如果您按下 Enter 键,系统将不会删除该文件。清单1 显示了一些示例结果:清单1.示例结果????6、/./www/programs/MIKE.txt>??...系统将在每个问号之后暂停,在本示例中,每次都按下了Enter键以继续处理下一个文件。(没有删除任何文件。)-ok 参数允许您控制每个查找到的文件的自动化处理过程,这样就添加了一种避免自动删除文件的安全措施。如果在使用 -ok参数时涉及到过多的文件,那么一个好的方法是先运行带 -exec 的 find命令以列出所有将要删除的文件,然后在经过检查确保其中不会删除重要的文件后,再次运行该命7、令,其中用 rm代替 ls.-exec和 -ok都非常有用,您必须确定在当前情况下哪一个能够更好的工作。请记住,安全第一!创造性地使用find您可以使用 find命令执行各种各样的任务。本部分内容提供了使用 find命令来管理文件系统的几种方式的示例。为了保持简单,这些示例都避免了使用涉及通过管道将一个命令的输出传递到另一个命令的 -exec命令。然而,您完全可以根据自己需要在find命令的 -exec子句中使用这样的命令。清除临时文件您可以使用 find 命令来清除目录或子目录中在正常使用过程中生成的临时文件,这样可以节省磁盘空8、间。要实现该操作,请使用下面的命令:$find.(-namea.out-o-name'*.o'-o-name'core')-execrm{};括号中的文件掩码 标识出了需要删除的文件类型,每个文件掩码的前面都有 -name. 该列表可以扩展为
6、/./www/programs/MIKE.txt>??...系统将在每个问号之后暂停,在本示例中,每次都按下了Enter键以继续处理下一个文件。(没有删除任何文件。)-ok 参数允许您控制每个查找到的文件的自动化处理过程,这样就添加了一种避免自动删除文件的安全措施。如果在使用 -ok参数时涉及到过多的文件,那么一个好的方法是先运行带 -exec 的 find命令以列出所有将要删除的文件,然后在经过检查确保其中不会删除重要的文件后,再次运行该命
7、令,其中用 rm代替 ls.-exec和 -ok都非常有用,您必须确定在当前情况下哪一个能够更好的工作。请记住,安全第一!创造性地使用find您可以使用 find命令执行各种各样的任务。本部分内容提供了使用 find命令来管理文件系统的几种方式的示例。为了保持简单,这些示例都避免了使用涉及通过管道将一个命令的输出传递到另一个命令的 -exec命令。然而,您完全可以根据自己需要在find命令的 -exec子句中使用这样的命令。清除临时文件您可以使用 find 命令来清除目录或子目录中在正常使用过程中生成的临时文件,这样可以节省磁盘空
8、间。要实现该操作,请使用下面的命令:$find.(-namea.out-o-name'*.o'-o-name'core')-execrm{};括号中的文件掩码 标识出了需要删除的文件类型,每个文件掩码的前面都有 -name. 该列表可以扩展为
此文档下载收益归作者所有