find实时查找工具,可支持模糊查找、精确查找、权限查找等。

查找条件:

1. 根据文件名查找

-name  大小写敏感

-iname 忽略大小的名字

2. 根据文件从属关系查找

-user:  USERNAME  根据属主指定用户的所有文件

-gourp:  GROUPNAME  根据属组来查找所有文件

uid  UID  根据属主指定uid的所有文件,  (因为用户可能被删除)  

-gid  GID  查找属组指定的gid的所有文

-nouser:  查找没有属主的所有文件

-nogroup  查找所有没有属组的文件

3.  根据文件的类型查找

-type TYPE

f:  普通文件

d:  目录文件

l:  符号链接文件(符号链接方式)

b:  块设备文件

c:  字符设备文件

p:  管道文件

s:  套接字文件

4.  组合测试

与:  -a 默认

或:  -o

非:  -not

5. 根据文件的大小查找:

-size  [+|-] # UNIT

常用单位:  k, M, G

# UNIT:  (#-1, #] 只要换算后在这个里面的都算

-# UNIT: [0, #-1]  小于# 的都是

+# UNIT:  (#, oo)  大于# 的文件

6.  根据时间戳来查找:

时间都是相对于当前的时间往前计算的, 例如#3, 是指第2.xxx天前到3天前整的时间

以天为单位

-atime [+|-] 为单位,  访问时间

#: [#, #-1)

-#:  (#, 0]  表示#-1天到今天之前的

+#:  [oo,  #),  例如#=3, 表示3天前到oo天以前

-mtime:  修改时间

-ctime:  创建时间

以分钟为单位:-amin:  -mmin:-cmin:

7. 根据权限查找:

-perm  [/|-]mode

mode:  精确权限匹配

/mode:  任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件

1、编写脚本 createuser.sh,实现如下功能:使用一个用户名做为参数,如果 指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等信息

find的常见用法_find

2、编写生成脚本基本格式的脚本,包括作者,联系方式,版本,时间,描述等find的常见用法_find_02


3、查找/etc目录下大于1M且类型为普通文件的所有文件find的常见用法_find_03

4、打包/etc/目录下面所有conf结尾的文件,压缩包名称为当天的时间,并拷贝到/usr/local/src目录备份。find的常见用法_find_04

5、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件或目录。find的常见用法_find_05

6、查找/etc目录下至少有一类用户没有执行权限的文件。find的常见用法_find_06