如何找到没有粘性位的所有文件和目录?

如何找到没有粘性位的所有文件和目录?

如何找到没有粘性位的所有文件和目录?

我有一堆旧文件需要删除,所以我使用:find . -mtime +3 -a \( -type f -o -type d \)

但是这个 find 命令仍然会找到具有粘性位权限的文件:drwxrwxrwt

我想确保我的查找表达式找不到这些文件。或者...我应该偷懒并忽略“不允许操作”错误(也许这是粘性位的意图/目的...让您删除文件而不必担心意外删除您需要的文件)?

答案1

如果你想找到设置了粘性位的东西,你需要-perm参数,带有斜杠检查任何位的版本 - 但我们只提供一位,即粘性位的八进制版本:

find . -perm /1000

现在你想做相反的事情,所以否定条件:

find . \! -perm /1000

并根据您的命令进行调整:

find . -mtime +3 -a \( -type f -o -type d \) \! -perm /1000

相关内容