电脑计算机论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1335|回复: 0

Linux 上的find 命令理解

[复制链接]
admin 发表于 2018-2-8 13:33:27 | 显示全部楼层 |阅读模式
参数 -name     根据文件名或目录名查找 find /home  -name  logs   (在 /home下 精准搜索 文件名或目录名为  logs)  find /home -name   *logs* (  查找包含logs的)
  find /home -name  logs??? (查找logs后面包含3个字符)

参数  -iname  (根据文件名查找,且不区分大小写)


参数  -size  (根据文件大小查找)
   find / -size +204800  (  这个命令的单位是 数据块=512字节=0.5k,  例如查找>100mb的文件   100mb=102400kb=204800数据库所以 此参数为 +204800)
    +   大于
    -   小于
        等于  (不写符号直接写数字 ,代表等于,一般很少用)

参数 -user (根据所有者查找) 参数  -group  (根据所属组查找)
  find /home -user shenchao
参数  -amin  -cmin -mmin  (根据文件属性查找)
-amin      访问时间属性 access     (文件被访问)
-cmin    文件属性 change    (修改文件属性,即ls 可看到的属性,所有者 所有组 权限 等)
-mmin    文件内容  modify    (修改文件内容,通过vim修改文件 添加字符 添加行等 )
find /etc -cmin -5  (在/etc下查找5分钟内被修改过属性的文件和目录)

参数 -type (根据文件类型查找)
    find /home -type  f  查找/home下类型为文件
    find /home -type  d  查找/home下 类型为目录
    find /home -type  l   查找 /home下 类型为软链接
参数  -a  -o  (  两个条件  and 或者  or, -a 就是 两个条件都要满足, -o 就是两个条件满足一个即可)

    find  /etc  -size  +204800  -a   -size -409600  (查找 >100mb 并且 <200mb的文件)
   find /etc -name *init*  -a -type f  (查找 包含init的文件,不包括目录,只查找文件)

参数  -inum( 根据i节点查找)可以用来查找硬链接
    ls -i     查看到文件的i节点
如果要想查这个文件有没有硬链接或者它的硬链接在什么位置,可以先确定这个文件所在的分区(因为硬链接不能跨分区,只需要在此分区上找即可,例如这个文件在 /home分区)
    find  /home  -inum 节点号   

参数  -exec  某个命令 {}\;      对前面find查找的结果执行 某个命令
  find /etc -name *init* -a type f -exec ls -l {} \;   在/etc下查找包含init的文件,对找到的结果 用 ls-l 查看详细信息
参数  -ok   某个命令  {}\;  对前面find查找的结果执行某个命令 ,和  -exec功能一样,唯一的区别就是 -ok 在执行某个命令时会一个一个进行确认请求,而 -exec 没有确认请求 直接执行
例如  
     find . -user  shenchao -exec rm {} \;  在当前目录下查找所用者是shenchao的所有文件,然后直接删除
    find  .  -user shenchao -ok  rm {} \;      对所有者是shenchao的文件一个一个确认,你是要删除shenchao的xxx文件吗? 你可以按 y 或者 n



您需要登录后才可以回帖 登录 | 注册

本版积分规则


QQ|手机版|小黑屋|电脑计算机论坛 ( 京ICP备2022023538号-1 )

GMT+8, 2024-11-23 16:37 , Processed in 0.104166 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表