web-dev-qa-db-ja.com

ファイル許可を数字の形式、つまり「0755」で表示しますか?

「-rw--r--r」形式ではなく、数値形式「0777」でファイル/ディレクトリのアクセス権を取得する方法はありますか?

27
amosrivera

Statコマンドを使用して、ファイルの8進数の許可を表示できます。

stat -c %a [filename]

または、findを使用して:

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

Findは再帰的であり、すべてのサブディレクトリのすべてのファイルも印刷することに注意してください。 maxdepthPruneなどのオプションを使用して、再帰を停止できます。

35
Cedric

私はこれが古い投稿であることを知っていますが、これに対する解決策を探しているときに見つけて、それを拡張しました:

stat -c '%a - %n'

ファイルのアクセス許可とファイル名が表示されます。これにより、フォルダ内のすべてのファイルの権限を次のように表示できます。

stat -c '%a - %n' *

また、これをさらに一歩進めてエイリアスを作成しました。

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

したがって、perms *と入力すると、すべてのファイルのアクセス許可が付与されます。または、perms file.phpを使用すると、その1つのファイルのみのアクセス許可が付与されます。

7
rmmoul

この回避策も使用できます。

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}'
6
Maythux