find命令解析(不一样的查找)


find命令解析(不一样的查找)
 
Linux中,全部内容都是以文件的形式存在的,这就意味着所有文件的数量也是惊人的,我们如何在天文数字般的文件中找到我们需要的文件呢?这就要用到文件查找命令,本次我们就探讨一下其中的find命令。
Find的特性  www.2cto.com  
在文件查找命令中不仅有find命令,还有locate命令,它们既然都是文件查找命令,那么有什么不一样呢?
locate:
非实时,模糊匹配,查找是根据全系统文件数据库进行的;手动生成文件数据库
速度快。
find:实时,精确,速度慢,遍历指定目录中的所有文件完成查找。
Find的使用
find命令的使用格式如下:
find 查找路径 查找标准 查找到以后的处理动作
   www.2cto.com  
查找路径:默认为当前目录
查找标准:默认所有文件
处理运转:默认显示出来
 
下面我们分开来说明。
匹配标准:
 -name 文件名:对文件名做精确匹配
例:查找etc目录下的passwd find /etc –name “passwd”
 -iname:不区分大小写
 -regex 模式:使用正则表达式进行查找
 -user : 根据属主查找
例:查找透tmp目录下属于student的文件 find /tmp –user student
 -group:根据属组查找
 -uid:根据UID查找
 -gid:根据GID查找
 -nouser:查找没有属主的文件
例:查找tmp目录下没有属主的文件 find /tmp -nouser
 -nogrep:查找没有属组的文件
 -type:根据文件类型查找:
例:查找tmp目录下目录 find /tmp –type d
 -size :根据文件大小查找 数字+单位 默认单位是字节
例:查找etc目录下大小为一兆的文件 find /etc –size 1M
 -mtime (-|+)天数:查找修改天数(内|外)的文件
例:查找当前目录下两天内访问的文件 find ./ -atime -2
 -ctime:查找改变天数的文件
 -atime:查找访问天数的文件
 -perm (/|-)权限:
/:只匹配一位权限即可
-:文件权限全包含时才显示
例:查找当前目录下权限为644的文件 find ./ -perm -644
 
合条件组:
 -a:与关系
 -o:或关系
 -not:非关系
使用方法和平常一样,无非是把不同条件逻辑组合在一起使用,这里就不再多讲了。
 
动作:
 -print:显示
 -ls:列表显示
 -exec 命令 {} \;:引用命令完成查找
例:查找当前目录下权限为644的文件并将其权限改为536 find ./ -perm -644 –exec chomd 536
 
上边就是find命令的简单展示和应用,如果想深入的了解其更多用法,就使用man命令吧!希望以上内容对大家有用,谢谢。

相关内容

    暂无相关文章