联系我们联系我们
电子邮箱电子邮箱

Linux下的系统查找(下)

[复制链接]
  • TA的每日心情
    开心
    2017-12-29 14:06
  • 签到天数: 1 天

    [LV.1]初来乍到

    gilgamesh 发表于 2017-9-14 14:50:48
    456 0
           紧接着上一篇说,上一篇说到了三种查找方式:which、whereis和locate,which用来查找指定目录下可执行程序;whereis不仅可以查找可执行程序,还能列出跟该可执行程序命名相同的帮助文件和配置文件;而locate搜索范围就更广了,简单概括为关键字搜索,只要含有你所搜索的字符,locate就会全部列出来
           上篇文章地址:https://bbs.77169.com/forum.php? ... &extra=page=1
           这一篇文章将着重讲解find命令,通常情况下,查找某个文件时,使用前面三个命令就够了,基本上是可以满足需求的,所以不建议使用find命令,find命令跟windows下的搜索方式是一样的,所以搜索起来会相比上述三个命令慢很多,尤其是当数据量较大时,但是find命令又可以满足很多不同的查找要求,所以我们来看看吧

           首先,单纯的使用find,会列出当前目录所有的文件,在根目录下,会列出所有根目录下的文件,在home目录下,会列出所有home目录下的文件
           1.png
           下面就来讲解一下加上各种参数的find命令的作用
    一、时间参数
    1、-atime参数,查找指定时间段内被读取的某些文件
    2、-ctime参数,查找指定时间段内内容的修改、权限的修改等这些状态修改的某些文件
    3、-mtime参数,查找指定时间段内名称修改、文件内容的修改的某些文件
           格式都是一样的,这里只演示一个就可以了,“/”代表的是目录,如果需要查找home下的文件,那就把"/"修改成“/home”就好了,最后的“0”这个值,0代表最近24小时内,1就代表一天前,3就代表三天前,这里的一天前或者三天前不是这些天内的,而是指定的那一天,也就是说参数是3时,查找的是三天前的那一天的,而不是这三天内的
          格式:find / -atime 0              find /home -mtime 1
          如果想列出所有天数的被修改过的文件,可以这样
          find / -atime 5  代表列出所有五天之前被修改过的文件
          find / -atime -5   代表列出所有五天之内被修改过的文件

    二、用户或者组名参数
    1、-user                   查找某个用户的文件
    find /home -user root   这样就可以列出在home目录下属主是root用户的文件
    2.png
    2、-nouser               查找不属于任何用户和任何用户组的文件  
    find / -nouser
    3、-group                查找某个组的文件
    格式和查找用户文件是一样的     find / -group 组名

    三、文件权限参数
    1、find -name / -name passwd      精确查找名称为passwd的文件,跟locate不一样,这个只会列出名称为passwd的文件,如果只是文件名里含有passwd还有别的字符的话,是不会被列出来的
    3.png
    2、find / -type f                 查找指定文件类型,f为file普通文件,l为link链接文件,d为目录

    4、其他参数
    find / -size 10000K   查找大小大于10000K的文件
    5.png


    OK,linux的查找系统讲的差不多了,拜拜!


    评分

    参与人数 1金钱 +12 收起 理由
    一把附魔钻石剑 + 12 乌鸦坐飞机

    查看全部评分

    回复

    使用道具 举报

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

    本版积分规则

    发表新帖

    小黑屋|手机版|Archiver|华盟论坛 ( 京ICP证070028号 )

    Powered by 华盟网 X 8.0  © 2001-2013 Comsenz Inc.  华夏黑客同盟