find命令简介:

实时、精确、支持众多查找标准

遍历指定目录中的所有文件完成查找,速度慢;

1.命令格式:

locate filename 直接跟需要查找的文件  eg locate passwd  系统文件数据库中所有

包含passwd的文件。

find 查找路径 查找标准 查找到以后的处理动作

 查找路径:默认为当前目录

 查找标准:默认为指定路径下的所有文件

 处理动作:默认为显示到屏幕上

eg:find /etc -name passwd  表示在etc目录下查找名字为passwd的文件

2.命令功能:

locate:(查找命令)

非实时,模糊匹配,查找是根据全系统文件数据库进行的;

# updatedb, 手动生成文件数据库

速度快

find:

实时

精确

支持众多查找标准

遍历指定目录中的所有文件完成查找,速度慢;

3.命令参数:

-name 'FILENAME':对文件名作精确匹配

文件名通配:

*:任意长度的任意字符

?

[]

-iname 'FILENAME': 文件名匹配时不区分大小写

-regex PATTERN:基于正则表达式进行文件名匹配

-user USERNAME: 根据属主查找

-group GROUPNAME: 根据属组查找

-uid UID: 根据UID查找

-gid GID: 根据GID查找

-nouser:查找没有属主的文件

-nogroup: 查找没有属组的文件

-type    find /tmp -type d  查找/tmp下的目录文件包括/tmp本身

f: 普通文件

d:目录文件

c:字符设备文件

b:块设备文件

l:链接文件

p:管道设备文件

s:套接字设备文件

-size [+|-]    +10k表示大于10k的文件  -10k表示小于10k的文件

find /tmp -size 10k 表示查找/tmp下的大小为10k的文件

默认没指定单位的话,为字节b

1k 所有小于1k的都会被匹配到,1M 所有小于1M都会被匹配到

#k  k=kb    #表示数字  k为小写

#M  M=Mb    #表示数字  M大写

#G  G=Gb    #表示数字  G大写

  组合条件: 如果查找时没有指定组合关系,默认为与关系

     find /tmp -nouser -a -type d -ls  

     find /tmp -not -type d 查找非目录的文件

-a:与

-o:或

-not:非

eg: 查找/tmp目录下,不是目录,并且还不能为套接字类型的文件;

find /tmp -not -type d -a -not -type s

eg: 查找/tmp/test目录下,属主不是user1,也不是user2的文件;

        find /tmp -not -user user1 -a -not -user user2

*相当于  find /tmp -not \( -user user1 -o -user user2 \)  

    * 谨记:()左右需要空格符隔开

按时间天数计算:

-mtime   修改时间

-ctime   改变时间

-atime   访问时间

[+|-]#  #表示数字  +5表示超过5天  -5表示在五天内

按分钟数计算:

-mmin

-cmin

-amin

[+|-]#  #表示数字 +5表示超过5分钟  -5表示5分钟内

-perm MODE:精确匹配   -perm 644 表示精确匹配,必须是644权限

/MODE: 任意一位匹配即满足条件 -perm /644表示只要有一位符合就可以

-MODE: 文件权限能完全包含此MODE时才符合条件

-644

644: rw-r--r--

755: rwxr-xr-x

750: rwxr-x---

find ./ -perm /022  表示组或者其他人有写权限 0表示不做匹配.

find ./ -perm -001  查找其他用户有执行权限的文件

 动作:

-print: 显示(-print也是属于默认动作,即不指定动作默认就是显示)

-ls:类似ls -l的形式显示每一个文件的详细

-ok COMMAND {} \; 每一次操作都需要用户确认  {}表示引用前面所找到的文件

-exec COMMAND {} \;每一次操作不需要用户确认  {}表示引用前面所找到的文件

find ./ -type d -ok chmod +x {} \; 表示找到目录文件并赋予执行权限

   find ./ -perm -020 -ok mv {} {}.new \; 找到当前目录下属组具有写权限的文件,并       修改其文件名为  原文件.new 。

4.命令实例:   

       1、查找/var目录下属主为root并且属组为mail的所有文件;

find /var -user root -a -group mail

[root@xuelinux test]#  find /var -user root -a -group mail

/var/spool/mail

       2、查找/usr目录下不属于root,bin,或student的文件;

find /usr -not -user root -a -not -user bin -a -not -user student

或者 find /usr -not \( -user root -o -user bin -o -user student \) 括号左右必须有空格

[root@xuelinux usr]# find /usr -not \( -user root -o -user bin -o -user student \)

/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache

[root@xuelinux usr]# find /usr -not -user root -a -not -user bin -a -not -user student

/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache

       3、查找/etc目录下最近一周内内容修改过且不属于root及student用户的文件;

 find /etc -mtime -7 -a -not \( -user root -o -user student \)

      或者  find /etc -mtime -7 -a -not -user root -a -not -user student

       4、查找当前系统上没有属主或属组且最近1天内曾被访问过的文件,并将其属主

          属组均修改为root;

find / \( -nouser -o -nogroup \) -a -atime -1 -exec chown root:root {} \;

       5、查找/etc目录下大于1M的文件,并将其文件名写入/tmp/etc.largefiles文件中;

find /etc -size +1M >> /tmp/etc.largefiles

[root@xuelinux ~]# find /etc -size +1M >> /tmp/etc.largefiles

[root@xuelinux ~]# cat /tmp/etc.largefiles

/etc/selinux/targeted/modules/active/policy.kern

/etc/selinux/targeted/policy/policy.24

       6、查找/etc目录下所有用户都没有写权限的文件,显示出其详细信息;

find /etc -not -perm /222 -ls

[root@xuelinux ~]# find /etc -not -perm /222 -ls

493    4 -r--r-----   1 root     root         4002 3月  2  2012 /etc/sudoers

2279    4 ----------   1 root     root         2541 10月 22 23:10 /etc/shadow

960    4 -r--r--r--   1 root     root          460 8月 17  2013 /etc/dbus-1/system.d/cups.conf

523  172 -r--r--r--   1 root     root       172980 10月 10 08:25 /etc/pki/ca-trust/extracted/java/cacerts

519  308 -r--r--r--   1 root     root       314336 10月 10 08:24 /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt

521  184 -r--r--r--   1 root     root       185220 10月 10 08:25 /etc/pki/ca-trust/extracted/pem/email-ca-bundle.pem

520  228 -r--r--r--   1 root     root       232342 10月 10 08:24 /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem

522  184 -r--r--r--   1 root     root       185023 10月 10 08:25 /etc/pki/ca-trust/extracted/pem/objsign-ca-bundle.pem

51    4 ----------   1 root     root         2415 10月 22 23:10 /etc/shadow-

43    4 ----------   1 root     root          829 10月 22 23:10 /etc/gshadow-

1091    4 -r-xr-xr-x   1 root     root         2134 11月 24  2013 /etc/rc.d/init.d/lvm2-lvmetad

1092    4 -r-xr-xr-x   1 root     root         2665 11月 24  2013 /etc/rc.d/init.d/lvm2-monitor

1090    4 -r-xr-xr-x   1 root     root         1340 11月 24  2013 /etc/rc.d/init.d/blk-availability

129    4 ----------   1 root     root          841 10月 22 23:10 /etc/gshadow

1149    4 -r--r--r--   1 root     root          324 11月 22  2013 /etc/ld.so.conf.d/kernel-2.6.32-431.el6.i686.conf

962    4 -r--r--r--   1 root     root          146 8月 17  2013 /etc/pam.d/cups

本文转自wang650108151CTO博客,原文链接:http://blog.51cto.com/woyaoxuelinux/1865216 ,如需转载请自行联系原作者

linux命令:find文件查找工具相关推荐

  1. linux c 文件查找字符串,Linux基础之文件查找工具:locate、find

    引言: 在学习Linux中的文件查找时,突然联想到平时用的搜索引擎,在生活中我们想获取什么信息,在google等搜索引擎里面敲入就能列出符合我们条件的相关信息.如果我们不满意搜索结果可以进一步精确我们 ...

  2. Linux命令之文件查找:find 命令详解

    一.说明 find 命令是一个很常用的命令,用于在指定路径下查找文件,相似的命令还有 which.whereis.locate 等. 扩展: 1. which 命令只会查找环境变量中的文件位置,例如: ...

  3. Linux文件查找工具之find “大宝剑”--转载

    原文地址:http://xinzong.blog.51cto.com/10018904/1749465 一.文件查找工具常用软件 locate: locate命令其实是find -name的另一种写法 ...

  4. Linux文件查找工具之find “大宝剑”

    一.文件查找工具常用软件 locate: locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这 ...

  5. Linux下,文件查找命令which,whereis,find,别名命令alias,统计命令wc

    Linux下,文件查找命令which,whereis,find,别名命令alias,统计命令wc O.简要 1.Linux系统中查找文件比较常用的命令就是which,whereis,find,最常用的 ...

  6. linux系统下文件查找

    在我们实际应用中,经常需要查找某个特定的文件,或者根据文件的某个特定属性进行查找,今天小菜就给大家分享一下,linux系统下文件查找的两大利器:  1,locate:非实时查找(基于预先生成的数据库查 ...

  7. linux基于文本的配置工具,Linux基本配置和管理 3 ---- Linux命令行文本处理工具

    1 文件浏览(简单回顾) 1 cat 查看文件的内容 2 more 以翻页的形式查看,但是只能向下翻页 3 less 以翻页的形式查看,但是能够支持向上和向下翻页 4 head 默认是查看前10行,但 ...

  8. 超实用的8个Linux命令行性能监测工具

    本文总结了8个非常实用的Linux命令行性能监测工具,这些命令支持所有的Linux系统,不仅可以用于监控系统,还可以发现导致性能问题的原因所在. 对每个系统/网络管理员来说,每天监测Linux系统性能 ...

  9. windows查看linux文件工具,「实用工具」介绍几款Windows系统与Linux服务器传递文件的工具...

    本文主要介绍几款用于和linux服务器传递文件的工具 WinSCP WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端.同时支持SCP协议.它的主要功能就是在本地与远程计算机间 ...

  10. 在 Linux 命令行中查找 IP 地址介绍

    几年前,ifconfig 是 Linux 中最受欢迎的查询本机 IP 地址的方法.但是现如今 ifconfig 命令已经被启用了.在某些 Linux 发行版上已经不用了.那么,除此以外还有什么别的方式 ...

最新文章

  1. Tomcat 启动耗时严重
  2. 阿里云河源数据中心正式开服 疫情期间曾2小时扩容1万台云服务器
  3. python中如何导入数据包_如何在python中发送数据包?
  4. 服务器开机信号,机柜服务器BMC开关机控制系统及方法
  5. 3个你必须知道的面试新趋势, 抓住秋招尾巴拿下offer
  6. 物联网卡不实名认证有什么风险
  7. Ubuntu下查看cuda版本的两种方法
  8. java php 通讯录,基于ssh/bs/java/asp.net/php/web通讯录管理系统
  9. Bartender模板三种动态图片设置方法(仅供参考)
  10. 模拟电子电路技术基础 | 常用半导体器件
  11. 工地门禁实名制考勤管理系统
  12. Python学习记录—— 绘制百分比堆积柱状图
  13. 自动驾驶 Apollo 源码分析系列,感知篇(一)
  14. 计算机sid 用户sid,win10系统怎么生成新的SID号
  15. matlab潮汐观测数据,潮汐观测方法有哪些?
  16. 今日头条的推荐阅读你为什么都喜欢?
  17. 如何禁用WordPress程序REST API功能且移除wp-json链接
  18. 《产品游戏化》电子书下载(epub+mobi+pdf) Netflix、迪士尼、微软巨头在使用的产品策略
  19. AE插件:能量激光描边光效特效Saber Mac
  20. 18-基于双TMS320C6678 DSP的3U VPX的信号处理平台

热门文章

  1. Azure恢复服务-使用Windows Backup备份到云端
  2. eclipse中格式化代码快捷键Ctrl+Shift+F失效的解决办法
  3. ORACLE索引失效,更新统计信息
  4. windows server r2 之如何设置共享文件夹访问不需要输入用户名和密码
  5. 查杀linux线程指令
  6. Android系统默认Home应用程序(Launcher)的启动过程源代码分析(3)
  7. 5.4Python数据处理篇之Sympy系列(四)---微积分
  8. Java小工具:TimingTools
  9. CentOS查看主板型号、CPU、显卡、硬盘等信息
  10. 性能压测诡异的Requests/second 响应刺尖问题