Linux系统中文件查找

关键词 文件查找 | find | locate

本文主要介绍有关文件查找的两个命令——find和locate,以及压缩打包的命令——compress, gzip,bzip2,xz等。有问题或建议可发至邮箱[email protected]

locate

locate命令是通过查询Linux系统上预先构建的文件索引数据库,准确说来,这个数据库默认的位置是/var/lib/mlocate/mlocate.db,这个数据库一般由系统定时周期性更新,当然也可以通过updatedb命令手动更新,但是花费的时间周期可能很长,尤其在文件系统占用率很高的情况下。

locate命令查找的特点:

查找速度快

模糊查找

非实时查找

命令格式及常用选项:

locate [OPTION]... PATTERN...

-h, --help 查看帮助文档

-i 忽略大小写搜索

-n N 最多显示N个匹配项目

-r, --regexp 支持进行基本正则表达式匹配,默认支持glob统配符

--regex 支持使用扩展正则表达式

-c 统计搜索到匹配的条目,但不输出具体条目

find命令

相对于locate命令,find命令查找有如下特点

查询速度较快

精确查找

实时查找

语法:

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...]

[expression]

[-H] [-L] [-P] 三选项用来控制处理符号链接文件

[-D] 控制dubug

[-O] 查询,设置优化等级

以上5个参数基本不用,如果需要使用,位置必须在路径[path]之前

常用格式:

find [OPTION]... [查找路径] [查找条件] [处理动作]

查找路径:指定需要查找的目录,如果是当前目录,可用“.”代替

查找条件:指定查找标准,可以是文件名、大小、权限等

处理动作:对符合条件的文件进行操作,默认输出至屏幕

接下来详细介绍查找条件:

根据文件名查找

-name, 直接查找文件名,支持glob风格查找

-iname, 不区分大小写,支持glob风格查找

-regex, 支持正则表达式查找文件名

-iregex, 不区分大小写,支持正则表达式查找文件名

注意:如果对glob不了解,可以用man 7 glob查看

根据文件从属关系查找

-user, 根据属主查找

-group, 根据属组查找

-uid 根据属主id查找

-gid 根据属组id查找

-nouser 判断是否属于无属主文件

-nogroup 判断是否属于无属组文件

根据文件类型查找

-type

常见文件类型有

f 普通文件

d 目录文件

l 符号链接文件

b 块文件

c 字符设备文件

p 管道文件

s 套接字文件

以文件大小查找

-size[+|-] UNIT

常用单位:k, M, G

以时间戳查找

以“天”为单位:

-atime[+|-]

-mtime

-ctime

以“分钟”为单位:

-amin

-mmin

-cmin

根据权限查找

-perm [/|-] mode

mode: 精确权限匹配

-mode

/mode: 任何一类用户的权限满足即可

+mode: 已废弃这种用法

处理动作

-print 输出至标准输出,默认的动作

-ls 类似于对查找的文件执行"ls -l"命令,输出文件的详细信息

-delete 删除查找到的文件

-fls file 把查找到的所有文件的长格式信息保存到指定文件

-ok CMD {} \; 执行CMD,执行前询问

-exec CMD {} \; 执行CMD

组合测试

各个条件之间默认是以“与”连接,如果需要使用其他组合测试,必须加上

-a 与

-o 或

-not, ! 非

德·摩根定律

(非 P) 或 (非 Q) = 非(P 且 Q)

(非 P) 且 (非 Q) = 非(P 或 Q)

练习

1、查找/var目录下属主为root,且属组为mail的所有文件或目录;

# find /var -user root -group mail

2、查找/usr目录下不属于root、lp或gdm的所有文件或目录;

# find /usr -not -user root -a -not -user lp -a -not -user gdm

# find /usr -not \( -user root -o -user lp -o -user gdm \)

3、查找/etc目录下最周一周内其内容修改过,同时属主不为root,也不是postfix的文件或目录;

# find /etc -mtime -7 -a -not -user root -a -not -user postfix

# find /etc/ -mtime -7 -a -not \( -user root -o -user postfix \)

4、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件或目录;

# find / \( -nouser -o -nogroup \) -a -atime -7

# find / \( -atime -7 -nouser -o -nogroup \) -ls

5、查找/etc目录下大于1M且类型为普通文件的所有文件;

# find /etc -size +1M -type f

6、查找/etc目录下所有用户都没有写权限的文件;

# find /etc -not -perm 222 -type f -ls

linux搜索关键字并定位,Linux系统中文件定位与查找(示例代码)相关推荐

  1. linux中600是什么权限,linux系统中文件的权限

    查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表 ...

  2. Linux系统文件夹权限475,linux系统中文件的特殊权限

    在上篇博客中叙述linux系统中文件的基本属性,见http://vinsent.blog.51cto.com/13116656/1951574,这篇给大家带来linux系统文件的特殊权限,包括SUID ...

  3. linux下上传系统中文件到gitHub

    linux下上传系统中文件到gitHub 一: 1系统下生成公钥 #ssh-keygen 一路回车即可 2对公钥进行复制 #cat .shh/id_rsa.pub 3将公钥复制到github中 首先要 ...

  4. linux 按名字查找文件夹,详细解读linux系统中使用Find命令查找文件

    摘要:文件查找是一个经常用到的功能,在linux系统中查找文件的命令比较多:find.locate.whereis .which等,今天心月就来详细解读find文件查找命令的使用. 文件查找是一个经常 ...

  5. linux检测到文件更新执行,一种更新Linux系统中文件的方法及操作方法专利_专利查询 - 天眼查...

    1. 一种更新Linux系统中文件的方法,其特征在于,包括在基于Linux系统的电视的主 程序中设计一个功能接口,该功能接口在电视系统检测到外部存储设备接入时被调用,所 述功能接口实现以下内容: A: ...

  6. 快速容易地处理Windows、Mac 和Linux系统中文件路径问题

    作者:景略集智 链接:https://www.zhihu.com/question/48755767/answer/423475686 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业 ...

  7. 漫谈 ClickHouse 在实时分析系统中的定位与作用

    ClickHouse 是一款由俄罗斯Yandex公司开源的OLAP数据库,拥有着卓越的性能表现,在官方公布的基准测试中,ClickHouse的平均响应速度是Vertica的2.63倍.InfiniDB ...

  8. python文件定位函数_C语言中文件定位函数总结

    C语言中文件定位函数主要是:fseek, ftell, fsetpos, fgetpos. 先来讲前两个函数,这是最基本的定位函数: fseek函数:能把文件指针移动到文件任何位置,其原型是:int ...

  9. centos7修改时间_Linux系统中文件时间属性介绍

    CentOS7.3学习笔记总结(四十五)-系统中文件时间属性介绍 文件时间是文件的重要的属性之一,在linux操作系统中文件的时间属性包含三个时间:修改时间.访问时间.状态改动时间. 访问时间:ati ...

最新文章

  1. 关于正则表达式 \1 \2之类的问题
  2. 记录 常用 功能 C
  3. Java8 ThreadLocal 源码分析
  4. python异步_Python中的异步编程
  5. Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理
  6. 对抗神经机器翻译:GAN+NMT 模型,中国研究者显著提升机翻质量
  7. 移动互联网的发展趋势ios与android哪更有前景,移动互联网是什么?移动互联网现状,发展趋势及前景...
  8. MYSQL数据库中触发器禁用、启用、查询
  9. oracle下载地址
  10. 【51nod】1776 路径计数
  11. 四个改变生活的小工具-GPS,iPod(MP3)和Tivo(DVR)
  12. python numpy库下载_Numpy库的下载与安装总结
  13. python基础函数应用_python基础之函数的应用
  14. 20sccm_SCCM安装及配置过程总结
  15. 纠结火锅去哪吃,用Python可视化做个数据呈现决定吧(附学习资源)
  16. endnote使用方法大全,endnote教程
  17. 2022年终总结——工作第五年
  18. LR之识别图片验证码
  19. 全程干货,用 python 下载某站全部【免抠图片】,图片背景透明,格式PNG
  20. Yii2.0 用户登录详解(上)

热门文章

  1. linux ppc64 是什么,docker - 在(模拟)PPC64 Linux上的backtrace()segfaults - 堆栈内存溢出...
  2. 圆平移后的方程变化_1.1 直角坐标系中的平移变换与伸缩变换
  3. 如何测试程序是否_软件开发过程中,如何进行自动化测试?Unit Test 和 UI Test
  4. 2018.6.1信息安全铁人三项赛数据赛writeup
  5. Springboot-application.properties
  6. maven配置国内阿里云镜像
  7. server.xml拒绝访问 无法修改
  8. python3 scarpy
  9. 【CSS 】动画animation
  10. MFC 消息响应与消息处理过程