Linux skipanalínan

Grafísk notandaviðmót eru mjög þægileg, en þau geta ekki gert öll möguleg verk. Ímyndaðu þér, til dæmis, að þú þurfir að búa til skýrslu yfir hvaða skrár eru á harða diskinum þínum, í röð frá þeirri stærstu að þeirri minnstu. Hvernig færirðu að? Eflaust mætti gera einhverja flókna leit, en það yrði sennilega smellt hellingsoft.

Áður en að músin var fundin upp notaði fólk skipannalínu, þar sem hver skipun hafði ákveðna merkingu. Í þá daga var hægt að leysa þetta vandamál með:

du -s * | sort -nr > $HOME/space_report.txt

Í dag eru allt of fáir sem vita hvað þetta þýðir, en þetta er í raun einfaldara en nokkur samsetning af “benda og smella”.

Börn sem nota bækur skoða myndirnar og benda á þær. Þegar að fólk eldist lærir það að lesa og skrifa. Nú er komið tími til að læra að lesa og skrifa í tölvuheiminum. Skipanalínan er grunnurinn að tölvulæsi!

Hvað er skel?
Skel er forrit sem tekur við innslætti frá þér, túlkar innsláttinn, og notar þær til að láta stýrikerfið framkvæma aðgerðir. Í gamla daga var skelin eina notandaviðmótið sem fólk hafði, en í dag höfum við grafísk notandaviðmót (Graphical User Interface – GUI) svo sem GNOME, KDE, Windows og Aqua, og skipanalínur (Command Line Interface – CLI) svo sem Bash, TCSH og zsh.

Á flestum Linux tölvum er Bash sjálfgefna skelin, en nafnið er skammstöfun: Bourne Again SHell, en hún er endurbætt útgáfa af skelinni 'sh' sem Steven Bourne skrifaði á sínum tíma. (Nafnið er orðaleikur – rétt eins og í góðum skáldskap máttu búast við að það séu margir orðaleikir í skipannalínunni).

Hvað er xterm, gnome-terminal, konsole, o.s.frv.?
Eftir að grafísk notandaviðmót komu fram hvarf gamli svarti skjárinn með blikkandi kassa, og skipanalínan varð óaðgengileg. Mörg forrit herma eftir þessari gömlu hegðun, og þeir eru kallaðir terminal emulators eða skjáhermar. Xterm, gnome-terminal, rxvt og konsole eru vinsælir skjáhermar.

Hvernig gangsetur maður skjáhermi?
Flest gluggaumhverfi bjóða upp á einhvern sjálfgefinn skjáhermi. Í GNOME heitir hann 'gnome-terminal', og finnst í Applications → Accessories → Terminal. Sértu að nota annað gluggaumhverfi skaltu leita á skynsamlegum stöðum.

Prufukeyrum lyklaborðið
Ef þú keyrir upp skelina þá geturðu prófað að skrifa einhverjar skipannir. Fremst í hverri línu sést lítil blokk af texta sem heitir prompt. Hún getur litið misjafnlega út, en algengt form er: spm@cauchy:~$

Þessi lína segir þér fernt:
 * 1) Skelin er tilbúin til að taka við skipunum. (Ef þessi lína er ekki þarna er eitthvað að).
 * 2) Segir þér hver þú ert (í þessu tilfelli 'spm', því það er notandanafnið mitt)
 * 3) Segir þér á hvaða tölvu þú ert (í þessu tilfelli 'cauchy', sem er nafnið á tölvunni sem ég er að nota)
 * 4) Segir þér hvar þú ert í tölvunni (í þessu tilfelli '~', sem er skammstöfun á nafni heimamöppunnar þinnar)

Ef þú skrifar skipun núna kemur hún á eftir dollaramerkinu. Prófaðu að bulla eitthvað:

spm@cauchy:~$ asdfasdfasfd

Þegar þú ýtir á enter, ef að þessi skipun var ekki rétt kemur villa:

bash: asdfasdfasfd: command not found

Hér er 'bash' að kvarta. Forrit segja oft til nafns áður en þau kvarta, til þess að það fari ekki á milli mála hver er að kvarta.

Ef þú villt nota skipun sem þú hafðir notað áður þá þarftu ekki að skrifa hana upp á nýtt - það er nóg að ýta á upp örina. Ef þú ýtir á hana oftar þá ferðu lengra og lengra aftur í tímann. Það eru til ótal leiðir til að vinna ennþá hraðar með skipanalínuna, en þær lærirðu síðar. Dembum okkur frekar í nokkrar skipannir!

Ertu nokkuð rót?
Áður en að lengra er haldið er rétt að athuga hvort þú sért nokkuð rót. Í öllun UNIX kerfum er til ofurnotandi sem getur gert allt, þar með talið að skrifa yfir harða diskinn, ofhita örgjörvann og gera tölvuna ónothæfa. Sá notandi heitir root, þannig að ef að notandanafnið þitt er root fremst í skipannalínunni ættirðu að íhuga að gerast óbreyttur notandi. Það er öruggara, og það er mjög sjaldan sem þú hefur raunverulega ástæðu til að vera rótin.

Ekki láta það rugla þig að það er talað um tvennt sem rótina. Annars vegar er það notandinn 'root' og hinsvegar er það neðsta mappan í skráarkerfinu, '/'. Það ætti oftast að vera augljóst út frá samhengi um hvort er átt.

Ýtarefni

 * In the Beginning was the Command Line eftir Neal Stephenson: ritgerð um þróun stýrikerfa