递归列出文件的文件名、文件夹名和权限

递归列出文件的文件名、文件夹名和权限

无论如何,我可以通过在 shell 中键入命令来列出文件,该命令会列出 CentOS 中的所有文件名、文件夹名称及其权限?

答案1

看一下,您可能必须先安装它。每个默认树不显示权限,要在文件名运行旁边显示权限

tree -p

这将递归地列出当前目录中的所有文件夹和目录,包括权限。

答案2

ls -lR递归列出目录的内容。输出很难自动处理,但对于手动浏览来说可能很好,因为它是您所熟悉的。

find命令递归地列出文件。您可以自定义其输出,例如以下命令会像ls -l在每个文件名之前一样打印权限:

find -printf '%M %p\n'

如果文件名中没有换行符,则可以机械处理此输出。如果将\n(newline) 替换为\000(null byte),则可以使用支持 null 分隔记录的工具处理输出。

两者ls都只find打印传统的 UNIX 权限,而不打印访问控制列表。要递归列出所有文件权限(包括 ACL 信息),请运行

getfacl -R .

输出可以进行机械处理(特殊字符排序);特别是,它可以将setfacl --restore权限复制到具有相同文件名的另一棵树。

答案3

你想要find这个。

find some/dir -ls > output.txt

来自find手册页:

-ls

    真的;列出当前文件ls -dils标准输出的格式。

来自ls手册页:

-l

    使用长列表格式

答案4

ls是一个在 Unix 中列出计算机文件的命令

ls -l列出目录中的项目
ls -R递归列出文件

ls -lR

相关内容