在 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}'
这将仅打印第一个字段(权限)和最后一个字段(文件名)。