• linux find命令


    find搜索的格式: find +搜索范围+搜索条件

    exp:find  / -name 文件名 避免在大范围搜索,会非常耗费资源

    #find是在系统中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配的

    #如果要进行模糊查询一定要加通配符

    linux中的通配符:

    *  带表匹配任意内容

    ? 匹配任意一个字符

    【】 匹配任意一个中括号内的字符

    find / -name “.......*” 注意加引号括起来

    find可以支持 -iname 意思是不区分大小写,           linux是严格区分大小写的

    find /root -iname +文件名

    #不区分文件名的大小写

    find  /root -user root

    #按照所有者搜索  搜索用户为root 用户的目录

    find /root -nouser

    #查找没有所有者的文件(没有所有者的文件是垃圾文件,但是linux上有两个特殊情况,1、如果这个文件是内核产生的,内核直接调用,不需要经过系统目录,所以他产生的文件有可能没有所有者  2、外来文件,我的数据在widonws上建立的,如果拷到linux上,这个文件就没有所有者,windows忽略了所有者这个概念,一般的光盘,u盘,移动硬盘等的文件都属于外来文件)

    find /var/log/ -mtime +10

    #查找10天前修改的文件

    -10     10天内修改的文件

    10        10天当天修改的文件

    +10        10天前修改的文件

    atime        文件访问时间

    ctime         改变文件属性

    mtime 修改文件内容

    find . -size 25k

    #查找文件大小是25kb的文件

    -25k         小于25kb的文件

    25k           等于25kb的文件

    +25k          大于25k的文件

    k 小写 M必须是大写

    .     带表当前目录

    find . -inum 265

    #查找i节点是252422的文件

    系统查找文件不是靠文件名而是通过inum节点去查找的              ls  -i可以查找文件的i节点

    find /etc -size +20k -a -size -50k

    查找范围

    #查找/etc/目录下,大于20kb并且小于50kb的文件

    -a and 逻辑与,两个条件都满足

    -o or 逻辑或,两个条件满足一个即可

    find /etc -size +20k -a -size -50k -exec ls -lh {};

    #查找/etc目录下,大于20kb并且小于50kb的文件并显示详细信息

    #-exec/-ok 命令{};对搜索结果并执行操作

    -exec    命令      {};是一个标准格式,是把前面执行的结果交给后面的命令去执行

    find 与grep的区别

    grep 是搜索字符串的命令 grep + 选项 + 字符串+ 文件名  字符串要用引号

    grep -i 是不区分大小写

    grep -v 排除指定字符串

    grep命令是在文件中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式的包含匹配而find是在系统中搜索符合条件的文件,如果需要匹配,使用通配符进行匹配

    find 是完全匹配而grep 是包含匹配, 完全匹配就是搜索到的必须跟他要搜索的一模一样,而包含匹配是只要包含就可以搜索到

  • 相关阅读:
    [转]SQL Server 索引结构及其使用一
    平台无关的RICHTEXT实现
    谈谈时间管理陶哲轩
    BigNumCalculator
    关于构造和析构的几点拟人化思考
    ScaleForm十六戒言
    VAX对多种格式增加支持
    关于知识,经验,能力
    AutoTidyMyFiles
    王石语摘
  • 原文地址:https://www.cnblogs.com/ceshizhilu/p/7543968.html
Copyright © 2020-2023  润新知