zoukankan      html  css  js  c++  java
  • Linux文件查找

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。

    http://www.cnblogs.com/shijiaqi1066/p/4076158.html

    Linux文件查找相关的命令一般涉及两个命令:

    • locate
    • find

    locate

    格式:

    locate 文件名

    locate 正则表达式

    说明:

    locate不是搜索文件系统,而是从一个数据库中搜索。所以locate命令的搜索速度非常快。

    wps1E73.tmp

    但locate命令找不到刚创建的新文件。新文件的信息不会实时保存到数据库。使用updatedb命令,会把文件系统的信息保存至数据库,updatedb一般是每天运行一次。

    updatedb命令可以手动运行,但updatedb命令只能由root用户运行。

    例:

    locate vimrc

    find命令

    find命令用于查找文件。注意目录也是文件。

    基本格式:

    find 查找目录 查找条件

    指定了查找目录,find会查找该目录下所有文件,其子目录中的内容也会被查找。

    若不加查找条件,则查找指定目录下的所有文件(包括目录)。

    查找当前目录下所有的内容,包括目录与文件:

    find .

    -name选项:按名字查找。建议使用双引号。

    find . -name "*.txt"

    -type选项:按类型查找

    普通文件:f (ls命令下,显示的是 - )

    符号链接:

    查找当前目录所有的普通文件:

    find . -type f

    查找当前目录所有的目录:

    find . -type d

    -size选项:按文件大小查找。size选项可以配合符号 + -  一起使用。

    + 表示大于指定的文件大小数值。

    - 表示小于指定的文件大小数值。

    文件大小的数值部分可以使用2M,8k这样字面量来表示。

    -ctime:按文件状态改变的时间(单位天)查找。ctime选项可以配合符号 + - 一起使用。

    -mtime:按文件内容改变的时间(单位天)查找。

    查找10天前内容发生改变的文件:

    find ~/ -mtime +10

    -atime:按文件的访问时间(单位天)查找。

    -amin:按文件访问时间。单位分钟。

    -mmin:按文件内容改变时间。单位分钟。

    -cmin:按文件属性改变时间。单位分钟。

    -maxdepth:指定的搜索目录深度。默认是无限大。

    -exec 按搜索结果执行命令。

    对搜索出的文件集合执行命令:

    find . -type f -exec ls -l '{}' ';'  

    对搜索出的文件集合进行的内容查找:

    find . -type f -exec grep hello '{}' ';'

    对搜索出的文件集合进行的内容查找,并输出匹配内容所在的文件:

    find . -type f -exec grep hello '{}' ';' -print

    对搜索出的文件集合进行的内容查找,并输出匹配内容所在的文件,并输出匹配内容的行号:

    find . -type f -exec grep -n hello '{}' ';' -print

    对搜索出的文件集合进行的内容查找,内容查找忽略大小写;输出匹配内容所在的文件,并输出匹配内容的行号:

    find . -type f -exec grep -ni hello '{}' ';' -print

    说明:

    '{}' :表示find命令搜索的结果集。

    find命令的输出以深度优先的方式将内存搜索并输出。

    wps1E84.tmp

    可以看到exec选项使用起来比较繁琐,所以最简单的方法是使用管道连接。

    例:xargs

    查找文件后,删除查找到的文件。

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。

    http://www.cnblogs.com/shijiaqi1066/p/4076158.html

  • 相关阅读:
    使用tcmalloc编译启动时宕机
    使用tcmalloc编译出现undefined reference to `sem_init'
    使用AddressSanitizer做内存分析(一)——入门篇
    VIM-美化你的标签栏
    Entity Framework Code First (六)存储过程
    Entity Framework Code First (五)Fluent API
    Entity Framework Code First (四)Fluent API
    Entity Framework Code First (三)Data Annotations
    Entity Framework Code First (二)Custom Conventions
    Entity Framework Code First (一)Conventions
  • 原文地址:https://www.cnblogs.com/shijiaqi1066/p/4076158.html
Copyright © 2011-2022 走看看