You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux系统中如何筛选并列出具备读取权限的文件?

筛选当前用户具备读取权限的文件方法

嘿,这个需求在日常Linux操作里太常见了!给你分享几个实用的命令,轻松搞定这个问题:

最推荐的方法:用find命令的-readable测试

find命令自带的-readable参数会直接检查当前用户是否对文件/目录拥有读取权限,它会自动处理包括ACL、组权限在内的所有权限规则,结果最准确:

# 筛选指定目录下的所有可读普通文件
find /path/to/target/dir -type f -readable

# 如果要同时包含可读目录,去掉-type f即可
find /path/to/target/dir -readable

# 当前目录下筛选的话,用.代替路径
find . -type f -readable

精准匹配用户权限位的方法

如果你想明确只匹配**当前用户(owner)**拥有读权限的文件,可以用-perm参数指定用户权限位:

find /path/to/target/dir -type f -perm -u=r

这里的-u=r表示当前用户权限位的读权限已开启,前面的减号-表示只要满足这个权限条件即可,不需要匹配其他权限位。

补充:用ls结合awk的(局限性较大)方法

这个方法适合快速查看,但它只匹配文件所有者的读权限,无法识别组或其他用户的读权限,所以仅作参考:

ls -l | awk '$1 ~ /^.r/ && $3 == ENVIRON["USER"]'

简单总结一下,优先用find ... -readable,它是最省心也最准确的方案,能覆盖所有权限场景~

内容的提问来源于stack exchange,提问作者A srinivas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:36:46