Failų vykdymo požiūriu "Linux" skiriasi nuo "Windows" tuo, kad pirmojoje sistemoje vykdomieji failai apibrėžiami kaip programų failai ne pagal jų plėtinį, o pagal specialią vykdomumo žymą. Taigi kiekvienas failas turi tris vykdytinumo režimus: skaitymo, vykdymo ir rašymo. Būtent šie režimai lemia, ką sistema gali daryti su konkrečiu failu. Kai naudotojas iš interneto parsisiunčia įvairias diegimo programas arba sukuria skriptą, pagal nutylėjimą jam priskiriami šie režimai: skaityti ir rašyti. Trumpai tariant, su tokia programa naudotojas negalės nieko daryti, nes su ja turi būti atliekami kiti veiksmai.
Tačiau pirmiausia turėtume spręsti tokį klausimą: kas yra vykdytinumas ir ką jis apskritai reiškia? Pradėkime nuo programos, kuri yra instrukcijų rinkinys, procesoriaus vykdomas per duomenų rinkinį, siekiant gauti norimą rezultatą. Procesoriui nėra skirtumo tarp instrukcijų ir duomenų.
Ir pirmuosius, ir antruosius sudaro skaitmenys - baitai. Tai reiškia, kad tam tikra skaitmenų kombinacija reiškia procesoriui, jog reikia atlikti tam tikrą veiksmą. Procesoriui nėra esminio skirtumo, kurį procesą vykdyti - operacinės sistemos duomenis ar tekstinį failą. Bus vykdomas ir pirmasis, ir antrasis procesas, tik teksto failo atveju instrukcijų poreikis faktiškai išnyksta.
Vykdomumo žymos buvo sugalvotos tam, kad sistema suprastų, kurios instrukcijos turėtų būti vykdomos, o kurios - ne. Iš tikrųjų turinys niekaip nesikeičia priklausomai nuo nustatytos vykdytinumo klasės - skirtumas sumažėja tik iki kelių eilučių. Naudojant skriptus viskas veikia taip pat, tik komandas vykdo ne procesorius, o interpretatorius, pavyzdžiui, bash skriptų atveju - pats bash apvalkalas. Įprastos programos taip pat turi savo įkroviklį - tai ld-linux.so.2.
Linux sistemoje yra speciali programa, leidžianti valdyti vėliavėles, kuri vadinama chmod
. Norint iškviesti šią naudingąją programą, reikia ištarti sintaksę:
$ chmod category action flag file_address
Ir čia reikia atsižvelgti į tai, kas išdėstyta toliau:
Flag (vėliava) - viena iš galimų vėliavų:
r
(skaityti),w
(rašyti),x
(vykdyti).Kategorija - gali būti nustatyta trims kategorijoms: failo savininkui, duomenų grupei ir visiems kitiems naudotojams. Komandoje jos atitinkamai žymimos
u
(naudotojas)g
(grupė)o
(kiti).Veiksmas - gali būti + (pliusas), kuris reikštų, kad vėliavėlė nustatyta, arba - (minusas), kad vėliavėlė pašalinta.
Taigi, kad skriptas būtų vykdomas Linux sistemoje, naudotojas turi vykdyti:
$ chmod u+x file_address
Dažnai to jau pakanka, kad jis taptų vykdytinas, tačiau jei kitiems naudotojams reikia suteikti teisę vykdyti šiuos failus, reikia pridėti daugiau:
$ chmod ugo+x file_address
Kad juos pamatytumėte terminale, tiesiog naudokite ls įrankį:
$ ls -l file_directory
Įtraukiamos visų kategorijų vėliavos. Pirmosios rwx
yra savininko vėliavėlės, antrosios - grupės vėliavėlės, o trečiosios - visų kitų. Jei ji nenustatyta, jos vietoje bus brūkšnelis.
Panaikinti vykdomosios vėliavos nustatymą labai paprasta. Naudojama ta pati komanda, tik su minuso ženklu:
$ chmod u-x file_address
Toliau panagrinėkime GUI valdymo galimybės nustatymo klausimą.
Pradedantiesiems ši instrukcija bus paprastesnė. Kaip pavyzdį paimkime GNOME tvarkyklę "Nautilus". Dešiniuoju pelės klavišu spustelėkite mūsų programos arba scenarijaus objektą, kad atsidarytų kontekstinis meniu, tada pasirinkite savybes:
Pereikite į skirtuką permissions (leidimai) ir pažymėkite varnele "Allow the file to run as a program" (leisti failą paleisti kaip programą):
Dabar sistema jį paleis tiesiogiai iš tvarkyklės. Štai ir visa instrukcija. Dabar neturėsite jokių sunkumų paleisdami programą ar scenarijų iš interneto.