Ceea ce diferențiază Linux de Windows în ceea ce privește execuția fișierelor este faptul că primul sistem definește fișierele executabile ca fișiere program nu prin extensia lor, ci printr-un indicator special de executabilitate. Astfel, fiecare fișier are trei moduri de executabilitate: citire, executare și scriere. Aceste moduri sunt cele care determină ce poate face sistemul cu un anumit fișier. Atunci când un utilizator descarcă diverse instalatoare de pe internet sau creează un script, acestuia i se atribuie în mod implicit următoarele moduri: citire și scriere. Pe scurt, utilizatorul nu va putea face nimic cu un astfel de program, deoarece trebuie să se facă altceva cu el.
Dar, mai întâi de toate, ar trebui să abordăm o întrebare precum: ce este executabilitatea și ce înseamnă ea în general? Să începem cu un program, care este un set de instrucțiuni executate de un procesor asupra unui set de date pentru a obține rezultatul dorit. Pentru procesor, nu există nicio diferență între instrucțiuni și date.
Atât primele, cât și ultimele sunt formate din cifre - octeți. Adică, o anumită combinație de cifre va indica procesorului necesitatea de a efectua o anumită acțiune. Pentru procesor nu există o diferență fundamentală în ceea ce privește procesul care trebuie executat - datele sistemului de operare sau un fișier text. Atât primul, cât și al doilea vor fi executate, cu excepția faptului că, în cazul unui fișier text, nevoia de instrucțiuni este de fapt eliminată.
Indicatoarele de executabilitate au fost inventate pentru ca sistemul să înțeleagă care instrucțiuni trebuie executate și care nu. De fapt, conținutul nu se modifică în niciun fel în funcție de clasa de executabilitate setată - diferența este redusă doar la câteva linii. Cu scripturile totul funcționează în același mod, dar comenzile nu sunt executate de procesor, ci de un interpret, de exemplu, în scripturile bash - de shell-ul bash însuși. Programele obișnuite au, de asemenea, propriul lor încărcător - acesta este ld-linux.so.2.
Sistemul Linux are un utilitar special care vă permite să gestionați stegulețele, care se numește chmod
. Pentru a apela acest utilitar, trebuie să invocați sintaxa:
$ chmod category action flag file_address
Și aici trebuie luate în considerare următoarele:
Flag - unul dintre flags-urile disponibile -
r
(read),w
(write),x
(execute).Categorie - poate fi setată pentru trei categorii: proprietarul fișierului, grupul de date și toți ceilalți utilizatori. În comandă, acestea sunt indicate prin
u
(utilizator)g
(grup)o
(altele), respectiv.Acțiune - poate fi + (plus), ceea ce ar însemna să setați steagul sau - (minus) să eliminați steagul.
Astfel, pentru a face un script executabil în Linux, utilizatorul trebuie să execute:
$ chmod u+x file_address
Adesea, acest lucru este deja suficient pentru a-l face executabil, dar dacă alți utilizatori trebuie să fie autorizați să execute aceste fișiere, trebuie adăugate mai multe:
$ chmod ugo+x file_address
Pentru a le vedea în terminal, este suficient să utilizați utilitarul ls:
$ ls -l file_directory
Flags sunt incluse pentru toate categoriile. Primele rwx
sunt steaguri de proprietar, al doilea sunt steaguri de grup, iar al treilea sunt pentru toate celelalte. Dacă nu este setat, o liniuță îi va lua locul.
Dezactivarea steagului executabil este foarte ușoară. Se utilizează aceeași comandă, doar cu semnul minus:
$ chmod u-x file_address
În continuare, să luăm în considerare problema setării gestionabilității în GUI.
Pentru începători, această instrucțiune va fi mai ușoară. Să luăm ca exemplu managerul GNOME, Nautilus. Faceți clic dreapta pe programul nostru sau pe obiectul script pentru a deschide meniul contextual, apoi selectați Properties:
Mergeți la fila permisiuni și bifați "Allow the file to run as a program":
Acum acesta va fi lansat de sistem direct din manager. Aceasta este întreaga instrucțiune. Acum nu veți mai avea dificultăți cu lansarea unui program sau script de pe Internet.