首页 运维 linux运维 Linux中文件查找命令find

Linux中文件查找命令find

Jun 04, 2020 am 09:53 AM
1

find命令是我最喜欢的命令之一,有它可以方便的查找出我想要找到文件,它可以支持太多的方法去查找,可以按照文件名、按文件大小、按文件类型等等。下面,我们一起来看看吧。

语法:find [查找路径] [选项] [动作]

find命令的选项可不要太多,今天我只会讲一些经常会用到的选项。

根据文件名查找

通过文件名查找的选项为-name,他支持简单的正则查找。

比如,我知道locale.conf,保存在/etc目录下,但具体路径忘记了,那么

# find /etc/ -name locale.conf/etc/locale.conf
登录后复制

就可以找出该文件具体路径了。

现在我想要知道某个目录下php文件有多少个,那么可以使用以下命令来完成。

# find default -name *.php | wc -l122
登录后复制

或选项-o

这里再介绍一个选项,-o,他表示或的意思,一般默认find选项之间都是且的意思。下面看一个实例,查找某目录下,php或js文件的数量总和。

# find default -name *.php -o -name *.js | wc -l225
登录后复制

根据文件类型及目录深度查找

查找文件类型需要使用-type选项,常用的类型有f(文件)、d(目录)。另外再介绍个选项,-maxdepth表示最多递归几层目录。

# find ./  -maxdepth 1  -type d././default./default.bak
登录后复制

否定选项!

# find ./  -maxdepth 1 ! -type f././default./default.bak
登录后复制

与时间相关的查找

与时间有关的选项:共有-atime, -ctime 与-mtime ,以-mtime 说明
-mtime n n 为数字,意义为在n 天之前的『一天之内』被更动过内容的文件;
-mtime n 列出在n 天之前(不含n 天本身)被更动过内容的文件文件名
-mtime -n列出在n 天之内(含n 天本身)被更动过内容的文件文件名
-newer file file 为一个存在的文件,列出比file 还要新的文件文件名

这个选项很有作用,比如进行数据定时备份时,只保留最近7天的数据,超过7天的自动删除就会用到该选项。注意+n表示n天之前,-n表示n天之内。

# find $bakdir -name "*.sql.bz2" -type f -mtime +7 -exec rm -rf {} \;
登录后复制

根据用户名、组来查找

与使用者或群组名称有关
-uid n n 为数字,这个数字是使用者的帐号ID,亦即UID
-gid n n 为数字,这个数字是群组名称的ID,亦即GID
-user name name 为使用者帐号名称,例如dmtsai
-group name name 为群组名称,例如users ;
-nouser寻找文件的拥有者不存在 的人!
-nogroup 寻找文件的拥有群组不存在于/etc/group 的文件!

查找某目录下,所有者不是www的文件有哪些。

find /home/wwwroot/default ! -user www | wc -l
登录后复制

根据文件大小查找

按文件大小查找使用-size选项,比如查找大于1M的文件,那么使用-size +1M,如果查找小于1K的,那么使用-size -1K

# find /home/wwwroot/default -size +1M
# find /home/wwwroot/default -size -1k
登录后复制

根据文件权限查找

  • -perm mode 搜寻文件权限『刚好等于』 mode 的文件,这个mode 为类似chmod的属性值,举例来说, -rwsr-xr-x 的属性为4755 !

  • -perm -mode 搜寻文件权限『必须要全部囊括mode 的权限』的文件,举例来说,我们要搜寻-rwxr--r-- ,亦即0744 的文件,使用-perm -0744,当一个文件的权限为-rwsr-xr-x ,亦即4755 时,也会被列出来,因为-rwsr-xr-x 的属性已经囊括了-rwxr--r-- 的属性了。

  • -perm /mode 搜寻文件权限『包含任一mode 的权限』的文件,举例来说,我们搜寻-rwxr-xr-x ,亦即-perm /755 时,但一个文件属性为-rw-------也会被列出来,因为他有-rw.... 的属性存在!

我们知道,文件的权限一般为644,目录的权限一般为755。如果,不是等于这个权限,可能就会有点问题,那么我们来找找看,是否有这类文件。

find /home/wwwroot/default ! -perm 644 -type d -exec ls -ld {} \;
# 查找权限不是644的文件,并将其修改为644
find /home/wwwroot/default ! -perm 644 -type f | xargs -n 10 chmod 644;
登录后复制

动作执行

其实这个命令上面已经使用到了,使用-exec选项,然后接命令,最后要以{} ;结尾,比如

find /home/wwwroot/default ! -perm 644 -type d -exec ls -ld {} \;
登录后复制

其他

find还支持正则(-regex)查找文件名,还可以不区分大小写(-iregex);

使用-empty可以查找文件大小为0的文件。

# find . -empty -exec ls -l {} \;
登录后复制

以上是Linux中文件查找命令find的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

linux常用命令查找关键字教程 linux常用命令查找关键字教程 Mar 05, 2025 am 11:45 AM

该教程使用GREP命令族和相关工具在Linux中演示了有效的关键字搜索。 它涵盖了基本和先进的技术,包括正则表达式,递归搜索以及诸如awk,sed和xa之类的命令

Linux运维工程师工作内容 Linux运维工程师是干嘛的 Linux运维工程师工作内容 Linux运维工程师是干嘛的 Mar 05, 2025 am 11:37 AM

本文详细介绍了Linux系统管理员的多面作用,包括系统维护,故障排除,安全性和协作。 它突出了基本的技术和软技能,工资期望以及多样化的职业生涯公关

如何配置Selinux或Apparmor来增强Linux的安全性? 如何配置Selinux或Apparmor来增强Linux的安全性? Mar 12, 2025 pm 06:59 PM

本文比较了Selinux和Apparmor,Linux内核安全模块提供了强制性访问控制。 它详细介绍了他们的配置,突出了方法的差异(基于策略和基于个人资料)和潜在的绩效影响

如何备份并还原Linux系统? 如何备份并还原Linux系统? Mar 12, 2025 pm 07:01 PM

本文详细介绍了Linux系统备份和恢复方法。 它将完整的系统映像备份与增量备份进行比较,讨论最佳备份策略(规则性,多个位置,版本控制,测试,安全性,旋转)和DA

如何在Linux中使用正则表达式(REGEX)进行模式匹配? 如何在Linux中使用正则表达式(REGEX)进行模式匹配? Mar 17, 2025 pm 05:25 PM

本文介绍了如何在Linux中使用正则表达式(REGEX)进行模式匹配,文件搜索和文本操作,详细列式,命令和工具,例如GREP,SED和AWK。

如何使用TOP,HTOP和VMSTAT等工具来监视Linux中的系统性能? 如何使用TOP,HTOP和VMSTAT等工具来监视Linux中的系统性能? Mar 17, 2025 pm 05:28 PM

本文讨论了使用TOP,HTOP和VMSTAT监视Linux系统性能,并详细介绍其独特功能和自定义选项,以进行有效的系统管理。

如何在Linux中实现SSH的两因素身份验证(2FA)? 如何在Linux中实现SSH的两因素身份验证(2FA)? Mar 17, 2025 pm 05:31 PM

本文提供了有关使用Google Authenticator在Linux上设置两因素身份验证(2FA)的指南,详细介绍了安装,配置和故障排除步骤。它突出了2FA的安全益处,例如增强的SEC

linux常用命令上传文件方法 linux常用命令上传文件方法 Mar 05, 2025 am 11:42 AM

本文比较了用于上传文件的Linux命令(SCP,SFTP,RSYNC,FTP)。 它强调了安全性(偏爱基于SSH的方法)和效率,从而突出了Rsync的Delta传输功能。 选择取决于文件大小,

See all articles