本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告

Linux文本查找工具——find命令的用法详解

发布:TangLu2016-11-29 16:04分类: Linux命令 标签: find find命令

使用find命令可以根据指定的条件去系统中遍历查找文件,还可以对这些文件进行后续的操作,和另一个查找文件的命令locate不同的地方在于find命令是实时精确查找,不做模糊匹配,但是可以使用通配符。而locate是通过一个数据库文件来模糊查找。两者之间locate速度快,但是find最精确。


find命令基本格式:


#语法格式:
#find  [查找路径]  [查找条件]  [查找后的动作]
find  /etc  -name  "passwd"  -exec  ls -l  {}  \; 


查找路径:指定具体搜索路径,默认为当前路径下。

查找条件:可以根据文件名、大小、权限、日期等进行查找。没有指定条件的话默认为当前路径下所有文件

处理动作:对符合条件的文件作出的操作,如删除、复制。默认为输出到标准输出


查找条件表达式:

-name:根据文件名进行查找

find /etc -name "fstab"


-user | -group :根据文件的所有者或者所属组进行查找

find /etc/ -user root


-iname:不区分文件名大小写进行查找

-uid | -gid:根据UID或GID查找

find /etc/ -uid 500


-nouser | -nogroup:查找没有属主或属组的文件

-size:根据文件大小查找,可以定义K或M等常用单位,默认单位是字节,还可以加+-符号进行描述,代表大于或小于所定义的数值大小,如果不加+-符号是为精确查找,查找时会自动将小数点向上取整,如10K代表9-10K的都会显示

find / -size +1M


-type  f:根据文件类型查找,f为普通文件

-type  d:根据文件类型查找,d为目录

-type  b:根据文件类型查找,b为块设备

-type  l:根据文件类型查找,l为链接文件

find / ! -type d
find /etc -type l
find /etc -type d


-mtime:根据时间戳查找系统中N天修改的文件, -n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前

find / -mtime -5


-ctime  [+|-]  n:查找系统中N天被改变文件状态的文件,-n和+n同上

-atime  [+|-]  n:查找系统中N天访问的文件,-n和+n同上

-amin  [+|-]  n:查找系统中N分钟访问的文件,-n和+n同上

-cmin  [+|-]  n:查找系统中N分钟被改变文件状态的文件,-n和+n同上

-mmin  [+|-]  n:查找系统中N分钟被改变文件数据的文件,-n和+n同上


-perm:根据权限查找

find / -type f -perm 644


-perm  /777:三组权限位里但凡有一组权限匹配就查找出来

-perm -644:只要包含了指定权限就查找出来,比如777包含644也会显示出来 


条件组合:

条件1  -a  条件2:逻辑与,当条件1与条件2都需要匹配才进行查找,也是默认动作,不加-a就默认是与

条件1  -o  条件2:逻辑或,当条件1与条件2中满足一个条件就查找出来

-not  | !:逻辑非



查找后的动作:

-print: 将查找出来的文件全部输出到标准输出。默认操作。

-exec:其后跟上需要执行的命令,将会查找出来的文件执行相关命令。{ }和;之间有空格,{ }是后向引用之前查找出来的文件。

find /var/logs -type f -mtime +7 -ok rm { } \; 


-ok:和-exec的作用相同,只不过在执行每一个命令之前,都会给出提示,让用户来确定是否执行。


温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《Linux文本查找工具——find命令的用法详解
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-85.html  [生成短网址]

已有 2/2410 人参与

评论:

凯哥自媒体 2016-12-21 10:45
分享的不错,谢谢
企业咨询 2016-12-13 15:16
不是很懂这块,不过既然来了,留个爪

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~