Перевод из восьмеричной в двоичную
Переводи восьмеричные числа в двоичный код по три бита на цифру.
Команда chmod 755 делает скрипт исполняемым, а chmod 644 задает обычный доступ к файлу. Восьмеричная система сохранилась в системном администрировании именно потому, что каждая ее цифра строго соответствует трем двоичным переключателям.
Связь восьмеричных цифр с правами доступа Unix
Файл в Unix имеет три основных флага — чтение, запись и выполнение. Каждый из них представляет собой один двоичный бит: включено или выключено. Три таких бита дают ровно восемь возможных комбинаций, что идеально укладывается в диапазон одной восьмеричной цифры от 0 до 7.
Именно поэтому команда chmod опирается на восьмеричную систему: одна цифра, три бита, три флага доступа. Шестнадцатеричная цифра требовала бы четыре бита, оставляя один лишним, а десятичные числа вовсе не соответствуют границам битов.
Соответствие восьмеричных цифр двоичным триадам
| Восьмеричная цифра | Двоичный код | Права доступа |
|---|---|---|
| 0 | 000 | нет прав на чтение, запись и выполнение |
| 1 | 001 | только выполнение |
| 2 | 010 | только запись |
| 4 | 100 | только чтение |
| 5 | 101 | чтение и выполнение |
| 6 | 110 | чтение и запись |
| 7 | 111 | чтение, запись и выполнение |
Разбор значений chmod 755 и 644 в двоичном виде
Значение chmod 755 содержит три цифры: для владельца, группы и остальных пользователей. Цифра 7 в двоичной форме дает 111 — владелец получает полный доступ. Цифра 5 превращается в 101, что дает группе и остальным право на чтение и выполнение без возможности записи.
При chmod 644 получаем цифры 6, 4 и 4. Цифра 6 складывается как (4 + 2) = 110 в двоичной записи, разрешая владельцу чтение и запись. Четверка равна 100, открывая группе и остальным только чтение. Прямой перевод каждой цифры в три бита полностью объясняет структуру любых прав доступа.
Пошаговый перевод восьмеричных чисел в двоичные
- Введи восьмеричное число в поле инструмента и нажми кнопку расчета.
- Конвертер берет каждую восьмеричную цифру слева направо по отдельности.
- Каждая цифра заменяется ровно тремя двоичными знаками с сохранением ведущих нулей: например, цифра 2 становится цепочкой 010, а не 10.
- Тройки битов соединяются в исходном порядке, формируя итоговое двоичное число.
Вопросы о переводе из восьмеричной системы в двоичную
Почему одна восьмеричная цифра всегда равна трем битам?
Три двоичных бита позволяют закодировать ровно восемь состояний — от 0 до 7. Это полностью совпадает с диапазоном восьмеричной цифры и позволяет переводить числа без сложных математических делений.
Что означает режим chmod 777 в двоичном коде?
Каждая семерка раскладывается в 111. Такой режим открывает чтение, запись и запуск для всех категорий пользователей, поэтому на практике его применяют редко и только при временной отладке.
Зачем использовать восьмеричные числа вместо двоичных цепочек?
Записать три восьмеричные цифры гораздо проще и надежнее, чем вручную набирать девять двоичных символов, где легко ошибиться на одну позицию.
Что означает четвертая цифра в восьмеричной записи прав?
Дополнительная цифра перед тремя стандартными управляет специальными флагами setuid, setgid и sticky bit, каждый из которых тоже регулируется отдельным битом.
Подходит ли конвертер для чисел, не связанных с правами файлов?
Да, инструмент переводит любые восьмеричные значения в двоичный формат независимо от сферы их использования, хотя права доступа остаются самым популярным примером.