===============================

1. 通过文件的特征查找:

===============================

1) 按文件名

find /    -name httpd.conf

find /usr -name httpd.conf

find /etc -name '*srm*'

2) 按大小

find / -size 1500c      # 查找文件大小为1,500 bytes的文件,字符 c 表明这个要查找的文件的大小是以bytes为单位。

find/ -size +10000000c  # "+”是表示要求系统只列出大于指定大小的文件,  "-”表示小于

find / -empty           # 查找在系统中为空的文件或者文件夹

-size:表示文件大小,+表示大于某个数,-表示小于某个数。c表示单位是字节,你可以将c换成k,M,G。

3) 按时间

find / -amin -10        # 查找在系统中最后10分钟访问的文件

find / -atime -2        # 查找在系统中最后48小时访问的文件

find / -mmin -5         # 查找在系统中最后5分钟里修改过的文件

find / -mtime -1        # 查找在系统中最后24小时里修改过的文件

find / -cmin -5         # 查找在系统中最后5分钟里被改变状态的文件

find / -ctime -1        # 查找在系统中最后24小时里被改变状态的文件

访问过用amin,修改过用mmin,文件状态改变过用cmin

精确到分钟的用amin,mmin,cmin,精确到天的用atime,mtime,ctime

在5分钟之内的用-5,在5分钟以上的用+5

4) 按用户

find / -user fred       # 查找在系统中属于FRED这个用户的文件

find / -group cat       # 查找在系统中属于 groupcat的文件

find / -nouser          # 查找在系统中属于作废用户的文件

5) 其他

-false 查找系统中总是错误的文件

-fstype type 查找系统中存在于指定文件系统的文件,例如:ext2 .

-gid n 查找系统中文件数字组 ID 为 n的文件

-group gname 查找系统中文件属于gnam文件组,并且指定组和ID的文件

===============================

2. 通过文件的特征查找:

===============================

Find命令也提供给用户一些特有的选项来控制查找操作。下表就是我们总结出的最基本,最常用的find命令的控制选项及其用法。

选项               用途描述

-daystart     .   .测试系统从今天开始24小时以内的文件,用法类似-amin

-depth             使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容

-follow            遵循通配符链接方式查找; 另外,也可忽略通配符链接方式查询

-maxdepth levels   在某个层次的目录中按照递减方法查找

-mount             不在文件系统目录中查找, 用法类似 -xdev.

-noleaf            禁止在非UNUX文件系统,MS-DOS系统,CD-ROM文件系统中进行最优化查找

-help              显示命令摘要

-version           打印版本数字

使用-follow选项后,find命令则遵循通配符链接方式进行查uuuu找,除非你指定这个选项,否则一般情况下find命令将忽略通配符链接方式进行文件查找。

-maxdepth选项的作用就是限制find命令在目录中按照递减方式查找文件的时候搜索文件超过某个级别或者搜索过多的目录,这样导致查找速度变慢,查找花费的时间过多。例如,我们要在当前(.)目录技巧子目录中查找一个名叫fred的文件,我们可以使用如下命令

find . -maxdepth 2 -name fred

假如这个fred文件在./sub1/fred目录中,那么这个命令就会直接定位这个文件,查找很容易成功。假如,这个文件在./sub1/sub2 /fred目录中,那么这个命令就无法查找到。因为前面已经给find命令在目录中最大的查询目录级别为2,只能查找2层目录下的文件。这样做的目的就是为了让find命令更加精确的定位文件,如果你已经知道了某个文件大概所在的文件目录级数,那么加入-maxdepth n 就很快的能在指定目录中查找成功。

===============================

3. 使用混合查找方式:

===============================

find /tmp -size +10000000c -and -mtime +2       // -and

find /    -user fred       -or -user george     // -or   在/tmp目录中查找属于fred或者george这两个用户的文件

find /tmp ! -user panda                         // -or   在/tmp目录中查找所有不属于panda的文件

命令就可以解决了。很简单。

查找并显示文件的方法

查找到某个文件是我们的目的,我们更想知道查找到的文件的详细信息和属性,

find / -name "httpd.conf" -ls

下面的表格就是一些常用的查找文件并显示文件信息的参数和使用方法

选项      用途描述

-exec command;   查找并执行命令

-fprint file   打印文件完整文件名

-fprint0 file   打印文件完整文件名包括空的文件

-fprintf file format     打印文件格式

-ok command;             给用户命令执行操作,根据用户的Y 确认输入执行

-printf format           打印文件格式

-ls                      打印同种文件格式的文件.

===============================

2. 普通用户无错误查找:

===============================

find / -name access_log 2>/dev/null

说明:当普通用户使用"find”命令来查询某些没有相应权限文件目录时(Linux系统中系统管理员ROOT可以把某些文件目录设置成禁止访问模式)

,往往会出现"Permissiondenied."(禁止访问)字样。 2>/dev/null就是表明系统将把错误信息输送到stderrstream 2中.

--------------------------------

-exec command;

--------------------------------

删除一个目录中的全部文件

cd “目的目录”

find . -name * -exec rm -f {} \;

-exec 参数后面跟的是 command命令,注意如下几点:

1) command命令的终止,使用 ';' (分号)来判定,在后面必须有一个 ';'

出于不明原因, ';'需要用'\'来转义  ,所以命令整体形式为: -exec rm -f {} \;

2) '{}',使用{}来表示文件名,也就是find前面处理过程中过滤出来的文件,用于command命令进行处理

1.查询所有保护字符串“Hello”的文件

find / -exec grep "Hello" {} \;

2.删除所有临时文件

find / -name "*.tmp" -exec rm -f {} \;

-mmin find shell 报错_[shell]find用法小结相关推荐

  1. CentOS8 解决SSH Secure Shell 报错 Algorithm negotiation failes

    今天新服务器版本已经到了CentOS8,但是SSH Secure Shell还是多年前的3.2.9,所以在连服务器时遇到标题中的报错.这个问题很悲剧,浪费了我很多时间. 网上解决这个问题的博文非常非常 ...

  2. windows下jenkins执行shell报错

    创建完Job之后,执行shell脚本报错 Publish] $ sh -xe C:\Windows\TEMP\jenkins1513512433272584870.sh 办法是修改 Manage Je ...

  3. adb shell 报错error: device unauthorized

    2022/7/29   oppo-r11s 安卓8-亲测成功 windows电脑在链接安卓设备后,想要进行终端命令行进入到该设备,出现报错 报错内容 C:\Users> adb shell er ...

  4. Flink shell报错 For input string: 0x100

    完整报错如下: [ERROR] Failed to construct terminal; falling back to unsupported java.lang.NumberFormatExce ...

  5. 应用时间线服务器启动报错_从服务器到无服务器的时间轴和教程

    应用时间线服务器启动报错 Amazon Web Services is a behemoth powering companies from Fortune 500 corporations to h ...

  6. python import request 不报错_爬虫学习路径整理及安装环境遇到的坑

    学习路径是我自己提炼和精选的,只适合我个人,因为虽然有技术基础但是我刚入门爬虫视野很窄不专业,为避免误导你们,你们最好参考知乎上大牛已经回答的好答案.我发这篇文章,目的是给自己看的.ps,专栏下每篇文 ...

  7. python 列表为空报错_对比几段代码,看看你是 Python 菜鸟还是老鸟

    Python 里有个小彩蛋: 在 Python Shell 里输入 import this 这段话被称作"Python 之禅"(The Zen of Python),它列举了一些 ...

  8. 打开mysql 的时候报错_关于mysql的启动报错处理

    昨天使用rpm安装了一个mysql最新版本,在安装的时候因为系统里面自带了mysql5.1的版本.所以我在安装mysql5.5的时候一直报错,故使用yum -y remove mysql*将老版本的安 ...

  9. julia const报错_我爱Julia之入门-004

    变量 Julia 语言中,变量是与某个值相关联(或绑定)的名字.你可以用它来保存一个值(例如某些计算得到的结果),供之后的代码使用.例如: julia> # 将 1 赋值给变量 x julia& ...

最新文章

  1. koa 接口返回数据_一文搞定 Koa 中间件实现原理
  2. [探讨]一次性工具软件
  3. Ajax学习整理笔记
  4. python编程游戏代码 游戏人物如何升级_如何玩游戏提高python编程技能?
  5. 谷歌10月15日发布 Pixel 4;高通以31亿美元收购与TDK公司权益;甲骨文、VMware就云技术及支持达成协议……...
  6. 那些把公司当家的程序员,后来怎么样了...
  7. Expected one result (or null) to be returned by selectOne(), but found: 2
  8. Java Concurrent--java.util.Concurrent包
  9. 对称加密和非对称加密的理解
  10. 20210601:力扣第243周周赛(上)
  11. windows XP小技巧
  12. appicon一键生成网站
  13. 查看服务器的ip地址
  14. 与第三方接口调用时白名单功能
  15. 了解Cookie是什么
  16. 2022年R1快开门式压力容器操作题库及模拟考试
  17. matlab 牛顿法 初值,非线性方程的数值解法:牛顿法及牛顿下山法(含Matlab程序)...
  18. Scard API 智能卡操作
  19. 计算机音乐谱软件假装,愚人节整人方法 让电脑遭殃的整蛊软件
  20. 修改MAC访达备份iphone到外设

热门文章

  1. ubuntu 14.04 下 安装samba 及SSH 服务端的方法
  2. poj1068Parencodings
  3. Java Web开发应用中要掌握的一些感念 疯狂JAVA
  4. 用完HttpWebResponse时别忘了调用Close方法
  5. 剑指 Offer II 110. 所有路径
  6. 通过lua操作http请求头
  7. sequelize怎么看插入的数据成功不成功_Google Sheet使用分享:柱形图断层图 异常数据和其他数据和谐共处之道...
  8. 乱斗西游2服务器修改,为我们的友谊干杯《乱斗西游2》转服功能邀你面基
  9. 清除工程目录下多余文件和文件夹
  10. 影响机器视觉光源效果的因素有哪些?