Bahasa Indonesia

Alat pengembang · Kalkulator Chmod

Mengapa chmod menggunakan oktal: singkatan dasar-8 dan dari mana asalnya

· Latar belakang

chmod unix kontrol akses

pengelompokan oktal ditampilkan sebagai diagram bit izin Unix yang berbeda
Ilustrasi vektor ToolAcre asli

Oktal terlihat berubah-ubah sampai Anda menyadari bahwa satu digit menampung tepat tiga bit. Posting ini menjelaskan kecocokan antara basis 8 dan rwx, kebiasaan era DEC yang menjadikan oktal alami, dan konvensi awalan nol.

Mengapa 755 dan bukan 493 — mode desimal yang sama tidak ada artinya bagi siapa pun, dan ada alasan mengapa oktal menang

Nilai desimal 493 dan oktal 755 dapat mewakili bilangan bulat yang sama, namun 755 memperlihatkan pengelompokan izin secara langsung. Setiap digit yang ditampilkan berhubungan dengan satu kelas, dan setiap kelas berisi tepat tiga pilihan biner. Kalkulator bekerja berdasarkan perhitungan aritmatika itu; tidak memerlukan cerita sejarah untuk menunjukkan mengapa oktal dapat dibaca untuk mode rwx.

Masukkan 755 dan hasilnya menjadi rwxr-xr-x. Pemilik menerima 7, grup 5, dan 5 lainnya. Mengonversi bilangan bulat yang sama menjadi label desimal yang tidak dikelompokkan akan menyembunyikan batas kelas tersebut. Hal ini menjelaskan kegunaan notasi dalam model yang diimplementasikan tanpa menjelaskan alasan setiap perintah atau platform eksternal mengadopsinya.

Tiga bit per digit — bagaimana basis 8 mengelompokkan biner menjadi tiga kali lipat yang sejajar dengan r, w, dan x

Digit basis delapan mencakup nilai nol hingga tujuh, tepatnya total yang tersedia dari tiga bit independen berbobot 4, 2, dan 1. Kombinasi dipetakan dengan rapi: 0 adalah ---, 1 adalah --x, 2 adalah -w-, 3 adalah -wx, 4 adalah r--, 5 adalah rx, 6 adalah rw-, dan 7 adalah rwx.

Oleh karena itu, tiga digit biasa sejajar dengan pemilik, grup, dan lainnya. Untuk 640, tripel biner adalah 110, 100, dan 000, menghasilkan rw-r-----. Matriks kotak centang membuat pengelompokan yang sama terlihat tanpa memerlukan notasi biner. Mengubah satu izin hanya akan mengubah total kelas terkait dan posisi simbolis terkait.

Kebiasaan perangkat keras — mesin DEC yang dijalankan Unix awal didokumentasikan dalam oktal, jadi pemrogram sudah memikirkannya

Sumber repositori tidak menetapkan garis keturunan perangkat keras untuk notasi oktal. Mereka berisi JavaScript bit mask, aturan parser, pengujian, dan kontrol antarmuka pengguna, bukan dokumentasi untuk prosesor atau lingkungan pengembangan sebelumnya. Setiap klaim bahwa budaya mesin tertentu menyebabkan adopsi memerlukan bukti sejarah di luar file yang diizinkan untuk artikel ini.

Penjelasan yang didukung sumber adalah aritmatika. Tiga bit memiliki delapan kemungkinan kombinasi, jadi satu digit basis delapan menangkap satu rwx triple tanpa melewati batas kelas. Hubungan tersebut dapat ditunjukkan pada setiap hasil kalkulator. Masih sahih apakah catatan sejarah yang lebih luas pada akhirnya dipasok dari sumber-sumber primer atau tidak.

Riwayat perangkat keras tidak ditentukan oleh sumber repositori

Parser menerima satu hingga empat digit oktal dan menghapus awalan 0o opsional. Akibatnya, 644, 0644, dan 0o644 semuanya menghasilkan nilai yang sama. Digit 8 dan 9 ditolak dengan penjelasan spesifik karena keduanya tidak termasuk dalam basis delapan, dan teks yang salah formatnya tidak dapat ditebak ke dalam mode yang valid.

Digit penting di depan membawa bit khusus, bukan kelas biasa lainnya. Bobot 4, 2, dan 1 mewakili setuid, setgid, dan sticky, sedangkan digit di belakangnya tetap mempertahankan pemilik, grup, dan lainnya. Pemformat menampilkan tiga digit bila tidak ada bit khusus yang disetel dan empat bila diperlukan, kecuali keluaran empat digit diminta secara eksplisit.

Formulir awal dan digit bit khusus yang diterima dalam parser ini

Mengonversi 0644 sebanyak tiga kali lipat menghasilkan 6, 4, dan 4. Dalam biner adalah 110, 100, dan 100, sehingga hasil simbolisnya adalah rw-r--r--. Pemilik telah membaca dan menulis, sedangkan kelompok dan lainnya hanya membaca. Setiap tampilan diturunkan dari bilangan bulat yang sama, sehingga memungkinkan pemeriksaan konsistensi langsung.

Membalikkan proses akan mencapai hasil yang sama. Mulailah dengan rw-r--r--, tambahkan 4 dan 2 untuk pemiliknya, ambil 4 untuk grup, dan ambil 4 untuk yang lain. Digitnya adalah 644. Nol di depan opsional yang diterima oleh parser tidak menambahkan bit khusus; itu membiarkan nilai numerik tidak berubah.

Mengapa heksadesimal tidak pernah mengambil alih — dua digit heksa tidak dapat dibagi menjadi tiga kelas dengan rapi

Heksadesimal dapat menyandikan bilangan bulat, namun batas empat bit digitnya tidak selaras dengan kelas izin tiga bit. Itu adalah perbandingan aritmatika, bukan bukti notasi mana yang disukai orang-orang secara historis. Kalkulator tidak menerima masukan heksadesimal, dan keluarannya dirancang berdasarkan angka oktal, posisi simbolik, dan kontrol bernama Boolean.

Misalnya, izin biasa menempati sembilan bit, secara alami terlihat sebagai tiga kelompok oktal. Mengelompokkan bit yang sama menjadi potongan empat bit akan membagi kelas rwx melintasi batas digit. Hal ini membuat heksadesimal menjadi kurang transparan untuk tujuan tampilan ini, namun tidak ada klaim tentang adopsi, standar, atau riwayat baris perintah yang muncul dari pengamatan tersebut saja.

Perbandingan heksadesimal adalah aritmatika, bukan bukti adopsi sejarah

Konstanta bernama dari bahasa lain atau antarmuka sistem berada di luar implementasi JavaScript ini. Repositori menggunakan properti deskriptifnya sendiri seperti ownerRead, groupWrite, otherExecute, setuid, setgid, dan sticky. Nama-nama tersebut membuat bit internal aritmatika dapat dibaca tanpa menegaskan kesetaraan dengan header eksternal tertentu atau API.

Tetap sesuai dengan apa yang dapat diverifikasi oleh alat: nilai numerik mode yang disediakan, boolean kelasnya, rendering simbolik, penjelasan, dan teks perintah yang dihasilkan. Halaman browser tidak memeriksa platform target atau mengkompilasi konstanta asli. Siapa pun yang menerjemahkan hasilnya ke antarmuka pemrograman lain harus membaca dokumentasi resmi antarmuka tersebut secara terpisah.

Konstanta C yang diberi nama berada di luar implementasi JavaScript ini

Oktal cocok dengan kalkulator ini karena setiap kelas izin adalah kuantitas tiga bit dan setiap digit basis delapan membawa tepat tiga bit. Korespondensinya terlihat, dapat dibalik, dan mudah untuk diuji. Bit khusus menggunakan digit keempat dengan pola 4, 2, dan 1 yang sama, sedangkan simbol s, S, t, dan T mempertahankan detail posisi eksekusinya.

Gunakan notasi sebagai alat bantu peninjauan, bukan sebagai mantra. Bagi nilai menjadi pemilik, grup, lainnya, dan awalan khusus apa pun; verifikasi surat dan kotak; kemudian putuskan kesesuaian dari bukti kepemilikan nyata dan beban kerja. Aritmatika menjelaskan pengelompokan sepenuhnya tanpa klaim yang tidak didukung tentang sejarah perangkat keras, standar, atau kebijakan universal.