「-rw--r--r」形式ではなく、数値形式「0777」でファイル/ディレクトリのアクセス権を取得する方法はありますか?
Statコマンドを使用して、ファイルの8進数の許可を表示できます。
stat -c %a [filename]
または、findを使用して:
find [path] -printf '%m %p\n'
Findは再帰的であり、すべてのサブディレクトリのすべてのファイルも印刷することに注意してください。 maxdepth
やPrune
などのオプションを使用して、再帰を停止できます。
私はこれが古い投稿であることを知っていますが、これに対する解決策を探しているときに見つけて、それを拡張しました:
stat -c '%a - %n'
ファイルのアクセス許可とファイル名が表示されます。これにより、フォルダ内のすべてのファイルの権限を次のように表示できます。
stat -c '%a - %n' *
また、これをさらに一歩進めてエイリアスを作成しました。
alias perms="stat -c '%a - %n'"
したがって、perms *と入力すると、すべてのファイルのアクセス許可が付与されます。または、perms file.phpを使用すると、その1つのファイルのみのアクセス許可が付与されます。
この回避策も使用できます。
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}'