Linux常用命令详解(二) -- 查找常用命令

locate:
    作用:在后台数据库中按文件名搜索,搜索速度更快
    命令格式:locate 文件名
    选项或参数:
            -l    num(要显示的行数)
            -f   将特定的档案系统排除在外,如将proc排除在外
            -r   使用正则运算式做为寻找条件
    补充:
             /var/lib/mlocate     locate命令所搜索的后台数据库
             updatedb                  更新数据库(数据库每天更新一次,使用此命令可强制更新)
    

find:
    作用:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符中的完全匹配(*)进行匹配。
    命令格式:find [搜索范围] [搜索条件]
    选项或参数:
            -name       按文件名查找
            -iname      按文件名查找,但不区分大小写
            -user        按所有者查找
            -nouser    查找没有所有者文件
            -mtime     修改文件内容
            -atime      查找文件访问时间
            -ctime      改变文件出现
            -size         指定文件大小
            -inum        制定节点的文件
    补充:
              (减号- 代表在什么时间内     加号+  代表在什么时间以前)
             find /etc-size +20k -a -size -50k
                     查找/etc/目录下大于20kb并且小于50kb的文件
                     -a    逻辑与,两个条件都满足
                     -o    逻辑或,两个条件满足一个即可
             find /etc-size +20k -a -size -50k -exec ls -lh {} ;
                     查找/etc/目录下大于20kb并且小于50kb的文件并显示详细信息
                     -exec/-ok 命令 {} ;    对执行结果进行操作
    
             
grep:
    作用:在文件中搜索符合条件的字符串,使用正则表达式进行匹配
    命令格式:grep [选项] 字符串 文件名
    选项或参数:
            -i     忽略大小写
            -v    排除指定字符串
    

which:
    作用:搜索命令所在路径及别名
    命令格式:which 文件名
    选项或参数:
            -n  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
    

whereis:
    作用:搜索命令所在路径及帮助文档所在位置
    命令格式:whereis 命令名
    选项或参数:
             -b    定位可执行文件。
             -m    定位帮助文件。
             -s     定位源代码文件。
             -u    搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

通配符:
    *    匹配任意内容
    ?    匹配任意字符
    []    匹配任意一个中括号内的字符


PS:
         which:在指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
         whereis:只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
                          whereis及locate都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。

         locate:通过搜寻系统内建文档数据库达到快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性调用的。
                       默认情况下locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,如果locate所找到的档案若是最近才建立或刚更名的,可能会找不到。
                       在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)。

        find:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符中的完全匹配(*)进行匹配。

        grep:在文件中搜索符合条件的字符串,使用正则表达式进行匹配。

原文地址:https://www.cnblogs.com/JealousGirl/p/find.html