Unix / Linux-skal 101

Författare: Eugene Taylor
Skapelsedatum: 11 Augusti 2021
Uppdatera Datum: 22 Juni 2024
Anonim
Linux Tutorial for Beginners: Introduction to Linux Operating System
Video: Linux Tutorial for Beginners: Introduction to Linux Operating System

Innehåll



Källa: Tomasz Bidermann / Dreamstime.com

Hämtmat:

Unix och Linux-skal är mycket kraftfulla och extremt anpassningsbara.

Kommandoraden på Unix och Linux-system är redan mycket kraftfull, men skal är ett ännu kraftfullare verktyg än vad som ögat möter. Du kan anpassa dem och byta ut dem till ditt hjärta, så länge du vet hur.

Vad är ett skal?

Nästan varje Unix- och Linux-handbok har standarddiagrammet över ett skal som lindas runt operativsystemet, som liknar någon slags godisbar. Skalet är egentligen inget annat än ett gränssnitt mellan operativsystemet, inklusive kärnan, filsystemet och de olika systemsamtalen och användaren. Under många år var det det enda interaktiva användargränssnittet innan grafiska användargränssnitt blev vanliga på 1980-talet. Grafiska användargränssnitt kan också betraktas som en typ av skal, eftersom de tjänar många av samma funktioner: att starta program, konfigurera systemet och hantera filer.

Dessa ödmjuka gränssnitt har en överraskande mängd kraft. För en sak är de fullständiga programmeringsspråk. Innan ännu kraftfullare skriptspråk som Python visades, var skalskript idealiska för att skriva program som inte nödvändigtvis behövde kraften i C. De är fortfarande användbara för att automatisera systemuppgifter och för snabb prototypning.

De har också ett antal funktioner som underlättar att arbeta med och hitta filer. En av de mest använda är "wildcarding" eller "globbing." Nästan alla Unix- och Linux-användare är bekanta med jokertecken "*" för att matcha alla tecken. Det här är faktiskt skalets jobb. Olika skal har ännu kraftigare alternativ.

En av Unix särdrag är förmågan att omdirigera programinmatning och -utmatning. Skalet implementerar denna funktion.

Skalet är bara ett annat program, så det är möjligt för alla programmerare med rätt kompetens att skapa ett. Det har funnits flera stora skal som har dykt upp under åren.

Historia och en roundup av skal

Även om det fanns flera Unix-skal under operativsystemets tidiga dagar, var den första som fick stort erkännande utanför Bell Labs Bourne Shell, uppkallad efter Stephen R. Bourne. Den viktigaste innovationen i skalet var att den stödde funktioner för strukturerad programmering, vilket gjorde det möjligt för första gången att använda skalet som ett riktigt programmeringsspråk. Det är så oumbärligt att alla moderna Unix- och Linux-versioner fortfarande använder den, även om det vanligtvis är en av de nyare skalen som emulerar Bourne-skalet.

Nästa stora skal var C Shell, ofta förkortat som "csh." Detta skal utvecklades vid UC Berkeley och blev en viktig del av BSD-smaken hos Unix. Som namnet antyder är dess syntax utformad för att likna C-programmeringsspråket, men den var verkligen utformad för interaktiv användning.

Den inkluderade en historikmekanism som gjorde det möjligt för användare att gå tillbaka och upprepa alla kommandon som de utfärdade tidigare utan att behöva skriva om en hel rad och förbättrad jobbkontroll, vilket underlättade att köra flera uppgifter. (Kom ihåg att det var en tid då de flesta fortfarande använde basbaserade terminaler.)

Nästa stora skal var Korn Shell, som också kom ut från Bell Labs. Skalet namngavs efter David Korn, inte bandet. Korn-skalets huvudsakliga innovation är införandet av kommandoradsredigering, vilket utökar historikfunktionaliteten ytterligare. Användare kan gå tillbaka och redigera kommandona de har skrivit med kommandon som liknar vi- eller Emacs-redigerare.

Av de stora skalen är Bourne Again Shell, eller bash, den mest populära sedan introduktionen i slutet av 80-talet. Detta skal, utvecklat som en del av GNU-projektet, innehåller innovationerna i C- och Korn-skalen och bibehåller kompatibilitet med Bourne-skalet, därav namnet. Det är det "standard" -skalet på de flesta Linux-distributioner.

Z Shell (zsh), som släpptes första gången 1990, är ​​drömmen om en kommandorad. Det har inte bara de flesta andra stora funktioner som de andra skalen har, det är vansinnigt anpassningsbart med massor av kraftfulla funktioner. En av de mest kraftfulla är rekursiv globbing, som gör det möjligt för användare att matcha filnamn i underkataloger när de utfärdar kommandon snarare än filer i den aktuella arbetskatalogen. Verkligen avancerade användare kan också anpassa kompletteringsalternativen, matcha filer utan att behöva skriva ut dem helt. Och för de fattiga fingrarna kan det också korrigera din stavning. Detta skal är så avancerat, dess manuella sida har delats upp i flera mycket långa avsnitt.

Scripting

Som tidigare nämnts är skal inte bara kommandoradgränssnitt utan kraftfulla programmeringsspråk. Skönheten med skalskript är att du kan använda samma språk i både regelbunden interaktiv användning och i skript, vilket gör inlärningskurvan mycket plattare. Moderna skal innehåller alla vanliga programmeringsspråkfunktioner, inklusive flödeskontroll, funktioner och variabler. Några av dem har till och med avancerade datastrukturer som associerande matriser.

Trots deras kraft har programmering i skal några fallgropar. Det största problemet är att det är för lätt att skriva skript som beror på något program som kanske inte finns på ett annat system, eller som beror på en viss smak av Unix eller Linux. Det är därför skalskript är bäst lämpade för program som du vet bara kommer att köras på ett system. Om du försöker bygga något bärbart och inte vill skriva ett C-program är det bästa sättet att skriva på ett annat skriptspråk som Perl eller Python.

En titt under huven på kommandoraden Unix / Linux

Det finns mer kraft som lurar under ytan på din Unix / Linux-kommandorad. Den här artikeln kan inspirera dig att ta en titt under huven på ditt favoritskal för att se vad du verkligen kan göra. Om du vill komma in på shell-skript kanske du vill kolla in böckerna Unix Power Tools och Learning the Bash Shell. Stephen R. Bournes originalpapper på sitt skal fungerar också som en bra introduktion till världen av skalskript, även om det är gammalt.