find在Linux系统中和其它工具,如sed、awk、grep等结合起来用,非常有用。

1、列出系统中所有属于root用户的“set uid”文件

#find / -perm 4755 –uid 0 –type f –print
 

2、用inode号查找文件

#find / -inum 1877432         //从根目录开始查找inode号为1877432的文件
 

3、对查找到的每个文件执行某个命令

#find . -name "*.c" -exec wc -l '{}' ;              //对找到的每个文件执行wc -l命令统计行数
#find . -name "*.srt" -execdir cp '{}' /tmp ;  //拷贝当前目录包括子目录中的所有srt文件到/tmp目录下
#find . -name "*.srt" -execdir cp '{}' /tmp ';'
#find . -name "*.srt" -execdir cp {} /tmp ; 
相当于
#cp file1 /tmp;cp file2 /tmp;...
 

4、对查找到的所有文件执行某个命令

#find . -name "*.c" -exec wc -l '{}' +             //对查找到的所有文件执行wc -l命令 ,因而会打印总数,等于是把所有找到的文件作为一个字符串替换 {},然后执行命令
 
进一步的解释:
1.'{}'用来替换find查找的每个结果,需要用或单引号防止shell解释;
2. ; 也需要或单引号防止shell解释
3.+最后构建的命令行参数形式类似于xargs

5、使用通配符/正则表达式查找文件

#find . -name "*.c"    //通配符方式
#find . -regex ".*[.]c"   //正则表达式

6、多条件组合查找(-a,-o)

#find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h  //-o是or的意思
#find /home/cb/mp3 -name *.mp3 -o -name *.wav -o -name *.ape -o -name *.wma >/home/cb/mp3/mplayer.lst
 

7、按文件尺寸查找

#find ~/software -size +5000k    //找出software目录下尺寸大于5000k的文件
 
进一步解释:
-size:凡是+,就是>,-则是<
 

8、按修改时间查找

#find /home -mmin +60   //找出home目录下最近60分钟之前(1小时以前)有变动的文件或目录
#find /home -mtime -2    //找出home目录下最近2天之内(48小时以内)有变动的文件或目录
 
进一步解释:
-mmin,-mtime:凡是+号,就是xxx分钟(或天)之前;凡是-号,则是xxx分钟(或天)之内
 

9、防止搜索其它分区

#find / -xdev -name *.mp3   //-xdev用来防止搜索其它分区。
 

10、防止搜索子目录

#find ./ -maxdepth 1 -name "*.ass" -exec sh -c "sed 's/N.*$//g' '{}' >./cn/'{}'" ;
 

11、批量文件编码转换

PROJECT_DIR=.
BUILD_DIR=./build/java
#find $(PROJECT_DIR)/config -name '*.sql' -type f -exec sh -c "iconv -f utf8 -t gb18030 '{}' | unix2dos > $(BUILD_DIR)/'{}'" ;
 
上述用法在跨平台的mysql数据库应用中有用。

=-=-=-=-=
Powered by Blogilo

find的用法的更多相关文章

  1. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  2. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  3. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  4. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  5. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

  6. [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...

  7. 【JavaScript】innerHTML、innerText和outerHTML的用法区别

    用法: <div id="test">   <span style="color:red">test1</span> tes ...

  8. chattr用法

    [root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...

  9. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

  10. [转]thinkphp 模板显示display和assign的用法

    thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...

随机推荐

  1. EXT 可选择图片列表的表单控件实现

    先看一下表单效果: 点击图标,显示图标列表: 实现代码: var appform = new Ext.form.FormPanel({ id: 'appform', cardStep:0, url:A ...

  2. 蓝桥杯-四平方和-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  3. Linux学习之竿头直上

    今天第二讲昨天我们讲解了10基础命令,今早上我继续为大家讲解10个linux常见命令 今天主要讲解与网络相关的命令和软件安装的命名 NetworkManager 与rpm 在windows中我们查看网 ...

  4. postgres导入其他数据库数据

    最近对postgres数据库进行深入研究,将原来项目中使用的sqlserver数据库中的数据表导入postgres,网上搜索postgres数据导入,除空间数据库可以通过PostGIS 2.0 Sha ...

  5. Idea+maven+tomcat部署第一个tomcat项目

    IDEA创建Maven项目及部署发布,IDEA配置Tomcat,创建java源文件夹. 此教程适合刚刚使用IDEA的新手. 工具/原料   IntelliJ IDEA 2016.3.4 apache- ...

  6. css浮动布局,浮动原理,清除(闭合)浮动方法

    css浮动 1.什么是浮动:在我们布局的时用到的一种技术,能够方便我们进行布局,通过让元素浮动,我们可以使元素在水平上左右移动,再通过margin属性调整位置 2.浮动的原理:使当前元素脱离普通流,相 ...

  7. Python库的安装方法

    Python库的安装方法 Python的解释器CPython是开源的,我们可以下载查看其源代码,同时,Python语言的各种库也都是开源的.利用Python语言编程,可用的库有很多,在Python官方 ...

  8. C++中发声函数Beep详解

    By zhcs 以前,我听过一个神犇用C++函数做的音乐,当时的心里就十分激动:哇,好厉害啊,好神啊. 这次,我终于通过自己无助的盲目的摸索.研究,写出了这篇文章(此时我的内心是鸡冻的233) 下面是 ...

  9. Oracle 12C 新特性之非分区表转分区表online clause(不停业务+索引有效)

    12c以前非分区表需要转换为分区, 如果不停业务的话可以使用在线重定义,只有在表进行切换的时候会有短暂的锁表. 12c 中alter table online clause 实现了表上现有的索引有效, ...

  10. Redis学习-String

    命令  描述  复杂的  返回值 SET key value [EX seconds] [PX milliseconds] [NX|XX] 将字符串值value关联到key.如果key已经持有其他值, ...