【linux】linux下find指令的用法总结

原创 2016年05月30日 15:04:43

前言:

  先阐述下find指令是干嘛的,为什么要来研究他呢?

find指令是Linux下一个很重要的操作,因为linux是一个“一切皆文件”的操作系统,find(查找文件)指令就尤为重要了,在windows操作系统下,我们查找一个文件可以直接在计算机中搜索文件,但是linux操作系统的文件是不带后缀的,同样,Linux下的find功能相对与windows来说,强大了很多。


  Linux下的查找指令有多个,下面我们主要讲下locatefind两个指令


locate指令是对其生成的数据库进行遍历(生成数据库的命令(updatedb)).这一特性决定了用locate查找文件的速度会很快,那么locate速度既然能够快速的查找,那为什么还需要find指令呢?因为locate指令只能对文件进行模糊匹配,精确度不是很高。

  #locate的简单操作选项:

-i    //查找文件的时候不区分大小写  比如:locate  -i   tmp

-n   //只显示查找结果的前N行         比如:locate -n  5  t


切入我们的正题:

  find指令的用法总结:

  1. 根据文件名或正则表达式匹配搜索


  (1),通过文件名查找

操作选项:-name

操作举例:先看下我们的当前目录使用pwd指令,然后在当前目录下mkdir一个文件tmp,然后使用find ./ -name tmp指令就可以找到tmp文件了,使用find ./ -name 'tmp*'可以查找所有包含tmp的文件。

wKiom1c-fRfwLewaAABn2wptlQE123.png

wKiom1c-fpvTt6FGAAA3XAOelpU141.png

  (2)通过正则表达式查找

操作选项:!

操作举例:!故名思意,就是否定一个查找条件的,与逻辑-not非类似,

  find ./ ! '*.c' -print查找文件名不为.c的文件,并打印出来

wKiom1c-hZ7TILrgAADYHxhl4TA177.png


其他正则表达式还有如下一些:

    -a  与条件

    -o  或条件

    -not 非条件(此参数的功能类似于否定参数‘!’)

  2.根据文件大小查找


-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。

b——块(512字节); c——字节; w——字(2字节);

k——千字节 ; M——兆字节; G——吉字节。


操作选项:-size -n

操作举例:find ~ -size -100k查找小于100k的文件

wKioL1c-iQnxOfThAAD1FxmB8wM193.png


操作选项:-size +n

操作举例:find ~ -size +100k查找小于100k的文件

wKiom1c-iMGwZSySAAA03IfZmbM838.png


操作选项:-size  n

操作举例:find ~ -size  100k查找为100k的文件

我的系统下没有等于100k的文件。


  3.根据文件深度查找

操作选项:maxdepth

操作举例:find -maxdepth 2 -name tmp在深度为2的目录中查找文件tmp

wKiom1c-i1GDL9zhAAA7sP8mmRQ142.png


操作选项:mindepth

操作举例:find -mindepth 1 -maxdepth 3 -name tmp在深度为1至3中查找文件tmp

wKiom1c-jH_Dfa-LAACpBsxuHpI928.png


  4.按文件权限查找

操作选项:

    -perm  按照文件权限查找

    -user (或者是-uid n   n是用户账号的ID) 按照文件所有人查找

    -group (或者是-gid n   n是组名的ID)按照文件的所属组查找

操作举例:find -type f -perm 777

     find -type f -user 777

     find -type f -group 777(这里就不一一截图了,看了上面那么多想必大家都会了)


  5.按文件类型查找

       文件类型   类型参数    
       普通文件        f
       符号文件        l
       目   录            d
       字符设备        c
       块设备           b
       套接字           s
       管道文件        p

操作选项:-type

操作举例:find .  -type pfind . =type f等等

   

  6.根据文件时间查找

Linux文件系统中的三种时间戳:

▲访问时间(-atime):用户最近一次访问文件的时间;
▲修改时间(-mtime):文件内容最后一次被修改的时间。
▲变化时间(-ctime):文件元数据(metadata,例如权限或所有权)最后一次改变的时间。


操作选项:-atime  、-mtime 、-ctime(用+、-来表示大于和小于)

操作举例:find ./ -atime -1、find ./ -atime  +1、find ./ -mtime -2、find ./ -ctime等等

特殊:find ./ -newer tmp  ---->  查找比test.c还要新的文件


  7.find与xargs结合使用

xargs参数  将标准输入转换成命令行参数

操作选项:-atime  、-mtime 、-ctime(用+、-来表示大于和小于)

操作举例:find -type f -name "*.txt" -print0 |xargs -0 rm -f(将找到的文件删除,xargs -0将\0作为                    输入定界符);

                find -type f -name "*.c" -print0 |xargs -0 -1(统计所有C程序文件的行数)



本文出自 “滴水” 博客,请务必保留此出处http://10740329.blog.51cto.com/10730329/1775362

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Linux下find命令详解

1. find命令 linux的find命令用来查找文件,功能很强大, 可以通过时间, 用户组, 文件名, 文件类型, 权限,大小等来查找相应文件。 2. find的用法 通过find --help或...

linux下find(文件查找)命令的用法总结

前言:我们为什么要学会使用find命令?   每一种操作系统都有成千上万的文件组成,对于linux这样“一切皆文件”的操作系统来说更不例外,大家应该都能很轻松使用windows下的文件查找功能,但...

linux下find(文件查找)命令的用法总结

前言:我们为什么要学会使用find命令?   每一种操作系统都有成千上万的文件组成,对于linux这样“一切皆文件”的操作系统来说更不例外,大家应该都能很轻松使用windows下的文件查找功能,但...

linux下find(文件查找)命令的用法总结

linx find 文件查找

Linux中find的常用指令的用法及作用

Linux中find的指令尤为重要,所以我们要对find指令的一些常用指令进行了解以及熟练使用,这对Linux的使用有着至关方便的作用,学习完find的一些指令并会熟练使用时,你就会发现Linux这个...

Linux下常用的find指令以及其他查找命令

首先顾名思义“find”就是查找的意思,那么接下来说一下find指令的重要性吧,因为在Linux操作系统”一切皆文件“的理念下,我们已经不是靠文件的后缀名来识别一个文件了。这时候你要想找到一个特定的文...

Linux下find指令

在Linux下有一个指令find指令。是一个最常用到的查找命令。

Linux下的粘滞位与find指令

本篇博客给大家简单介绍一下Linux下的粘滞位和find指令,以及它们的使用方法相关例子。 一:Linux下的粘滞位 1.粘滞位: 粘滞位是一个访问权限标志位,可以用来表示文件和路径。 ...

Linux下的find指令

Linux下find命令提供了相当多的查找条件,功能很强大,但是不到万不得已的时候是不会用它来查找文件的,因为它存在两个缺陷:一是查找速度慢,二是费硬盘。        通常情况下,我们都是先使用w...

Linux下的find指令解析

在Linux下,find命令用来在目录结构中搜索指定文件并执行指定操作,它可以根据不同的条件来查找文件,例如权限、拥有者、修改日期/时间、文件大小等等。 find基本语法为: fi...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【linux】linux下find指令的用法总结
举报原因:
原因补充:

(最多只允许输入30个字)