在 Linux 中,如何列出当前目录中用户不可写的普通文件?我尝试使用 ls -l 命令。但它显示了所有者和组文件。是否有命令可以显示这些?
答案1
您可以使用以下方法执行此操作find
:
find -maxdepth 1 -type f ! -writable -ls
参数:
-maxdepth 1
:find
是递归的,这会将结果限制在当前文件夹及其子文件夹内-type f
:仅返回文件(不返回文件夹或链接)! -writable
:仅返回不可写的当前用户。-ls
不要仅仅返回文件名,还要模拟ls -l
输出。
或者,如果您不关心所有者和组以及当前用户,则只关心权限位:
find -maxdepth 1 -type f ! -perm -200 -ls
! -perm -200
返回那些不是拥有设置的所有权限位200
(即可用户写)。