您的位置:首页 > 运维架构 > Linux

linux笔记 第七天 文件查找find命令、文件特殊权限、while和until循环

2015-11-09 17:37 597 查看
课程内容
1、文件查找之find命令详解

2、文件特殊权限详解

3、linux中的任务计划实现详解

4、facl及while和until循环

一、文件查找:根据文件各种属性找到相对应文件的过程。
文本搜索:文件查找和文本搜索的区别是什么?

grep,egrep,fgrep 这些是字符串的匹配的查找,本来grep是不能找文件本身的。grep集合管
道来实现文件查找。

文件查找:locate,find

非实时查找:根据数据库或者索引来查找 (locate),依赖于索引,而索引构建相当 占用资源,索引的创建是在系统空闲是有系统自动进行(每天执行的任务);

手动执行使用updatedb命令。查找速度快,非精准查找。

实时查找:遍历所有文件进行条件匹配 (find)
精准查找、精确匹配、速度慢 find [option]...[查找路径][查找条件][处理动作]
查找路径:默认为当前目录
查找条件:默认为指定路径下的所有文件
处理动作:默认为显示在屏幕 查找条件:-name"文件名称":支持使用globbing字符(*、?、[]、[^])
-iname"文件名称":支持globbing,忽律字符大小写
-user username:根据文件的属主查找
-group groupname :根据文件的属组查找
-UID -GID:根据用户ID号查找
注意:删除一个用户后,其属主、属组还有ID号,可以使用UID GID查找。
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件
组合条件查找:与:-a 同时满足,或:-o 满足一个条件,非:-not,!,条件取反
-not A -a -not B = -not (A -o B)
-not A -o -not B = -not (A -a B)
举例:find /etc -not -user root -a -name "p*[0-9]*" -ls ;find /etc -user root

根据文件类型查找:-type TYPE

f:普通文件

d:目录文件

l:符号链接

b:块设备

c:字符设备

s:套接字文件

p:命名管道

-size [+|-]#UNIT
常用单位: k, M, G

#UNIT: #-1 < x <= #
-#UNIT: x <= #-1
+#UNIT: x > #

根据时间戳查找:
以“天”为单位
-atime [+|-]#
+#:x >= #+1
-#:x < #
#: # <= x < #+1
-mtime
-ctime

以“分钟”为单位
-amin
-mmin
-cmin

根据权限查找:
-perm [+|-]MODE
MODE: 与MODE精确匹配
find ./ -perm 644
+MODE: 任何一类用户的权限只要能包含对其指定的任何一位权限即可;以属主为例,
find ./ -perm +222
-MODE:每类用户指定的检查权限都匹配:
为三类用户所有指定的检查权限都能够被包含
find ./ -perm -222

处理动作:
-print: 默认处理动作,显示
-ls:类似于ls -l
-exec COMMAND {} \;
-ok COMMAND {} \;

find: 一次性查找符合条件的所有文件,并一同传递给给-exec或-ok后面指定的命令;但,有些命令不能接受过长的参数;此时使用另一种方式

find | xargs COMMAND

总结:find [查找路径] [查找条件] [处理动作]
查找条件:
-name, -iname, -user, -group, -uid, -gid, -nouser, -nogroup, -type, -size, -atime, -mtime, -ctime, -amin, -mmin, -cmin, -perm
组合:-a, -o, -not

本文出自 “liwenjia'blog” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: