Linux find 命令

 前言

find命令用于在指定目录下查找文件,并且搜索完成后可以执行相应的操作,搜索时我们可以根据参数指定相应的搜索条件,比如按文件名,文件类型,时间戳等。

find命令的功能特别强大,今天就来简单学习下它的使用。

一  find 语法

使用格式 

find [ path ] -options [-print -exec -ok]

翻译成中文就是:

 find  [指定查找目录]  [查找规则]  [查找完后执行的action]

path:要查找的目录路径。 
      ~ 表示$HOME目录
       . 表示当前目录
       / 表示根目录 

options常用的选项: 
      -name:按照名字查找 
      -perm:按照权限查找 
      -user:文件主来查找 
      -group:文件所属组来查找 
      -nogroup:查找无 有效所属组的文件 
      -nouser:查找无 有效属的文件 
      -type:按照文件类型查找 


print:表示将结果输出到标准输出。 

exec:对匹配的文件执行该参数所给出的shell命令。 
      形式为command {} \;,注意{}与\;之间有空格 

ok:与exec作用相同,
      区别在于,在执行命令之前,都会给出提示,让用户确认是否执行 

介绍下通配符的知识

*表示  通配任意的字符

?表示  通配任意的单个字符

[ ] 表示 通配括号里面的任意一个字符

通配符使用举例:


二  find用法举例

1、按名字查找

 #  -name       //根据文件名查找(精确查找)
 #  -iname       //根据文件名查找,但是不区分大小写 

          1)在当前目录及子目录中,查找小写字母开头的txt文件


2)在/home及其子目录中,查找小写字母开头的txt文件


3)在$HOME目录及其子目录中,查找所有文件


4)在当前目录及子目录中,查找不是th开头的txt文件


2、按目录查找

1)在当前目录除code之外的子目录内搜索 txt文件 


2)在当前目录及除code和codetest之外的子目录中查找txt文件


3)在当前目录,不在子目录中,查找txt文件 


3、按权限查找

在当前目录及子目录中,查找属主具有读写执行,其他具有读执行权限的文件


4、按类型查找

在当前目录及子目录下,查找符号链接文件 


5、按属主及属组

1)查找属主是admin的文件

 

2)查找无属主的文件 


3)查找属组mysql的文件


4)查找无用户组的文件 


6、按时间查找

1)查找1天内被更改过的文件


2)查找1天前被更改过的文件


3) 查找一天内被访问的文件


4) 查找一天前被访问的文件


5)查找一天内状态被改变的文件 


6)查找一天前状态被改变的文件

find . -ctime +1 -typef -print  

7)查找10分钟以前状态被改变的文件

find . -cmin +10 -type f -print

7、按文件新旧

1)查找比aa.txt新的文件

find . -newer "aa.txt" -type f -print 

2)查找比aa.txt旧的文件

find . ! -newer "aa.txt" -type f -print

 3)查找比aa.txt新,比bb.txt旧的文件 

find . -newer 'aa.txt' ! -newer 'bb.txt' -type f -print

8、按文件大小查找

1)查找超过1M的文件

find / -size +1M -type f -print 

2)查找等于6字节的文件

find . -size 6c -print 

3)查找小于32k的文件

find . -size -32k -print

9、执行命令

1)查找del.txt并删除,删除前提示确认

find . -name 'del.txt' -ok rm {} \;

2)查找aa.txt 并备份为aa.txt.bak

find . -name 'aa.txt' -exec cp {} {}.bak \;

参考文章:

http://blog.chinaunix.net/uid-20051192-id-3044634.html

http://blog.chinaunix.net/uid-24648486-id-2998767

http://blog.csdn.net/love__coder/article/details/7028714

posted @ 2020-02-21 10:28  开源Linux  阅读(1041)  评论(0编辑  收藏  举报