rpm --dump
将以 7 位八进制格式打印文件模式:
$ rpm -q --dump rpm | grep -E '/usr/bin/rpmdb|/var/lib/rpm ' | cut -d' ' -f1,5
/usr/bin/rpmdb 0100755
/var/lib/rpm 040755
$
Run Code Online (Sandbox Code Playgroud)
所有这些数字是什么意思?我想其中一些与文件类型有关,但是如果我有现有文件和标准命令行工具(+ perl/python 等,如有必要),我可以重现相同的字符串吗?
我查看了 rpm(1),它没有显示任何内容(只调用字段“mode”)和 stat(1),它只提到了通常的 4 位模式。我得到的最接近的是关于 AIX 上的 6 位格式的另一个问题。
编辑:我只是注意到它有时是 6 位数字;不过,问题基本相同。
这是结构的st_mode
字段stat
:它对文件类型和模式位进行编码。在 linux 系统上执行man 2 stat
(或可能man 7 inode
)并搜索标题为“文件类型和模式”的部分。例如,0100755 表示“模式为 755 的常规文件”,而 040755 表示“模式为 755 的目录”。
顺便说一句,前导 0 表示“八进制”,因为这些值在头文件中如此指定。位数无关紧要:它只是包含完整值所需要的。
归档时间: |
|
查看次数: |
1307 次 |
最近记录: |