Різниця полягає в тому, які дозволи встановлюються та в якому режимі ви їх використовуєте.
З chmod +xвами встановлюється виконавчий біт для всіх - власника, групи власників та інших користувачів. Це відомо як символічний режим. Цитувати man chmod:
Оператор + викликає додавання вибраних бітів режиму файлів до існуючих бітів режиму файлів кожного файлу; - викликає їх видалення; і = спричиняє їх додавання і видаляє невідомі біти, за винятком того, що невказані біти ідентифікатора користувача та групи ідентифікаторів каталогу не впливають.
З chmod 755ви використовуєте восьмеричні числа, двійкове подання , яке використовується для установки певних біт дозволів. Перший (зліва) 3 біти відповідають дозволам власника, середній 3 - груповим дозволам, а останній (крайній правий) - дозволам усіх інших користувачів. Порядок бітів завжди однаковий, read,write,executeабо rwxТаким чином, саме тому, що порядок той самий, індивідуальне число при перетворенні у двійкове представлення встановлюватиме біти дозволу, для яких відповідний позиційний біт у номері дорівнює 1, і скидає той, який дорівнює 0 Конкретно:
- Восьме число
7- двійкове число 111, тож ви встановлюєте всі читання, запис та виконання бітів для власника; rwxвстановлюється.
- Восьме число
5у двійковій цифрі 101, тож ви встановлюєте читання та виконання, але вимикаєте біти запису, і оскільки це 5 для групових та інших користувачів, ці дві категорії матимуть однакові дозволи. Таким чином r-xвстановлюється.
Ось невеличка демонстрація:
bash-4.3$ touch file1 file2
bash-4.3$ chmod +x file1
bash-4.3$ chmod 755 file2
bash-4.3$ ls -l file1 file2
-rwxrwxr-x 1 xieerqi xieerqi 0 7月 6 13:54 file1
-rwxr-xr-x 1 xieerqi xieerqi 0 7月 6 13:54 file2
chmod +xвстановлює весь виконуваний прапор без зміни інших дозволів.chmod 755встановлює rwxr-xr-x