我需要设计一个find
命令来搜索:
- 所有 C# 或 Java 程序
- 位于当前用户的主目录中
- 至少有一个硬链接
- 适合所有人阅读
- 至少设置一个写入位
- 任何人都无法执行
除了最后一个标准之外,我已经找到了所有问题的答案,这是我的代码:
find /home -name "*.c" "*.java" -links 1 (-perm -a=r -a -perm -a=!x)
我觉得它确实不正确而且不完整。帮忙吗?
答案1
find $HOME \(-name '*.java -o -name '*.c' \) \ # home directory && filenames
-link +0 \ # one or more hard links
! -perm -111 \ # not executable by anybody -111 means "any of"
-perm /444 \ # at least one write bit set
-perm 666 # ugo read
你可以把它重新组合成更长、更难阅读的一行。我把它拆分成几行,让它更易读。