• linux命令下查找文件或目录


    linux命令下查找文件或目录

    命令 查找对象 查找速度 备注
    which 可执行文件 根据PATH变量的内容去寻找可执行文件 不同的PATH配置会有不一样的结果
    whereis 程序名的搜索 根据数据库来查找,速度快  只支持二进制文件,源代码,man手册
    locate 文件或目录 根据数据库来寻找,速度快,属于模糊查找

     更新数据库:$sudo updatedb

    locate 只在 /var/lib/slocate 资料库中找;

    而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:updatedb,默认情况下updatedb每天执行一次

    find 文件或目录 在硬盘里寻找,速度慢,可以精准查找 /

    例:

    1. which

    which 【文件名】

    参数:

    • -n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
    • -p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。
    • -w  指定输出时栏位的宽度。
    • -V  显示版本信息。

    查看可执行文件的绝对路径

    2. whereis

    whereis [参数] [文件名]

    参数:

    • -b  只查找二进制文件。
    • -B<目录>  只在设置的目录下查找二进制文件。
    • -f  不显示文件名前的路径名称。
    • -m  只查找说明文件。
    • -M<目录>  只在设置的目录下查找说明文件。
    • -s  只查找原始代码文件。
    • -S<目录>  只在设置的目录下查找原始代码文件。
    • -u  查找不包含指定类型的文件。
    
    

    3. locate

    locate [文件名称]

    参数:

    • -b, --basename -- 仅匹配路径名的基本名称
    • -c, --count -- 只输出找到的数量
    • -d, --database DBPATH -- 使用 DBPATH 指定的数据库,而不是默认数据库 /var/lib/mlocate/mlocate.db
    • -e, --existing -- 仅打印当前现有文件的条目
    • -1 -- 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。
    • -0, --null -- 在输出上带有NUL的单独条目
    • -S, --statistics -- 不搜索条目,打印有关每个数据库的统计信息
    • -q -- 安静模式,不会显示任何错误讯息。
    • -P, --nofollow, -H -- 检查文件存在时不要遵循尾随的符号链接
    • -l, --limit, -n LIMIT -- 将输出(或计数)限制为LIMIT个条目
    • -n -- 至多显示 n个输出。
    • -m, --mmap -- 被忽略,为了向后兼容
    • -r, --regexp REGEXP -- 使用基本正则表达式
    • --regex -- 使用扩展正则表达式
    • -q, --quiet -- 安静模式,不会显示任何错误讯息
    • -s, --stdio -- 被忽略,为了向后兼容
    • -o -- 指定资料库存的名称。
    • -h, --help -- 显示帮助
    • -i, --ignore-case -- 忽略大小写
    • -V, --version -- 显示版本信息

    示例:

    4. find

    用法: find [-option]  [文件名]

     find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。

    expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

    -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

    -amin n : 在过去 n 分钟内被读取过

    -anewer file : 比文件 file 更晚被读取过的文件

    -atime n : 在过去n天内被读取过的文件

    -cmin n : 在过去 n 分钟内被修改过

    -cnewer file :比文件 file 更新的文件

    -ctime n : 在过去n天内被修改过的文件

    -empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name

    -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

    -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

    -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。

    -type c : 文件类型是 c 的文件。

    d: 目录

    c: 字型装置文件

    b: 区块装置文件

    p: 具名贮列

    f: 一般文件

    l: 符号连结

    s: socket

    -pid n : process id 是 n 的文件

    你可以使用 ( ) 将运算式分隔,并使用下列运算。

    exp1 -and exp2

    ! expr

    -not expr

    exp1 -or exp2

    exp1, exp2

  • 相关阅读:
    MVC传递数据的方式
    c#面向对象的多态
    使用扩展方法创建 HTML Helper
    了解视图、视图数据和 HTML Helper
    十种技能方法提高IT人薪酬
    ASP.net 2.0:系统优化
    第一个简单的MVC页面
    用户体验时代到来,功能不再重要
    关于SQL递归优化
    web(2)
  • 原文地址:https://www.cnblogs.com/yuer02/p/13902700.html
Copyright © 2020-2023  润新知