Slik gjør du en fil (f.eks. et .sh-skript) kjørbar, slik at den kan kjøres fra en terminal.
Jeg har en script.sh-fil, og filtypen er shellscript-fil. Jeg ønsker å gjøre denne filen til en applikasjon/x-kjørbar fil. Hvordan kan jeg gjøre det?
252
3
Du kan markere filen som kjørbar:
Deretter kan du kjøre den slik:
Hvis du vil bruke en annen kommando til å starte den, kan du legge til et alias:
Legg til dette på slutten av filen:
Åpne en ny terminaløkt eller skriv
source ~/.bashrc
i terminalen for å bruke den. Deretter er det bare å bruke det nye navnet til å starte skriptet.Det finnes to måter å gjøre en fil kjørbar på:
GUI-metoden:
Gå til tillatelsesfanen, og kryss av i boksen `Kjør: [ ] Tillat kjøring av fil som program.
Terminal / kommandometode:
Du kan enten bruke:
cd /to/my/required/directory
.Deretter kjører du
chmod +x filnavn.extension
.Eller bare kjør:
chmod +x /sti/til/ditt/filnavn.extension
.chmod
har også noen mer avanserte alternativer:Mellomrommene er for å vise at den er delt opp:
- rwx --- --- ---
Det første settet med
---
er User. Det andre er Group og det siste er Other (alle andre).r står for Read, w for Write og x for eXecute.
Så for å tillate alle å lese den, men bare Gruppe å utføre og Bruker å lese og skrive den (men av en eller annen grunn ikke utføre), ville det være:
-rw- rx- r--
Men dette legges til i kommandoen som:chmod +rw-rx-r-- /sti/til/fil.extension
.chmod
kan også gjøre dette i tall. Den er basert på binær (tror jeg, siden det er 1,2 og 4).Så det er disse tallene:
Utførelse etter bruker er
100
. Utførelse av gruppe er010
. Utførelse av andre er 001Skriving av bruker er
200
. Skriving av gruppe er020
. Skriving av andre er002
.Lesing av bruker er
400
. Lesing av gruppe er040
. Lesing av andre er004
.Deretter legger du disse sammen for å få den ønskede kombinasjonen.
Så for å tillate at alle kan lese den, men bare gruppe kan utføre den og bruker kan skrive den (men av en eller annen grunn ikke utføre den), blir det:
400 + 040 + 004
og010
og200
.Det gir 600 + 050 + 004 = 654.
Deretter kan du kjøre kommandoen.
chmod +654 /path/to/file.extension
for å angi det.Og for å angi alle tillatelser kan du skrive:
chmod +rwxrwxrwx /sti/til/fil.utvidelse
.Eller (dette er litt enklere å skrive, men vanskeligere å huske hver enkelt):
chmod +777 /sti/til/fil.utvidelse
.Til slutt kan du gjøre følgende:
chmod -777 /sti/til/fil.utvidelse
.for å fjerne alle tillatelser fra alle.
Og:
chmod +300 /sti/til/fil.utvidelse
.For å legge til lese- og skrivetillatelser for brukeren, uten å påvirke andre tillatelser (f.eks. kjøretillatelser).
Dette nettstedet har en veldig nyttig liten avkrysningsrute, der du kan krysse av for de alternativene du ønsker, og du får kommandoen:
Det er imidlertid ikke alle de mulige kombinasjonene som er fornuftige å bruke; de viktigste som brukes, er følgende:
755 -
Owner
har alle, ogGroup
ogOther
kan lese og utføre700 -
Eier
har alle644 -
Owner
kan lese og skrive, ogGroup
ogOther
kan lese og skrive.600 -
Eier
kan både lese og skriveOg hvis du bruker ikke-trivielle brukergrupper:
775 -
Owner
kan lese og skrive, ogGroup
ogOther
kan lese og skrive.770 -
Owner
ogGroup
har alle, ogOther
kan lese og utføre750 -
Eier
har alt, ogGruppe
kan lese og utføre664 -
Eier
ogGruppe
kan lese og skrive, ogAndre
kan bare lese660 -
Eier
ogGruppe
kan både lese og skrive640 -
Eier
kan lese og skrive, ogGruppe
kan lese777 og 666 brukes sjelden, bortsett fra i /tmp.
Takk Ilmari Karonen for å påpeke de som er i vanlig bruk!
Mine pronomen er Han / Ham
Løp:
For å gjøre den ukjørbar, kjør:
Jeg opprettet for eksempel filen
.sh
:Etter at jeg har skrevet litt kode i vi-editoren, går jeg ut av vi-editoren: