• Linux系统查找


    1. which:在当前用户环境变量PATH指定的路径下查找可执行程序/文件。(需要指定文件完整名称)

    特点:

    1)只在当前用户环境变量指定的路径下查找;

    2)只找出可执行程序/文件的位置;

    3)查找速度非常快。

    which -a:查找当前用户环境变量PATH指定的路径下所有同名的可执行程序/文件,而不只是列出第一个。

    注:使用env命令可以查看当前用户的环境变量PATH的值;可以通过修改/root/.bash_profile文件来修改PATH的值,修改后需用户重新登录才能生效。

     

    2. whereis:只在某些特定目录中查找,列出所有与查找程序/文件相关的文件位置。

    特点:

    1)只在某些特定目录中查找文件信息;

    2)列出所有与查找程序/文件相关的文件位置(包括可执行文件、配置文件、帮助文档等等);

    3)查找速度非常快。

    whereis -l:查看whereis指令查找的全部目录名称。

    whereis  -b  文件名:只查找这个文件的二进制可执行文件。

    whereis  -m  文件名:只查找这个文件的帮助文件。

    whereis  -s  文件名:只查找这个文件的源代码文件。

    whereis -u 文件名:查找不在以上三个选项中的其他特殊文件。

    注:Linux软件安装有一定的顺序,如:可执行文件放在/usr/bin/,配置文件放在/etc/帮助文档放在/usr/share/man/

     

    3. locate:在资料库/var/lib/mlocate/中查找,列出所有包含查找文件名字符串的文件位置。

    特点:

    1)在资料库/var/lib/mlocate/中查找文件信息;

    2)模糊查找,只要文件名或路径名中包含查找文件名字符串就列出来;

    3)查找速度快。

    locate -S:查看locate指令使用的资料库的相关信息(资料库:/var/lib/mlocate/mlocate.db)。

    注:linux系统会将系统内的所有文件都记录在一个文件资料库/var/lib/mlocate/mlocate.db中,当使用locate指令时,会从数据库中查找数据,而不是通过遍历硬盘来查找,效率自然很高。 但是该数据库文件并不是实时更新的,隔一段时间更新一次,因此,在用locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。 这时可以执行updatedb指令,它会读取配置文件/etc/updatedb.conf中的配置,再去磁盘中搜索文件数据,生成该资料库的最新版本(需要有root权限),这个过程比较慢。

          

    4. find:通过扫描整个磁盘在指定路径下查找符合过滤条件的文件。

       特点:

    1)扫描磁盘查找;

    2)通过过滤条件查找,没关键字时列出当前目录下所有文件信息;

    3)查找功能强大,但查找速度慢。

    与时间相关:

    find 路径名 - mtime 024小时内修改过的相关文件。

    find 路径名 - mtime 33天前的那一天修改过的文件。

    find 路径名 - mtime +33天以前所有修改过的文件。

    find 路径名 - mtime -33天以内所有修改过的文件。

    -atime读取、查看时间记录,-ctime状态时间,权限、内容修改)。

    使用者、组名相关:

    find 路径名 -user zhengsan:与zhengsan有关的文件。

    find 路径名 -nouser:与用户无关的文件(不属于用户、用户组)。

    find 路径名 -group zhangsan:用户组zhengsan相关的文件。

    文件权限相关:

    find 路径名 -name 文件名:查找文件名对应的文件(区分大小写)。

    find 路径名 -iname 文件名:查找文件名对应的文件(不区分大小写)。

    find 路径名 -type 文件类型:根据文件类型查找文件。

    f普通文件,d目录)

    特殊功能:

    find 路径名 -size +1000k:大于或等于1000k的文件。

    find 路径名 -name ‘*pass*’:通配符查找文件。

    特殊权限:

    find 路径名 -perm 2770:查找特殊权限文件。

    将find指令查找到的文件列表使用ls -l指令展示:

    find / -name passwd -exec ls -l {} ;

     

     

     

     

  • 相关阅读:
    Arrays类和Timer类(定时调度)
    Centos6.3下Ganglia3.6.0安装配置
    【编程之美挑战赛第一场】树
    ORACLE物化视图具体解释
    让算法会说话之冒泡排序
    VS2008帮助"更新正在进行中"解决办法
    #问题
    sql server 2008 评估期已过期解决办法
    eclipse定义枚举类型错误
    C# 生产者和消费者问题使用Monitor同步
  • 原文地址:https://www.cnblogs.com/wujuntian/p/4770462.html
Copyright © 2020-2023  润新知