當前位置: 首頁>>技術教程>>正文


filesystem – 以數字格式顯示文件權限,即 “0755”?

,

問題描述

有沒有辦法以數字格式 “0777” 而不是 “-rw–r–r” 格式獲取文件/目錄權限?

最佳方法

您可以使用 stat 命令顯示文件的八進製權限:

stat -c %a [filename]

或者通過使用查找:

find [path] -printf '%m %p\n'

請注意,查找是遞歸的,並且還將打印所有子目錄中的所有文件。您可以使用 maxdepthprune 等選項來阻止它遞歸。

次佳方法

我知道這是一篇舊文章,但我在尋找解決方案時發現了它,並對其進行了擴展:

stat -c '%a - %n'

這將顯示文件權限和文件名。這使您可以通過以下方式查看文件夾中每個文件的權限:

stat -c '%a - %n' *

我還更進一步,做了一個別名:

alias perms="stat -c '%a - %n'"

所以輸入 perms * 會給我每個文件的權限,或者 perms file.php 會給我那個文件的權限。

對於在尋找 OSX 解決方案時發現此問題的用戶:

10.10 之後的 OSX 版本不再有接受 -c 參數的 stat 版本。如果您收到有關“非法選項 — c”的錯誤,那麽您應該能夠使用此統計命令:

stat -f "%A -  %N" *

這也可以像我之前共享的命令一樣使用別名:

alias perms="stat -f '%A -  %N'"

第三種方法

您也可以使用此解決方法:

find FILENAME/DIRECROY -printf "%m:%f\n"

示例檢查我的視頻目錄:

find Videos -printf "%m:%f\n"

755:Videos

另一種方法:

用於列出所有目錄文件及其權限

ls -l | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/) \
             *2^(8-i));if(k)printf("%0o ",k);print}'

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/13323.html,未經允許,請勿轉載。