加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

在linux上只查找权限未设置为644的目录中的文件

发布时间:2020-12-13 17:56:10 所属栏目:Linux 来源:网络整理
导读:这是我的第一个问题,虽然我已经潜伏了一段时间. 题: 我想使用find来获取权限未设置为644(或其他权限值)的目录中的文件.有没有更短的方式来写这个或只是使用-perm和-or选项并列出除644之外的每个权限类型的唯一方法? 这是我希望加速的更大命令的一部分: fi
这是我的第一个问题,虽然我已经潜伏了一段时间.

题:
我想使用find来获取权限未设置为644(或其他权限值)的目录中的文件.有没有更短的方式来写这个或只是使用-perm和-or选项并列出除644之外的每个权限类型的唯一方法?

这是我希望加速的更大命令的一部分:

find /path/to/dir/ -type f -print0 | xargs -0 chmod 644

我希望只提供xargs需要更新的文件名才能加快速度.该目录有大约一百万个文件,但只有~10,000通常需要更新权限.我认为命令很慢,因为它仍然管道所有文件,无论如何.也许对更大的命令有更有效的方法.如果你知道一个,请告诉我.我仍然想知道这个问题的答案.顺便说一句,在将文件添加到目录之前,我无法更新权限.

解决方法

的!当条件为false时,operator返回true.

因此,当-perm 0644匹配具有rw-r – r–权限集的文件时,! -perm 0644匹配那些没有这些权限的那些.

您需要的命令是:

find /path/to/dir/ -type f ! -perm 0644 -print0 | xargs -0 chmod 644

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读