Linux中,全部内容都是以文件的形式存在的,这就意味着所有文件的数量也是惊人的,我们如何在天文数字般的文件中找到我们需要的文件呢?这就要用到文件查找命令,本次我们就探
Linux中,全部内容都是以文件的形式存在的,这就意味着所有文件的数量也是惊人的,我们如何在天文数字般的文件中找到我们需要的文件呢?这就要用到文件查找命令,本次我们就探讨一下其中的find命令。
Find的特性
在文件查找命令中不仅有find命令,还有locate命令,它们既然都是文件查找命令,那么有什么不一样呢? locate: 非实时,模糊匹配,查找是根据全系统文件数据库进行的;手动生成文件数据库 速度快。 find:实时,精确,速度慢,遍历指定目录中的所有文件完成查找。Find的使用
find命令的使用格式如下: find 查找路径 查找标准 查找到以后的处理动作 查找路径:默认为当前目录 查找标准:默认所有文件 处理运转:默认显示出来 下面我们分开来说明。 匹配标准: -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命令吧!希望以上内容对大家有用,谢谢。