linux - 如何在bash中输出目录的不可读内容

标签 linux file bash permissions directory

在 bash 中如何输出目录的不可读内容?

例如,假设目录是 ~/foo,并且有一个不可读的文件夹 ~/foo/folder 和一个文件 ~/foo/folder/file1.txt,和另一个不可读文件 ~/foo/file2.txt。我要输出:

~/foo/folder cannot be read.
~/foo/folder/file1.txt cannot be read.
~/foo/file2.txt cannot be read.

最佳答案

如果您无法读取文件夹 ~/foo/folder,则您无法检测其中的任何文件,无论它们是否可读。

如果你可以阅读~/foo,你可以遍历所有文件和目录并测试它们是否可读:

find ~/foo | while read file; do
    if test \! -r "$file"; then
        echo "$file cannot be read"
    fi
done

关于linux - 如何在bash中输出目录的不可读内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13131044/

相关文章:

linux - 删除字符串直到某个字符第一次出现

php - Curl:保存文件而不是打开文件

bash - 删除标点符号标准输入。

bash - 如何在bash脚本中将一个文件夹中的所有tif文件转换为pdf并保存在另一位置而不循环?

bash - Makefile 错误退出并显示一条消息

python - ipython 内核在 16gb 的 linux 盒子中最大容量为 3gb?

c - 如何在 Linux 中获取本地(区域)日期格式?

Windows cmd提示移动文件

file - 使用gstreamer在avi文件中停止音频

Linux Makefile : Why include/config/%. conf 总是被构建?