ファイルのパーミッション
755
493
7 × 64 + 5 × 8 + 5 × 1 = 448 + 40 + 5 = 493。
8進数を入力すると10進数の値が表示され、その下に計算過程が並びます。最初は、最もよく使われるファイルパーミッションで493になる755が入っています。
最終更新
Coddyはブラウザ上で実際にコードを書きながら学ぶサービスです。インタラクティブなレッスン、即時フィードバック、行き詰まったときのAIサポート付き。
8進数は基数8の記数法なので、使う数字は0〜7で、各桁の重みは右隣の8倍です:1、8、64、512、4096。8進数に8と9の数字は出てきません。
変換するには、各桁にその位の重みを掛けて足します。17 は 1 × 8 + 7 = 15、100 は 1 × 64 = 64 です。変換ツールの下のパネルには、入力した値についてこの計算式が表示されます。
8進数が今も主に使われているのはUnixのファイルパーミッションで、各桁に読み取り(4)、書き込み(2)、実行(1)の3ビットが詰まっています。そのため chmod 755 は所有者に読み取り・書き込み・実行を、ほかのユーザーに読み取りと実行を与えます。
0o が8進数の印です(PythonやJavaScriptの 0o755)。Cでは先頭の 0 が8進数を表します。755
493
7 × 64 + 5 × 8 + 5 × 1 = 448 + 40 + 5 = 493。
17
15
1 × 8 + 7 = 15。8進数の20(つまり16)より1小さい値です。
600
384
6 × 64 = 384。所有者は読み取りと書き込みができ、ほかの人は何もできません。
777
511
7 × 64 + 7 × 8 + 7 = 511。8³、つまり512より1小さい値です。
10 は8です。0755 のようなCのリテラルを10進数として読んでしまう。先頭の0で8進数になるので、値は493です。chmod 755 は8進数を受け取るので、数字はそのまま渡します。int('755', 8) が493を返します。JavaScriptでは parseInt('755', 8) で同じ結果になります。chmod 644 や chmod 755 など)と、一部の古いファイル形式です。8進数1桁は3ビットで、3つのパーミッションフラグにちょうど対応します。