Linux で rwx 権限を 8 進形式に変換する
ファイルまたはディレクトリのアクセス権を rwx
の代わりに 8 進数形式で表示したり、両方を表示したりすると便利な場合があります。
古き良き ls -l
コマンドを使用する代わりに、最新の Linux ディストリビューション (すべてではないにしても) のほとんどには、ファイルまたはファイル システムのステータスを表示するユーティリティである stat
が含まれています。
引数を指定せずに指定したファイル名を指定して実行すると、stat
はファイルまたはディレクトリに関する大量の情報を表示します。 -c
オプションとともに使用すると、stat を使用して出力形式を指定できます。私たちにとって特に興味深いのは、まさにこのオプションです。
現在の作業ディレクトリ内のすべてのファイルを表示し、アクセス権を 8 進数形式で表示するには、次のように入力します。
stat -c '%n %a' *
サンプル出力
add_emails.sh 755
anaconda-ks.cfg 600
delete_emails.sh 755
employee-dump.sql 644
index.html 644
latest.tar.gz 644
nrpe-2.15.tar.gz 644
php7 644
playbook.retry 644
上記のコマンドのフォーマット シーケンスは次のとおりです。
%n
– ファイル名を意味します%a
– 8 進数形式のアクセス権を意味します
あるいは、rwx< で権限を表示したい場合は、
形式も同様です。%a
を %A
に追加し、この引数を stat に渡すこともできます。
その場合は、次のように入力できます。
stat -c '%n %A' *
サンプル出力
add_emails.sh -rwxr-xr-x
anaconda-ks.cfg -rw-------
delete_emails.sh -rwxr-xr-x
employee-dump.sql -rw-r--r--
index.html -rw-r--r--
latest.tar.gz -rw-r--r--
nrpe-2.15.tar.gz -rw-r--r--
php7 -rw-r--r--
playbook.retry -rw-r--r--
出力内のファイルの種類を表示するには、%F
形式のシーケンスを追加します。
stat -c '%c %F %a'
他にも指定できるフォーマット シーケンスがいくつかあります。詳細については、stat man
ページを参照してください。
man stat
このヒントでは、ファイルまたはファイル システムのステータスを表示するのに役立つstat と呼ばれる重要な Linux ユーティリティについて説明しました。ここでの主な焦点は、rwx
アクセス権を従来の ls -l
出力から 8 進数形式に変換することでした。
先ほども述べたように、最近の Linux ディストリビューションの多くには統計ユーティリティが付属しています。ただし、シェルには独自のバージョンの stat が付属している場合があることにも留意する必要があります。そのため、オプションとその使用方法の詳細については、シェルのドキュメントを参照してください。