1、文件搜索,内置的的命令是find

用法: find [查找路径] 寻找条件 操作

默认路径为当前目录;默认表达式为 -print

2、主要参数:

-name  匹配名称
-perm 匹配权限(mode为完全匹配,-mode 为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n指 n天以内,+n指 n天以前)
-atime -n +n 匹配访问文件的时间(-n指 n天以内,+n指 n天以前)
-ctime -n +n 匹配修改文件权限的时间(-n指 n天以内,+n指 n天以前)
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比文件 f1新但比 f2旧的文件
--type b/d/c/p/l/f 匹配文件类型(后面的字母参数依次表示块设备、目录、字符道、链接文件、文本文件)
-size 匹配文件的大小(+50KB 为查找超过 50KB 的文件,而-50KB小于50KB的文件)
-prune 忽略某个目录
-exec …… {}\; find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格,{}表示查找出来的没一个文件,结尾必须是"\;"

3、按名字查找

在/opt目录下查找elasticsearch的配置文件
[root@bigdata-senior01 ~]# find /opt -name "elastic*.yml"
/opt/elasticsearch-6.5.1/config/elasticsearch.yml 查找过程中出现“权限不够”的提示:
[xu.dm@bigdata-senior01 ~]$ find /opt -name "elastic*.yml"
find: ‘/opt/modules/hadoop-3.1.0/logs/userlogs/application_1527345950418_0001_DEL_1527434392341’: 权限不够
find: ‘/opt/data/tmp/dfs/data’: 权限不够
find: ‘/opt/data/tmp/nm-local-dir/usercache_DEL_1527434391968/root’: 权限不够
find: ‘/opt/data/tmp/nm-local-dir/nmPrivate’: 权限不够
find: ‘/opt/data/tmp/nm-local-dir/usercache/hadoop’: 权限不够
/opt/elasticsearch-6.5.1/config/elasticsearch.yml
避免因为权限不够的提示,把查找错误提示转移到特定的目录中去。
[xu.dm@bigdata-senior01 ~]$ find /opt -name "elastic*.yml" 2> /dev/null
/opt/elasticsearch-6.5.1/config/elasticsearch.yml 按名字忽略大小写搜索
[root@vmstation ~]# find /etc -iname "SELINUX"
/etc/sysconfig/selinux
/etc/selinux

4、按文件大小查找

查找/home下大于10M的文件
[root@bigdata-senior01 ~]# find /home -size +10M
/home/data/kafka_2.12-2.0.0.tgz
查找小于1k的文件
[root@bigdata-senior01 ~]# find /home -size -1k

5、与,或条件,and,or

[root@bigdata-senior01 ~]# find /opt -name "*yml" -and -name "elastic*"
/opt/elasticsearch-6.5.1/config/elasticsearch.yml find / -user fred -or -user georg

6、其他

  find / -amin -10 # 查找在系统中最后10分钟访问的文件
  find / -atime -2 # 查找在系统中最后48小时访问的文件
  find / -empty # 查找在系统中为空的文件或者文件夹
  find / -group cat # 查找在系统中属于 groupcat的文件
  find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件
  find / -mtime -1 #查找在系统中最后24小时里修改过的文件
  find / -nouser #查找在系统中属于作废用户的文件
  find / -user fred #查找在系统中属于FRED这个用户的文件 在find命令中还可以使用“非”的关系来查找文件,如果我们要在/tmp目录中查找所有不属于panda的文件,使用一个简单的
  find /tmp ! -user panda   查找并显示文件的方法
find / -name "httpd.conf" -ls find   .   -perm -007   -exec ls -l {} \;   #查所有用户都可读写执行的文件同-perm 777
find   .   -name   "[a-z][a-z][0–9][0–9].txt"    -print   #查以两个小写字母和两个数字开头的txt文件
find   /home   -uid   +501                  列出/home目录内用户的识别码大于501的文件或目录
find   /home   -gid 501                   列出/home内组id为501的文件或目录

7、exec参数,{}表示查找出来的没一个文件,结尾必须是"\;"

在/opt目录下查找文件,并拷贝到但前目录下
[root@bigdata-senior01 ~]# find /opt -name "elastic*.yml" -exec cp {} ./ \;
找到文件并用ls -lh显示
[root@bigdata-senior01 ~]# find /opt -name "*.conf" -exec ls -lh {} \;
-rw-r--r--. 1 hadoop hadoop 1.1K 3月 30 2018 /opt/modules/hadoop-3.1.0/share/hadoop/yarn/yarn-service-examples/httpd/httpd-proxy.conf
-rw-r--r--. 1 hadoop hadoop 1009 3月 30 2018 /opt/modules/hadoop-3.1.0/share/hadoop/yarn/yarn-service-examples/httpd-no-dns/httpd-proxy-no-dns.conf

CentOS 文件搜索find的更多相关文章

  1. (八)Centos之文件搜索命令locate

    一.文件搜索命令locate locate优点是 搜索速度快 ,缺点是只能按文件名搜索: 1.1 新建一个文件   1.2 更新数据库 locate命令搜索的是 /var/lib/mlocate 下的 ...

  2. 4.Linux的文件搜索命令

    1.文件搜索命令  which 语法:which [命令名称] 范例:$which ls  列出ls命令所在目录 [chanshuyi@localhost ~]$ which ls alias ls= ...

  3. Everything(文件搜索神器)

    前言 Everything官网: http://www.voidtools.com/ 软件版本: V1.3.4.686 (x64) 操作系统: windows 7/10 搜索FTP(内网)资源 比如内 ...

  4. 第3章 Linux常用命令(3)_文件搜索命令

    3. 文件搜索命令 3.1 文件搜索:find (1)find命令 命令名称 find 命令所在路径 /bin/find 执行权限 所有用户 语法 find [搜索范围] [-选项] [匹配条件] - ...

  5. gcc编译时头文件和库文件搜索路径

    特殊情况:用户自定义的头文件使用#include"mylib"时,gcc编译器会从当前目录查找头文件 一.头文件 gcc 在编译时寻找所需要的头文件 :    ※搜寻会从-I开始( ...

  6. Linux常用命令学习2---(文件搜索命令locate find、命令搜索命令whereis which、字符串搜索命令grep、帮助命令man)

     1.文件搜索命令:locate [文件名]    在后台数据库中按文件名搜索,搜索速度比find快,耗费资源更少    例子:locate test.txt,就会显示文件名包含 test.txt的所 ...

  7. Linux文件搜索命令

    文件搜索命令:locate locate 文件名 在后台数据库中按文件名搜索,搜索速度很快(比find命令要快得多) locate命令所搜索的后台数据库的位置:/var/bin/mlocate 支持模 ...

  8. 超级文件搜索器(SuperSearch)

    写了个工具,各个分享渠道上传太难了,在这里分享给大家吧! 中文名称:超级文件搜索器 英文名称:  SuperSearch 适用对象:硬盘里文件达到数万至数千万级的用户 运行环境:WindowXP,Wi ...

  9. centos文件误删除恢复

    Centos 文件误删除 当意识到误删除文件后,切忌千万不要再频繁写入了,否则 你的数据恢复的数量将会很少. 而我们要做的是,第一时间把服务器上的服务全部停掉,直接killall 进程名 或者 kil ...

随机推荐

  1. Android:Gradle报错——No resource found that matches the given name (at 'dialogCornerRadius' with value '?android:attr/dialogCornerRadius')

    今天在使用科大讯飞语音识别SDK进行语音识别功能实现时,莫名的引入了这个错误.不得不吐槽Android Studio再引入别的包时太容易出现冲突,然后导致无法找到R文件,项目无法执行. 1. 具体报错 ...

  2. MYSQL order by排序与索引关系总结

    MySQL InnoDB B-Tree索引使用Tips 这里主要讨论一下InnoDB B-Tree索引的使用,不提设计,只管使用.B-Tree索引主要作用于WHERE和ORDER BY子句.这里讨论的 ...

  3. dva webpack 利用require.context加载多个model

    dva redux数据管理都在models,根据业务不同models可能会有几十甚至上百的 [模块.js], 每次在index.js使用 app.model(require('./models/exa ...

  4. 100万套PPT模板,包含全宇宙所有主题类型PPT,绕宇宙100圈,持续更新

    100万套PPT模板,包含全宇宙所有主题类型PPT(全部免费,都是精品,没有一张垃圾不好看的PPT,任何一张PPT拿来套入自己的信息就可以立马使用),绕宇宙100圈,任意一个模板在某文库上都价不菲.强 ...

  5. JDBC中使用Properties类及配置文件的操作

    同时发布于:https://blog.csdn.net/Activity_Time/article/details/81149710 一.properties配置文件 开发中获得连接的4个参数(驱动. ...

  6. JavaScript 常用控制流程代码范例

    if-else 的用法 var a = 33 if (a == 1){ console.log ('a等于1') } else if (a==2) { console.log ('a等于2') } e ...

  7. 饥饿的小易(枚举+广度优先遍历(BFS))

    题目描述 小易总是感觉饥饿,所以作为章鱼的小易经常出去寻找贝壳吃.最开始小易在一个初始位置x_0.对于小易所处的当前位置x,他只能通过神秘的力量移动到 4 * x + 3或者8 * x + 7.因为使 ...

  8. 【转载】OpenCV(C++ 与 Python 的比较)与 MATLAB 的比较

    原文作者 : Satya Mallick 译者 : aleen42 原文  https://aleen42.gitbooks.io/personalwiki/content/translation/o ...

  9. 【转】Backbone.js学习笔记(一)

    文章转自: http://segmentfault.com/a/1190000002386651 基本概念 前言 昨天开始学Backbone.js,写篇笔记记录一下吧,一直对MVC模式挺好奇的,也对j ...

  10. js中的数组对象排序

    一.普通数组排序 js中用方法sort()为数组排序.sort()方法有一个可选参数,是用来确定元素顺序的函数.如果这个参数被省略,那么数组中的元素将按照ASCII字符顺序进行排序.如: var ar ...