当前位置: 首页>>技术教程>>正文


directory – 如何在终端中获取文件夹的 chmod(八进制)权限?

,

问题描述

我可以查看此文件夹的属性,但我想快速获取数字属性(八进制,例如 755 等)

我要在终端中输入什么才能知道我想要的文件或文件夹的 chmod?

最佳办法

\\n

What am i to type in terminal to know the chmod of the folder i want?

\\n

stat -c %a FILE_OR_FOLDER_PATH

例如stat -c %a /etc 显示 755

次佳办法

stat FILE_OR_FOLDER_PATH

这更快但显示了全部

第三种办法

GNU 查找

-printf 标志使用 %m 格式。

$ find /etc/ -maxdepth 0 -printf "%m\n"                                                                                                                                                 
755

或者

$ find /etc/ -prune -printf "%m\n"                                                                                                                                                      
755

Python

$ python -c 'import os,sys;print(oct(os.stat(sys.argv[1]).st_mode))' /etc                                                                                                               
040755

或者,如果我们只想获得 owner-group-other 权限位:

$ python -c 'import os,sys;print(oct(os.stat(sys.argv[1]).st_mode)[-3:])' /etc                                                                                                          
755

Perl

通过 File::stat ,与 documentation 几乎相同:

$ perl -le 'use File::stat; $fs=stat($ARGV[0]);printf "%o\t%s\n",$fs->mode & 07777,$ARGV[0]' /etc                                                                                       
755 /etc

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13441.html,未经允许,请勿转载。