且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

RHCE 学习笔记(14)- 文件系统(2) - 搜索文件

更新时间:2022-08-14 10:59:36

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://beanxyz.blog.51cto.com/5570417/1599513

这一部分主要学习了如何搜索文件。


常用的文件搜索命令有locate,which,whereis和find, 下面依次看看


locate是通过一个数据库来利用名字搜索。他的速度很快,不过数据库更新比较慢,一周才更新一次,因此最新的信息可能找不到,需要手动更新updatedb之后才能查到


例如

RHCE 学习笔记(14)- 文件系统(2) - 搜索文件


which 和 whereis 一般用来搜索某个命令所在的路径


RHCE 学习笔记(14)- 文件系统(2) - 搜索文件


下面重点来看看 find

find 的基本语法格式是  find 目录 -属性 值

如果不设置目录,默认为当前目录

属性主要通过以下8个方面来搜索

-name

-size

-user/group

-uid/gid

-perm 

-type

-ctime/cmin

-newer


例如


RHCE 学习笔记(14)- 文件系统(2) - 搜索文件


例1: 通过-name 名字来搜索 ,如果要忽略大小写,可以用-i, 这和grep一样

RHCE 学习笔记(14)- 文件系统(2) - 搜索文件

RHCE 学习笔记(14)- 文件系统(2) - 搜索文件

RHCE 学习笔记(14)- 文件系统(2) - 搜索文件


例2: 通过- size 来搜索,首先创建4个块文件,分别是1M,2M,3M,4M

RHCE 学习笔记(14)- 文件系统(2) - 搜索文件


+2M代表2M以上,-4M则表示4M以下

RHCE 学习笔记(14)- 文件系统(2) - 搜索文件


-a 表示 and(和), -o 表示or (或者),可以利用这种方式设置多组条件

RHCE 学习笔记(14)- 文件系统(2) - 搜索文件

RHCE 学习笔记(14)- 文件系统(2) - 搜索文件


注意,find的默认搜索是递归的搜索,会搜索当前目录下的所有子目录,因此他连子目录test也显示了

RHCE 学习笔记(14)- 文件系统(2) - 搜索文件


例3 通过 -user/group 搜索,也可以通过-uid/gid 搜索

RHCE 学习笔记(14)- 文件系统(2) - 搜索文件


例4: 通过 -perm 进行权限的搜索,注意-表示所有的条件必须全部满足;而/表示u,g,o满足任何一项的条件即可


RHCE 学习笔记(14)- 文件系统(2) - 搜索文件


例5: 通过-type 搜索类型,比如我创建了一个软连接,可以指定l来搜索


RHCE 学习笔记(14)- 文件系统(2) - 搜索文件

RHCE 学习笔记(14)- 文件系统(2) - 搜索文件



例6:  通过时间来搜索,比如创建时间超过25分钟的文件


RHCE 学习笔记(14)- 文件系统(2) - 搜索文件


例7: 通过文件的比较来搜索,比如比bb2更新的文件


RHCE 学习笔记(14)- 文件系统(2) - 搜索文件


find还有两种常见的组合用法,查找后执行命令 -exec 命令 {} \  ,那个{}代表的是查找的结果;或者是通过管道把结果作为参数给 xargs 后面的命令使用


例8: 输出查找文件的属性,两种方式都是可以的

 

RHCE 学习笔记(14)- 文件系统(2) - 搜索文件


本文出自 “麻婆豆腐” 博客,请务必保留此出处http://beanxyz.blog.51cto.com/5570417/1599513