Bahasa Melayu

Alat pembangun · Kalkulator Chmod

Mengapa chmod menggunakan oktal: asas-8 trengkas dan dari mana asalnya

· Latar belakang

chmod unix kawalan akses

kumpulan oktal ditunjukkan sebagai gambar rajah bit kebenaran Unix yang berbeza
Ilustrasi vektor ToolAcre asal

Octal kelihatan sewenang-wenang sehingga anda perasan bahawa satu digit memegang tepat tiga bit. Siaran ini menerangkan kesesuaian antara asas 8 dan rwx, tabiat era DEC yang menjadikan perlapanan semula jadi dan konvensyen sifar terkemuka.

Mengapa 755 dan bukan 493 — mod yang sama dalam perpuluhan tidak bermakna apa-apa kepada sesiapa sahaja dan terdapat sebab oktal menang

Nilai perpuluhan 493 dan oktal 755 boleh mewakili integer yang sama, tetapi 755 mendedahkan pengumpulan kebenaran secara langsung. Setiap digit yang dipaparkan sepadan dengan satu kelas, dan setiap kelas mengandungi tepat tiga pilihan binari. Kalkulator berfungsi daripada padanan aritmetik itu; ia tidak memerlukan cerita sejarah untuk menunjukkan mengapa oktal boleh dibaca untuk mod rwx.

Masukkan 755 dan output menjadi rwxr-xr-x. Pemilik menerima 7, kumpulan 5 dan 5 yang lain. Menukar integer yang sama kepada label perpuluhan tidak terkumpul akan menyembunyikan sempadan kelas tersebut. Ini menerangkan kegunaan notasi di dalam model yang dilaksanakan tanpa menuntut sebab setiap arahan atau platform luaran menggunakannya.

Tiga bit setiap digit — cara asas 8 mengumpulkan perduaan menjadi tiga kali ganda yang berbaris tepat dengan r, w dan x

Satu digit asas-lapan menjangkau nilai sifar hingga tujuh, betul-betul jumlah yang tersedia daripada tiga bit bebas berwajaran 4, 2, dan 1. Peta gabungan dengan bersih: 0 ialah ---, 1 ialah --x, 2 ialah -w-, 3 ialah -wx, 4 ialah r--, 5 ialah r-x, 6 ialah rw-, dan 7 ialah rwx.

Oleh itu, tiga digit biasa sejajar dengan pemilik, kumpulan dan lain-lain. Untuk 640, tiga kali ganda binari ialah 110, 100 dan 000, menghasilkan rw-r-----. Matriks kotak semak menjadikan kumpulan yang sama kelihatan tanpa memerlukan tatatanda binari. Menukar satu kebenaran sahaja mengubah jumlah kelas yang sepadan dan kedudukan simboliknya yang berkaitan.

Tabiat perkakasan — mesin DEC awal Unix dijalankan telah didokumenkan dalam oktal, jadi pengaturcara sudah memikirkannya

Sumber repositori tidak mewujudkan keturunan perkakasan untuk tatatanda perlapanan. Ia mengandungi topeng bit JavaScript, peraturan penghurai, ujian dan kawalan antara muka pengguna, bukan dokumentasi untuk pemproses atau persekitaran pembangunan terdahulu. Sebarang dakwaan bahawa budaya mesin tertentu menyebabkan penerimaan akan memerlukan bukti sejarah di luar fail yang dibenarkan untuk artikel ini.

Penjelasan yang disokong sumber adalah aritmetik. Tiga bit mempunyai lapan kombinasi yang mungkin, jadi satu asas-lapan digit menangkap satu rwx tiga kali ganda tanpa melintasi sempadan kelas. Hubungan itu boleh ditunjukkan dalam setiap hasil kalkulator. Ia kekal sah sama ada akaun sejarah yang lebih luas akhirnya dibekalkan daripada sumber utama atau tidak.

Sejarah perkakasan tidak ditubuhkan oleh sumber repositori

Penghurai menerima satu hingga empat digit perlapanan dan memotong awalan 0o pilihan. Akibatnya, 644, 0644 dan 0o644 semuanya diselesaikan dengan nilai yang sama. Digit 8 dan 9 ditolak dengan penjelasan khusus kerana kedua-duanya tidak tergolong dalam asas lapan, dan teks yang tidak betul tidak diteka dalam mod yang sah.

Digit bererti terkemuka membawa bit khas dan bukannya kelas biasa yang lain. Pemberat 4, 2 dan 1nya mewakili setuid, setgid dan melekit, manakala digit di belakang mengekalkan pemilik, kumpulan dan lain-lain. Pemformat menunjukkan tiga digit apabila tiada bit khas ditetapkan dan empat apabila satu diperlukan, melainkan output empat digit diminta secara eksplisit.

Borang terkemuka yang diterima dan digit bit khas dalam penghurai ini

Menukarkan 0644 sebanyak tiga kali ganda memberikan 6, 4 dan 4. Dalam binari mereka adalah 110, 100, dan 100, jadi hasil simbolik ialah rw-r--r--. Pemilik telah membaca dan menulis, manakala kumpulan dan lain-lain telah membaca sahaja. Setiap paparan diperoleh daripada integer yang sama, membenarkan semakan konsistensi langsung.

Membalikkan proses mencapai hasil yang sama. Mulakan dengan rw-r--r--, tambahkan 4 dan 2 untuk pemilik, ambil 4 untuk kumpulan dan ambil 4 untuk yang lain. Digit ialah 644. Sifar pendahuluan pilihan yang diterima oleh penghurai tidak menambah bit khas; ia meninggalkan nilai berangka tidak berubah.

Mengapa perenambelasan tidak pernah mengambil alih — dua digit heks tidak berpecah kepada tiga kelas dengan bersih

Perenambelasan boleh mengekod integer, tetapi sempadan empat-bit digitnya tidak sejajar dengan kelas kebenaran tiga-bit. Itu adalah perbandingan aritmetik, bukan bukti tentang notasi yang disukai oleh orang secara sejarah. Kalkulator tidak menerima input perenambelasan, dan outputnya direka bentuk sekitar digit perlapanan, kedudukan simbolik dan dinamakan kawalan Boolean.

Sebagai contoh, kebenaran biasa menduduki sembilan bit, secara semula jadi boleh dilihat sebagai tiga kumpulan oktal. Mengumpulkan bit yang sama ke dalam ketulan empat bit akan memisahkan kelas rwx merentasi sempadan digit. Ini menjadikan perenambelasan kurang telus untuk tujuan paparan ini, tetapi tiada tuntutan tentang penerimaan, piawaian atau sejarah baris perintah berikutan daripada pemerhatian itu sahaja.

Perbandingan heksadesimal ialah aritmetik, bukan bukti penerimaan sejarah

Pemalar bernama daripada bahasa lain atau antara muka sistem berada di luar pelaksanaan JavaScript ini. Repositori menggunakan sifat deskriptifnya sendiri seperti ownerRead, groupWrite, otherExecute, setuid, setgid dan sticky. Nama tersebut menjadikan aritmetik bit dalaman boleh dibaca tanpa menyatakan kesetaraan dengan pengepala luaran tertentu atau API.

Kekal dalam perkara yang boleh disahkan oleh alat: nilai berangka mod yang dibekalkan, boolean kelasnya, pemaparan simbolik, penjelasan dan teks arahan yang dijana. Halaman pelayar tidak memeriksa platform sasaran atau menyusun pemalar asli. Sesiapa yang menterjemahkan hasil ke dalam antara muka pengaturcaraan lain harus merujuk dokumentasi berwibawa antara muka tersebut secara berasingan.

Pemalar C bernama berada di luar pelaksanaan JavaScript ini

Octal sesuai dengan kalkulator ini kerana setiap kelas kebenaran ialah kuantiti tiga bit dan setiap digit asas lapan membawa tepat tiga bit. Surat-menyurat boleh dilihat, boleh diterbalikkan dan mudah diuji. Bit khas menggunakan digit keempat dengan corak 4, 2 dan 1 yang sama, manakala simbolik s, S, t dan T mengekalkan butiran kedudukan pelaksanaannya.

Gunakan notasi sebagai alat bantu semakan dan bukannya mantera. Pecah nilai kepada pemilik, kumpulan, lain-lain dan sebarang awalan khas; sahkan surat dan kotak; kemudian memutuskan kesesuaian daripada pemilikan sebenar dan bukti beban kerja. Aritmetik menerangkan kumpulan sepenuhnya tanpa tuntutan yang tidak disokong tentang sejarah perkakasan, piawaian atau dasar universal.