Bash文件或目录可读吗?

时间:2013-09-22 17:39:31

标签: bash shell

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

我尝试了find -readable,但它输出了至少一个用户可读的内容。 有什么想法吗?

2 个答案:

答案 0 :(得分:3)

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

执行此操作的一种方法
find -perm -o=r

那将包括文件和目录。要特定于文件,请添加`-type f``:

find -perm -o=r -type f

它可能与-0004相同:

find -perm -0004 -type f

答案 1 :(得分:0)

试试这个:

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

如果您使用,则可以使用以下方式递归执行:

shopt -s globstar
for i in **; do
...