MOYUN(/Java/SQL/Linux/DevOps/运维/架构/管理/敏捷/开发)

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一、find命令解释

  find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示,find命令是一个无处不在命令,是linux中最有用的命令之一。下面就通过实例来体验下find命令的强大。

1.1、find命令的一般形式为 :find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
  其实[-H] [-L] [-P] [-D debugopts] [-Olevel]这几个选项并不常用(至少在我的日常工作中,没有用到过),上面的find命令的常用形式可以简化为
  find [path...] [expression]
    expression:expression可以分为——“-options [-print -exec -ok ...]”
    path:find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录
  -options,指定find命令的常用选项,下节详细介绍
  -print,find命令将匹配的文件输出到标准输出
  -exec,find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格 
  find ./ -size 0 -exec rm {} \; 删除文件大小为零的文件(还可以以这样做:rm -i `find ./ -size 0`  或 find ./ -size 0 | xargs rm -f &)
  为了用ls -l命令列出所匹配到的文件,可以把ls -l命令放在find命令的-exec选项中:find . -type f -exec ls -l {  } \; 
  在/logs目录中查找更改时间在5日以前的文件并删除它们:find /logs -type f -mtime +5 -exec rm { } \;

1.2、find命令的常用选项及实例
  find /dir -name filename  在/dir目录及其子目录下面查找名字为filename的文件
  find . -name "*.c" 在当前目录及其子目录(用“.”表示)中查找任何扩展名为“c”的文件
  -perm 按照文件权限来查找文件
  find . -perm 755 –print 在当前目录下查找文件权限位为755的文件,即文件属主可以读、写、执行,其它用户可以读、执行的文件
  find /apps -path "/apps/bin" -prune -o –print 在/apps目录下查找文件,但不希望在/apps/bin目录下查找
  find /usr/sam -path "/usr/sam/dir1" -prune -o –print 在/usr/sam目录下查找不在dir1子目录之内的所有文件
  find ~ -user sam –print 在$HOME目录中查找文件属主为sam的文件
  find /apps -group gem –print 在/apps目录下查找属于gem用户组的文件
  find / -mtime -5 –print 在系统根目录下查找更改时间在5日以内的文件 
  find /var/adm -mtime +3 –print 在/var/adm目录下查找更改时间在3日以前的文件
  find / –nogroup -print 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在
  find /home -nouser –print 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在
  -newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件
  find ./ -size 0 | xargs rm -f & 删除文件大小为零的文件
  -type 查找某一类型的文件
    b - 块设备文件
    d - 目录
    c - 字符设备文件
    p - 管道文件
    l - 符号链接文件
    f - 普通文件
  find /etc -type d –print 在/etc目录下查找所有的目录 
  find . ! -type d –print 在当前目录下查找除目录以外的所有类型的文件
  find /etc -type l –print 在/etc目录下查找所有的符号链接文件
  -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计
  find . -size +1000000c –print 在当前目录下查找文件长度大于1 M字节的文件
  find /home/apache -size 100c –print 在/home/apache目录下查找文件长度恰好为100字节的文件 
  find . -size +10 –print 在当前目录下查找长度超过10块的文件(一块等于512字节)
  -depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找
  find / -name "CON.FILE" -depth –print 它将首先匹配所有的文件然后再进入子目录中查找
  -mount:在查找文件时不跨越文件系统mount点
  find . -name "*.XC" -mount –print 从当前目录开始查找位于本文件系统中文件名以XC结尾的文件(不进入其它文件系统)

二、find命令参数

-name   filename             #查找名为filename的文件
-perm                        #按执行权限来查找
-user    username             #按文件属主来查找
-group groupname            #按组来查找
-mtime   -n +n                #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime    -n +n               #按文件访问时间来查GIN: 0px">

-ctime    -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前

-nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer   f1 !f2              #找文件,-n指n天以内,+n指n天以前 
-ctime    -n +n               #按文件创建时间来查找文件,-n指n天以内,+n指n天以前 
-nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                      #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer   f1 !f2               #查更改时间比f1新但比f2旧的文件
-type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size      n[c]               #查长度为n块[或n字节]的文件
-depth                       #使查找在进入子目录前先行查找完本目录
-fstype                     #查更改时间比f1新但比f2旧的文件
-type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size      n[c]               #查长度为n块[或n字节]的文件
-depth                       #使查找在进入子目录前先行查找完本目录
-fstype                      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount                       #查文件时不跨越文件系统mount点
-follow                      #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                %;      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount                       #查文件时不跨越文件系统mount点
-follow                      #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                        #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune                       #忽略某个目录
posted on 2017-11-29 18:30  moyun-  阅读(357)  评论(0编辑  收藏  举报