1

在 bash shell 中,我如何输出所有用户(即用户、组和其他用户)可读的文件。

我试过find -readable了,但它输出了至少一个用户可以阅读的内容。任何想法?

4

2 回答 2

3

有许多因素可能会影响一个用户如何读取文件,但基本上您可以在others组中搜索具有 +r 属性的文件。这是使用以下方法的一种方法find

find -perm -o=r

这将包括文件和目录。具体到文件,添加`-type f`:

find -perm -o=r -type f

它可能与以下内容相同-0004

find -perm -0004 -type f
于 2013-09-22T17:43:21.870 回答
0

尝试这个 :

for i in *; do
    [[ $(stat -c %A "$i") =~ (-rw.rw.rw.|drwxrwxrwx) ]] && echo "$i"
done

如果你使用,你可以递归地使用:

shopt -s globstar
for i in **; do
...
于 2013-09-22T17:45:33.913 回答