linux find命令强大之处
find pathname -options [-print -exec -ok ...]
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件运行该參数所给出的shell命令。对应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用同样,仅仅只是以一种更为安全的模式来运行该參数所给出的shell命令,在运行每个命令之前,都会给出提示,让用户来确定是否运行。
样例:
$ find /etc -name "host*" -print 在/etc文件夹中查找文件名称以host开头的文件;
$find . -name "[a-z][a-z][0--9][0--9].txt" -print 在当前文件夹查找文件名称以两个小写字母开头,跟着是两个数字,最后是.txt的文件;
另外find是分大写和小写的,假设不想分大写和小写,可用-iname替换-name.
-type f,表示仅仅找file,文件类型的,文件夹和其它字节啥的不要
find ./ -type f -exec grep iceskysl {} /dev/null \;
适用于正则查找,也适用于内容查找:
查找文件夹下的全部文件里是否含有某个字符串 ,xargs表示把后面的结果作为前面命令的參数:
find .|xargs grep -ri "IBM" 相当于grep –ri “IBM” ./
查找文件夹下的全部文件里是否含有某个字符串,而且仅仅打印出文件名称
find .|xargs grep -ri "IBM" -l 相当于grep –ril “IBM” ./
-exec作为find命令的參数,使用{}替换find的结果,末尾要加\;作为-exec命令的终结符:
拷贝文件夹下全部的.py文件:
find ./ -name *.py -exec cp {} /tmp/ \;
find ./ -name "*.txt" -exec grep "bin" {} \;
find ./ -name "*.txt" -exec rm {} \;
shell的内建命令exec将并不启动新的shell,而是用要被运行命令替换当前的shell进程,并且将老进程的环境清理掉,并且exec命令后的其他命令将不再运行。
当然,find ... | xargs rm -rf 也有一样的作用。
find能够有逻辑运算,特别是取非:
find ./ ! -name "extract*" #找出目录下全部不以extract開始的文件
find ./ -name "*.py" -o -name "*.sh" # or的缩写,找出目录下全部以py或者sh为后缀的文件
find ./ -name "*.java" -a -size +100k -mmin -10 #查找当前文件夹下(递归子文件夹)的全部名为*.java而且改动时间在10分钟之内的文件,-a是默认选项
find ./ ! -name "*.py" -o -name "*.sh" # 找出目录下全部不是以(py或者sh)为后缀的文件
find ./ ! -name "*.py" -exec rm {} \; #删除目录下全部不是以.py结尾的文件
linux find命令强大之处的更多相关文章
- Linux常用命令集合
常用的Linux命令,备忘 1 pwd 显示当前目录 命令格式: pwd [选项] 2 cd 更换目录 命令格式: cd [目录名] 例: 3 ls 显示当前目录内容 命令格式: ls [选项] [目 ...
- Linux常用命令_(安装包管理)
rpm命令: RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm -ivh rpm包安装rpm包rpm -Uvh rp ...
- Linux 入门命令
本文系转载:http://www.cnblogs.com/wwj9413/archive/2012/03/15/2638638.html#2929949 1.Linux进入与退出系统 进入Linux系 ...
- linux + shell 命令等
Linux命令[注意:建议用UltraEdit打开] 一.文件处理命令 1.命令格式与目录处理命令 ls –a[查看隐藏文件] ls –l[查看文件信息长格式显示] ls –d[查看指定目录的详细信息 ...
- linux netcat 命令详解
功能说明:强大的网络工具语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p< ...
- Linux常用命令之文件和目录处理命令
目录 1.Linux命令的普遍语法格式 2.目录处理命令 一.显示目录文件命令:ls 二.创建目录命令:mkdir 三.切换目录命令:cd 四.shell内置命令和外部命令的区别 五.显示当前目录命令 ...
- Linux系列教程(四)——Linux常用命令之文件和目录处理命令
这个系列教程的前面我们讲解了如何安装Linux系统,以及学习Linux系统的一些方法.那么从这篇博客开始,我们就正式进入Linux命令的学习.学习命令,首先要跟大家纠正的一点就是,我们不需要记住每一条 ...
- linux操作系统2 linux常用命令
知识内容: 1.目录及文件操作 2.用户.群组与权限 3.重定向.管道 4.磁盘存储管理 5.系统命令 6.其他命令 参考: http://man.linuxde.net/ Linux命令规则:目录名 ...
- Linux shell命令中expr
在Linux shell命令中expr虽然不是很起眼,但是它的作用是非常大的!到目前为止,我个人看来最大的作用就是两个——四则运算和字符串的操作. 先说四则运算,在Shell中四则运算不能简简单单的加 ...
随机推荐
- Java基础02 方法与数据成员
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在Java基础01 从HelloWorld到面向对象,我们初步了解了对象(obje ...
- Linux中TCP wrapper的使用
Linux中TCP wrapper的使用 tcpwrapper的目的是对那些访问控制功能较弱的服务提供访问控制功能要想了解访问控制就必须先知道服务监听的概念: 服务监听的两种方式: listen ...
- 用lisp来让计算机学会写作
大部分的代码.思路参考了<Ansi Common Lisp>P138~P141. 问题:给一篇英文文本,如何让计算机依据此文本而生成随机但可读的文本.如: |Venture| The Na ...
- CF 319D(Have You Ever Heard About the Word?-模拟)
D. Have You Ever Heard About the Word? time limit per test 6 seconds memory limit per test 256 megab ...
- poj 3263 Tallest Cow
一个压了很久的题目,确实很难想,看了别人的做法后总算明白了. 首先要明白一点,因为题目说明了不会有矛盾,所以题目给出来的区间是不能相交的,否则是矛盾的.(原因自己想) 然后既然区间只能是包含的,就很明 ...
- Bitmap Style Designer非官方说明
Bitmap Style Designer Bitmap Style Designer给我的第一印象就是简陋,估计也是为了赶工.大致体会了一下,还是能够使用.因为目前没有对此有比较详细的中文资料,就把 ...
- 【慎思堂】之JS牛腩总结
一 JS基础 1-定义 Javascript是一种脚本语言/描述语言,是一种解释性语言.用于开发交互式web网页,使得网页和用户之间实现了一种实时性的.动态的.交互性的关系,使网页包含更多活跃的元素和 ...
- 如何做实时监控?—— 参考 Spring Boot 实现
随着 微服务 的流行,相比较以前一个大型应用程序搞定所有需求,我们现在更倾向于把大型应用程序切分成多个微服务,服务之间通过 RPC 调用.微服务架构的好处非常多,例如稳定的服务变化较少,不会被非稳定服 ...
- 解决SVG跨浏览器兼容性问题
Raphael JS:SVG/VML+JS实现跨浏览器的矢量图形实现方案 http://blog.csdn.net/tiewen/article/details/8535748 SVG那些小事儿 ht ...
- [每日一题] 11gOCP 1z0-052 :2013-08-30 差异的增量备份.....................................................A1
转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/10669381 正确答案:AD 执行增量备份操作时,首先需要的是增量基本备份(increme ...