Kan du lage en kjørbar fil med en tekst editor i Linux?

Du kan lage en fil kjørbar fra kommandolinjen i Linux. Selv skall-skript skrevet direkte inn i et tekstredigeringsprogram kan fungere som en kjørbar fil, så lenge systemet vet at filen kan bli henrettet. I Windows systemet vet en fil er kjørbar etter filtype - for eksempel, har en binær program alltid ".exe" forlengelse. Men Linux er avhengig av filrettigheter å vite om en fil skal utføres av systemet.

Tekstfil Script

For å gjøre en tekstfil kjørbar, må innholdet av filen inneholde noen form for kjørbar kode. For eksempel, skriv inn følgende i en teksteditor:

! / Bin / bash

echo Hei Verden

Dette er et bash script. Linux vet dette fordi "shebang" linje i begynnelsen - #! / Bin / bash. Lagre denne filen som "hello.sh."

filrettigheter

Hver fil har "filrettigheter", eller reglene som styrer hvem som kan lese, skrive og utføre den. Legge inn kommandoen "ls -l" inn i en Linux terminal lister innholdet av den nåværende katalogen, sammen med filrettigheter. Kommandoen "ls" kan vise filen slik:

rw- r-- r-- Robert brukere hello.sh

Dette viser tillatelsene for filen i grupper på tre: den første er eiertillatelser - "Robert" eier filen - som kan lese og skrive, eller "rw-." Den andre er gruppen tillatelse, der "Robert" er i gruppen "brukere". Alle i gruppen "brukere" kan lese filen, eller "r-." Det siste er alle andre; andre brukere kan lese, eller "r-" filen.

chmod

Linux-kommandoen "chmod" endrer tillatelser for filer. Bare eieren av fila - i dette eksempelet, "Robert" - kan eller en administrator endre rettighetene på en fil. Eieren eller administrator kan endre filen slik at bare bestemte personer eller grupper kan lese det, eller begrense sin kjøring til visse individer. I eksempelet "hello.sh," ingen kan kjøre filen. Men hvis eieren av filen utfører følgende kommando:

chmod u = x hello.sh

deretter en annen samtale til "ls -l" kommandoen viser følgende:

rwx r-- r-- Robert brukere hello.sh

Nå Robert kan kjøre filen.

Henrettelse

Nå som filen er merket som kjørbar, er alt som er igjen er å faktisk gjennomføre det. Utfører filer fra terminalen er ikke nødvendigvis automatisk: Linux ikke ta hensyn til filtyper, spesielt fra kommandolinjen, og må bli fortalt hva programmet vil kjøre filen. For et bash script som "hello.sh," det er et spørsmål om å fortelle systemet til å kjøre filen direkte:

./hello.sh

Dette forteller Linux skallet for å kjøre skriptet, heller enn å åpne den i et tekstredigeringsprogram. Resultatet er

"Hello World" trykket til terminalen.