在 bash shell 中,我如何输出所有用户(即用户、组和其他用户)可读的文件。
我试过find -readable
了,但它输出了至少一个用户可以阅读的内容。任何想法?
有许多因素可能会影响一个用户如何读取文件,但基本上您可以在others
组中搜索具有 +r 属性的文件。这是使用以下方法的一种方法find
:
find -perm -o=r
这将包括文件和目录。具体到文件,添加`-type f`:
find -perm -o=r -type f
它可能与以下内容相同-0004
:
find -perm -0004 -type f
尝试这个 :
for i in *; do
[[ $(stat -c %A "$i") =~ (-rw.rw.rw.|drwxrwxrwx) ]] && echo "$i"
done
如果你使用bash4,你可以递归地使用:
shopt -s globstar
for i in **; do
...