zoukankan      html  css  js  c++  java
  • 文件名的查找——find

      查找文件!!!

    • 命令格式:find [PATH] [option] [action]

    一、参数1——与时间有关的参数

    • -atime、-ctime、-mtime

      -mtime n:在n天之前的“一天之内”被更改过的文件名

      -mtime +n:在n天之前(不含n天本身)被更改过的文件名

      -mtime -n:在n天之内(含n天本身)被更改过的文件名

      -newer file:比file还要新的文件名

      注:这三个基于时间的参数的计量单位是“天”,天数前面带的-代表小于,而+代表大于。

    范例一:将过去系统上面24小时内有改动(mtime)的文件列出

    执行命令:find / -mtime 0

    评讲:0代表目前的时间,所以,从现在开始到24小时前,有改动内容的文件都会被列出来。

    范例二:将过去系统上面3天前的24小时内有改动(mtime)的文件列出

    执行命令:find / -mtime 3

    范例三:寻找/etc下面的文件,如果文件日期比/etc/passwd新就列出

    执行命令:find /etc -newer /etc/passwd

    二、参数2——与用户或用户组名有关的参数

    • -uid UID、-gid GID、-user 用户账号名称-group 用户组名
    • -nouser:寻找文件的所有者不存在于/etc/passwd的文件
    • -nogroup:寻找文件的所有用户组不存在于/etc/group中的文件

    范例一:查找/home下面属于liuyu的文件

    执行命令:find /home -user liuyu

    评价:这个命令可以将属于某个用户的所有文件都找出来

    范例二:查找系统中不属于任何人的文件

    执行命令:find / -nouser

    三、参数3——与文件权限及名称有关的参数

    • -name 文件名:根据文件名查找文件
    • -size [+-]SIZE:查找比SIZE还要大(+)或小(-)的文件
    • -type TYPE:查找文件类型为TYPE的
    • -perm mode:查找文件权限“刚好等于”mode的文件
    • -perm -mode:查找文件权限“必须要全部包括mode的权限”的文件
    • -perm +mode:查找文件权限“包含任一mode的权限”的文件

    范例一:找出文件名为passwd的这个文件

    执行命令:find / -name passwd

    范例二:找出系统中大于1MB的文件

    执行命令:find / -size +1000k

    范例三:找出/var目录下文件类型为Socket的文件名有哪些

    执行命令:find /var -type s

    范例四:查找文件当中含有SGID或SUID或SBIT的属性

    执行命令:find / -perm +7000

    四、其他可进行的操作

    • -exec 命令:-exec后面可再接其他的命令来处理查到的结果
    • -print:将结果打印到屏幕上,这个操作是默认操作

    范例一:将上一范例找到的文件使用ls -l列出来

    执行命令:find / -perm +7000 -exec ls -l {} ;

    【评讲】

    1. {}:代表的是“由find找到的内容”,我们可以想象find的结果会被放置到{}位置中
    2. {}是一个与-exec选项搭配使用的特殊字符串,对于每一个匹配的文件,{}会被替换成相应的文件名
    3. -exec一直到;是关键字,代表find额外命令的开始(-exec)到结束(;),在这中间的就是find命令内的额外命令。在本例中就是“ls -l {}”
    4. 因为“;”在bash环境下是有特殊意义的,因此利用反斜杠来转义
    5. 如:find . -name "*.txt" -exec cp {} 某个目录 ;  //将当前目录下的以.txt结尾的文本文件复制到

    五、其他

    • find 目录

      列出当前目录及子目录下所有的文件和文件夹

      注:和ls的区别在于子目录下的文件和目录也会被列出来

    • find 目录 -maxdepth 深度n
    • find 目录 -mindepth 深度n

      注:深度n来限制find命令遍历的目录深度,-maxdepth指定最大深度,而mindepth指定最小深度。

      如:find . -maxdepth 1 的作用效果就等同于 ls

    • find 目录 -type d|f|l|c|b|s|p

      如:find . -type f  列出当前目录下的文件

    • find 目录 -size +2k  大于2KB的文件
    • find 目录 -size -3M  小于3MB的文件
  • 相关阅读:
    CSP 模拟17
    晚测7
    CSP 模拟16
    CSP 模拟14
    CSP 模拟13
    Cypress系列(67)- 环境变量设置指南
    Cypress系列(66)- 测试运行最佳实践
    Cypress系列(65)- 测试运行失败自动重试
    Cypress系列(64)- 数据驱动策略
    Cypress系列(63)- 使用 Custom Commands
  • 原文地址:https://www.cnblogs.com/xzxl/p/7555084.html
Copyright © 2011-2022 走看看