![递归列出文件的文件名、文件夹名和权限](https://linux22.com/image/43237/%E9%80%92%E5%BD%92%E5%88%97%E5%87%BA%E6%96%87%E4%BB%B6%E7%9A%84%E6%96%87%E4%BB%B6%E5%90%8D%E3%80%81%E6%96%87%E4%BB%B6%E5%A4%B9%E5%90%8D%E5%92%8C%E6%9D%83%E9%99%90.png)
无论如何,我可以通过在 shell 中键入命令来列出文件,该命令会列出 CentOS 中的所有文件名、文件夹名称及其权限?
答案1
答案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
答案4
ls
是一个在 Unix 中列出计算机文件的命令
ls -l
列出目录中的项目
ls -R
递归列出文件
ls -lR