Начини на плащане Abuse

Създаване на изпълним файл в Linux

06.03.2021, 20:51

Това, което прави Linux различен от Windows по отношение на изпълнението на файлове, е, че първата система определя изпълнимите файлове като програмни файлове не чрез тяхното разширение, а чрез специален флаг за изпълнимост. Така че всеки файл има три режима на изпълнимост: четене, изпълнение и запис. Именно тези режими определят какво може да прави системата с даден файл. Когато потребителят изтегля различни инсталатори от интернет или създава скрипт, по подразбиране му се задават следните режими: четене и запис. Накратко, потребителят няма да може да прави нищо с такава програма, тъй като с нея трябва да се направи нещо друго.

Какво означава изпълнимост?

Но преди всичко трябва да се занимаем с такъв въпрос като: какво е изпълнимост и какво означава тя по принцип? Нека започнем с програмата, която представлява набор от инструкции, изпълнявани от процесор върху набор от данни, за да се получи желаният резултат. За процесора няма разлика между инструкциите и данните.

Както първите, така и вторите се състоят от цифри - байтове. Това означава, че определена комбинация от цифри ще означава за процесора необходимостта от извършване на определено действие. За процесора няма принципна разлика кой процес да се изпълни - данни на операционната система или текстов файл. И първото, и второто ще бъдат изпълнени, с изключение на това, че в случая с текстовия файл необходимостта от инструкции всъщност отпада.

Флаговете за изпълняемост са измислени, за да може системата да разбере кои инструкции трябва да се изпълняват и кои не трябва да се изпълняват. Всъщност съдържанието не се променя по никакъв начин в зависимост от зададения клас на изпълнимост - разликата се свежда само до няколко реда. При скриптовете всичко работи по същия начин, само че командите се изпълняват не от процесора, а от интерпретатор, например при bash скриптовете - от самата bash обвивка. Обикновените програми също имат свой собствен програматор за зареждане - това е ld-linux.so.2.

Как да направим даден файл изпълним

Системата Linux разполага със специална помощна програма, която ви позволява да управлявате флаговете, която се нарича chmod. За да извикате тази помощна програма, трябва да използвате синтаксиса:

$ chmod category action flag file_address

КАК СДЕЛАТЬ ФАЙЛ ИСПОЛНЯЕМЫМ В LINUX

И тук трябва да се има предвид следното:

Флаг - един от наличните флагове - 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

Посмотреть флаги в терминале можно с помощью утилиты ls

Флаговете са включени за всички категории. Първите rwx са флагове за собственика, вторите са за групата, а третите са за всички останали. Ако не е зададено, на негово място ще се постави тире.

Отмяната на настройката на флага за изпълними файлове е много лесна. Използва се същата команда, само че със знак минус:

$ chmod u-x file_address

След това нека разгледаме въпроса за задаване на управляемост в графичния потребителски интерфейс.

Как да зададем флаг за изпълнимост в графичния потребителски интерфейс

За начинаещите тази инструкция ще бъде по-лесна. Нека вземем за пример мениджъра на GNOME, Nautilus. Щракнете с десния бутон на мишката върху обекта на нашата програма или скрипт, за да отворите контекстното меню, след което изберете Свойства:

КАК УСТАНОВИТЬ ФАЛГ ИСПОЛНЯЕМОСТИ В GUI

Отидете в раздела за разрешения и поставете отметка на "Разреши на файла да се изпълнява като програма":

Разрешить выполнение файла как программы:

Сега той ще бъде стартиран от системата директно от мениджъра. Това е цялата инструкция. Сега вече няма да имате никакви затруднения със стартирането на програма или скрипт от интернет.