zoukankan      html  css  js  c++  java
  • 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 是包含匹配, 完全匹配就是搜索到的必须跟他要搜索的一模一样,而包含匹配是只要包含就可以搜索到

  • 相关阅读:
    Day 03
    Day 03 作业
    Day 02 作业
    Day 02
    Day 01
    Day 10 面向对象基础
    Spring学习-- Bean 的作用域
    一、基本知识
    cloud-init使用技巧
    如何在KVM中管理存储池
  • 原文地址:https://www.cnblogs.com/ceshizhilu/p/7543968.html
Copyright © 2011-2022 走看看