Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1568588
  • 博文数量: 157
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4116
  • 用 户 组: 普通用户
  • 注册时间: 2013-06-14 18:26
文章分类

全部博文(157)

文章存档

2014年(67)

2013年(90)

分类: 数据库开发技术

2014-03-03 17:20:52

一.find命令在一个目录(及子目录)中搜索文件

   locate在数据库搜索文件

   find与loacte的区别

   find:

      实时查找:速度慢

      精确匹配

   locate:

  依赖于数据库

         非实时查找,结果非精确

         查找速度快

         模糊查找

二.find命令用法:

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

 查找路径:默认为当前目录

 查找条件:默认为查找指定路径下的所有文件

 处理动作:默认为显示

1查找条件

1)根据文件名查找:

–[i]name  "文件名称”

文件名支持通配符 (* ? [ ] [^ ])

和i一起使用,查找时不区分文件名字符大小写。

eg1如下所示查找文件名含yum的文件,不区分大小写。




2)根据文件属主属组查找:

-user UserName 或者-uid UID        根据文件属主或者uid查找;

-nouser                           查找没有属主的文件

-group GroupName 或者-gid GID     根据文件属组或者gid查找;

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

Eg2查找/tmp目录下属组为root的文件



3)根据组合条件查找:

-a: 与,同时满足

-o: 或,

-not, !:非,取反

非A,并且非B: 非(A或B)

非A,或非B: 非(A且B)

Eg3查找/tmp目录下属主为hyd并且文件名为aaa的文件。



4)根据文件类型查找

-type [f,d,b,c,l,p,s]

f: 普通文件

d: 目录

b: 块设备

c: 字符设备

l: 符号链接文件

p: 命名管道

s: 套接字

eg4查找/tmp目录下是目录的文件



5)根据文件大小查找

   -size [+|-]#Unit #:    (#-1)
                 Unit(常用单位):k, M, G

  Eg5查找/tmp目录下



文件大于2k的文件。

6)根据时间戳查找:

  以天为单位(time):

      -atime(访问时间)[+|-]#

         +: 表示(#+1)天之外被访问过;

         -: 表示#天之内被访问过;

无符号:表示短于(#+1)> x >=#天的时间段被访问过;

      -mtime(修改时间)用法同上

      -ctime(改变时间)用法同上

以分钟为单位(min):

      -amin[+|-]#用法同上

      -mmin用法同上

      -cmin用法同上

Eg6查找/tmp目录下文件改变时间在30分以内的文件。



7)根据文件权限查找

-perm [+|-]MODE

MODE:精确匹配

+MODE: 任何一类用户的任何一位权限匹配

-MODE: 每类用户的指定要检查的权限位都匹配;

Eg7查找/tmp目录下文件所有文件属主具有读写,属组具有写其,他具有执行的权限的文件。



2根据处理动作查找

      -print:打印在标准输出上;

      -ls:以长格式输出各文件信息;

      -execCOMMAND {} \; :对查找到的文件执行指定的命令

{}表示占位符,接收来自前方find命令所查找的文件,并对文件操作。

Eg8查找/tmp目录下文件改变时间在60分种以内的文件并且列出来。



      -okCOMMAND {} \; : 交互式的-exec;

Eg9查找/tmp目录下文件改变时间在30分以内的文件,需要交互。



find | xargs COMMAND

Eg10查找/tmp目录下文件名含doc的文件无法删除



管道传递的事字符串,而不是文件,不能做文件处理,可以用xargs

Eg11查找/tmp目录下文件名含doc的文件可以法删除



find把查找到的所有文件一次性地传递给-exec所指定的命令xargs命令每次只获取一部分文件而不是全部。下面的例子只能用-exec,不可以用xargs.

Eg12查找/tmp目录下文件名含doc的文件,并重命名为dox


阅读(1865) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~