如何按权限列出文件

如何按权限列出文件

在 ubuntu 中,我们只需使用命令即可查看具有权限的文件列表ls -l。但在这种情况下我可以添加过滤器吗?例如,列出所有权限设置为只读的文件?

答案1

https://superuser.com/a/396516/959374

ls不提供此功能 - 它通常仅用于调整显示选项。你可以使用 find。 例如:

find . -perm -g+s

要模仿ls仅列出当前目录中的文件的行为,请使用该-maxdepth 1选项。

可能的组合是无穷无尽的。请参阅上面链接的帮助以 获取find更多示例以及-/模式,也考虑到/它是仅限 GNU 的扩展并+以 BSD 风格使用find


https://superuser.com/a/396516/959374

ls不直接支持按权限排序,但可以结合sort命令使用:

ls -l | sort

您可以使用-k选项进行排序,从特定字符开始匹配,格式为-k FIELD.CHAR,权限是输出中的第一个字段ls。因此,例如-k 1.2将从权限字符串的第二个字符开始,这将忽略任何目录/设备/链接等标志,或-k 1.5按组权限排序。

如果您不想要的额外输出ls -l,您可以使用 awk 将其删除:

 ls -l | sort | awk '{ print $1, $NF}'

这将仅打印第一个字段(权限)和最后一个字段(文件名)。

相关内容