Det som skiljer Linux från Windows när det gäller filkörning är att det förstnämnda systemet definierar körbara filer som programfiler, inte genom deras tillägg utan genom en speciell körbarhetsflagga. Varje fil har alltså tre lägen för körbarhet: läsa, köra och skriva. Det är dessa lägen som avgör vad systemet kan göra med en viss fil. När en användare hämtar olika installationsprogram från Internet eller skapar ett skript, tilldelas det som standard följande lägen: läsa och skriva. Kort sagt kommer användaren inte att kunna göra någonting med ett sådant program, eftersom något annat måste göras med det.
Men först och främst bör vi ta itu med en sådan fråga som: vad är exekverbarhet och vad betyder det i allmänhet? Låt oss börja med ett program, som är en uppsättning instruktioner som utförs av en processor över en uppsättning data för att få önskat resultat. För processorn är det ingen skillnad mellan instruktioner och data.
Både de förra och de senare består av siffror - bytes. Det innebär att en viss kombination av siffror kommer att signalera till processorn att en viss åtgärd måste utföras. För processorn är det ingen grundläggande skillnad vilken process som ska utföras - operativsystemdata eller en textfil. Både det första och det andra kommer att exekveras, förutom att behovet av instruktioner faktiskt elimineras när det gäller en textfil.
Exekverbarhetsflaggor uppfanns för att systemet skulle förstå vilka instruktioner som ska exekveras och vilka som inte ska exekveras. Faktum är att innehållet inte ändras på något sätt beroende på den inställda exekverbarhetsklassen - skillnaden reduceras endast till några få rader. Med skript fungerar allt på samma sätt, men kommandon exekveras inte av processorn utan av en tolk, till exempel i bash-skript - av själva bash-skalet. Vanliga program har också sin egen laddare - det är ld-linux.so.2.
Linux-systemet har ett speciellt verktyg som låter dig hantera flaggor, som kallas chmod
. För att anropa det här verktyget måste du åberopa syntaxen:
$ chmod category action flag file_address
Och här måste följande beaktas:
Flagga - en av de tillgängliga flaggorna -
r
(läs),w
(skriv),x
(kör).Kategori - kan ställas in för tre kategorier: filägare, datagrupp och alla andra användare. I kommandot anges de med
u
(användare)g
(grupp)o
(övriga) respektive.Action - kan vara + (plus), vilket innebär att flaggan sätts eller - (minus) att flaggan tas bort.
För att göra ett skript körbart i Linux måste alltså användaren köra:
$ chmod u+x file_address
Ofta räcker det redan för att göra det körbart, men om andra användare måste ha behörighet att köra dessa filer måste mer läggas till:
$ chmod ugo+x file_address
För att se dem i terminalen använder du bara verktyget ls:
$ ls -l file_directory
Flaggor ingår för alla kategorier. De första rwx
är ägarflaggor, de andra är gruppflaggor och de tredje är för alla andra. Om den inte är inställd kommer ett streck att ersätta den.
Det är mycket enkelt att ta bort den körbara flaggan. Samma kommando används, men med ett minustecken:
$ chmod u-x file_address
Låt oss nu överväga frågan om att ställa in hanterbarhet i GUI.
För nybörjare blir denna instruktion enklare. Låt oss ta GNOME-hanteraren, Nautilus, som ett exempel. Högerklicka på vårt program eller skriptobjekt för att öppna snabbmenyn och välj sedan egenskaper:
Gå till fliken behörigheter och kryssa i "Tillåt att filen körs som ett program":
Nu kommer den att startas av systemet direkt från hanteraren. Det är hela instruktionen. Nu kommer du inte att ha några svårigheter med att starta ett program eller skript från Internet.