Чим відрізняється Linux від Windows у плані виконань файлів, так це тим, що перша система визначає виконувані файли програмними не за розширенням, а за спеціальним прапором виконуваності. Так у кожного з них є три режими виконуваності: читання, виконання і запис. Саме ці режими визначають, що система може робити з конкретним файлом. Коли користувач завантажує різні інсталятори з інтернету або створює скрипт, то за замовчуванням йому присвоюються такі режими - читання і запис. Одним словом, користувач не зможе зробити з такою програмою нічого, оскільки з ним потрібно зробити дещо ще.
Але для початку потрібно розібратися з таким питанням, як: що таке виконуваність і що це взагалі означає? Почнемо з програми, яка є набором інструкцій, що виконуються процесором над сукупністю даних з метою отримання потрібного результату. Для процесора не існує різниці між інструкціями і даними.
І перші, і другі складаються з цифр - байт. Тобто, певне поєднання цифр означатиме для процесора необхідність виконання конкретної дії. Для процесора немає принципової різниці, який процес виконувати - дані операційної системи чи текстовий файл. І перший, і другий буде виконано, ось тільки у випадку з текстовим необхідність в інструкціях фактично відпадає.
Для розуміння системою, які мають бути виконані за інструкцією, а які виконувати не потрібно, і були придумані прапори виконуваності. Фактично вміст ніяк не змінюється залежно від встановленого класу виконуваності - відмінність зводиться тільки до кількох рядків. Зі скриптами все працює так само, тільки команди виконує не процесор, а інтерпретатор, наприклад, у bash скриптах - сама оболонка bash. Та й у звичайних програм теж є свій завантажувач - це ld-linux.so.2.
У системі Linux передбачена спеціальна утиліта, яка дає змогу керувати прапорами, що отримала назву chmod
. Для виклику цієї утиліти необхідно задіяти синтаксис:
$ chmod category action flag file_address
І тут необхідно враховувати таке:
Прапор - один із доступних -
r
(читання),w
(запис),x
(виконання).Категорія - можуть встановлюватися для трьох категорій: власника файлу, групи даних і всіх інших користувачів. У команді вони вказуються символами
u
(user)g
(group)o
(other) відповідно.Дія - може бути + (плюс), що означатиме встановити прапор або - (мінус) зняти прапор.
Таким чином, щоб зробити виконуваним скрипт у Linux, користувачеві необхідно виконати:
$ chmod u+x file_address
Найчастіше вже цього достатньо, щоб зробити його виконуваним, але якщо необхідно наділити інших користувачів повноваженнями виконувати ці файли, ще необхідно додати:
$ chmod ugo+x file_address
Щоб подивитися їх у терміналі, достатньо скористатися утилітою ls:
$ ls -l file_directory
Прапори ввімкнено для всіх категорій. Перше rwx
- прапори власника, друге - групи, а третє - для всіх інших. Якщо його не встановлено, на його місці буде прочерк.
Зняти прапор виконуваного файлу дуже просто. Використовується та сама команда тільки зі знаком мінус:
$ chmod u-x file_address
Далі розглянемо питання встановлення керованості в GUI.
Для новачків ця інструкція виявиться простішою. Розглянемо на прикладі менеджера GNOME, Nautilus. Клацніть правою кнопкою на нашому об'єкті програми або скрипта, щоб відкрити контекстне меню, потім виберіть властивості:
Переходимо на вкладку права і встановлюємо галочку "Дозволити виконання файлу як програми":
Тепер він буде запущений системою безпосередньо з менеджера. Ось і вся інструкція. Тепер із запуском програми або скрипта з інтернету у вас не виникне труднощів.