Fizetési módok Abuse

Egy fájl futtathatóvá tétele Linux alatt

06.03.2021, 20:51

A Linux a fájlok futtatása szempontjából abban különbözik a Windowstól, hogy az előbbi rendszer a futtatható fájlokat nem a kiterjesztésük, hanem egy speciális futtathatósági jelző alapján határozza meg programfájlként. Így minden fájlnak három futtathatósági módja van: olvasás, végrehajtás és írás. Ezek az üzemmódok határozzák meg, hogy a rendszer mit tehet egy adott fájlal. Amikor egy felhasználó különböző telepítőket tölt le az internetről, vagy készít egy szkriptet, alapértelmezés szerint a következő módokat kapja: olvasás és írás. Röviden, a felhasználó semmit sem tud majd csinálni egy ilyen programmal, mivel valami mást kell vele csinálni.

Mit jelent a futtathatóság?

De először is foglalkozzunk egy olyan kérdéssel, mint: mi az a futtathatóság, és mit jelent általában? Kezdjük egy programmal, amely egy utasításkészlet, amelyet egy processzor hajt végre egy adathalmazon, hogy a kívánt eredményt elérje. A processzor számára nincs különbség az utasítások és az adatok között.

Mind az előbbiek, mind az utóbbiak számjegyekből - bájtokból - állnak. Vagyis a számjegyek egy bizonyos kombinációja jelzi a processzor számára, hogy egy bizonyos műveletet kell végrehajtani. A processzor számára nincs alapvető különbség, hogy melyik folyamatot kell végrehajtani - az operációs rendszer adatait vagy egy szöveges fájlt. Mind az első, mind a második végrehajtásra kerül, azzal a különbséggel, hogy egy szöveges fájl esetében az utasítások szükségessége ténylegesen megszűnik.

A futtathatósági jelzőket azért találták ki, hogy a rendszer megértse, mely utasításokat kell végrehajtani, és melyeket nem. Valójában a tartalom semmilyen módon nem változik a beállított futtathatósági osztály függvényében - a különbség csak néhány sorra csökken. A szkripteknél minden ugyanúgy működik, csak a parancsokat nem a processzor, hanem egy értelmező hajtja végre, például a bash szkripteknél - maga a bash shell. A normál programoknak is van saját betöltőjük - ez az ld-linux.so.2.

Hogyan lehet egy fájlt futtathatóvá tenni

A Linux rendszernek van egy speciális segédprogramja, amely lehetővé teszi a zászlók kezelését, ennek neve chmod. Ennek a segédprogramnak a meghívásához a szintaxist kell meghívni:

$ chmod category action flag file_address

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

És itt a következőket kell figyelembe venni:

Flag - a rendelkezésre álló flagek egyike - r (olvasás), w (írás), x (végrehajtás).

Kategória - három kategóriára lehet beállítani: a fájl tulajdonosa, az adatcsoport és az összes többi felhasználó. A parancsban ezeket az u (user) g (group) o (other) jelöli.

Action - lehet + (plusz), ami a jelző beállítását jelenti, vagy - (mínusz) a jelző eltávolítását.

Tehát ahhoz, hogy egy szkript Linuxon futtathatóvá váljon, a felhasználónak kell végrehajtania:

$ chmod u+x file_address

Gyakran már ez is elég ahhoz, hogy futtathatóvá tegye, de ha más felhasználóknak is engedélyezni kell, hogy ezeket a fájlokat futtassák, akkor többet kell hozzáadni:

$ chmod ugo+x file_address

Ahhoz, hogy a terminálban lássuk őket, használjuk az ls segédprogramot:

$ ls -l file_directory

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

A jelzők minden kategóriában szerepelnek. Az első rwx a tulajdonosi zászlók, a második a csoportos zászlók, a harmadik pedig az összes többi. Ha nincs beállítva, egy kötőjel veszi át a helyét.

A futtatható zászló visszaállítása nagyon egyszerű. Ugyanezt a parancsot használjuk, csak mínusz jellel:

$ chmod u-x file_address

Ezután nézzük meg a kezelhetőség beállításának kérdését a GUI-ban.

Hogyan állítsuk be a futtathatósági jelzőt a GUI-ban?

Kezdők számára ez az utasítás könnyebb lesz. Vegyük példának a GNOME kezelőjét, a Nautilust. Kattintsunk a jobb gombbal a programunk vagy szkriptünk objektumára, hogy megnyíljon a kontextusmenü, majd válasszuk a Tulajdonságok menüpontot:

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

Menjünk az engedélyek fülre, és jelöljük be a "Engedélyezzük a fájl programként való futtatását" jelölőnégyzetet:

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

Mostantól a rendszer közvetlenül a kezelőből fogja elindítani. Ennyi az egész utasítás. Mostantól nem lesz nehézsége egy program vagy szkript indításával az internetről.