Vika 2. Skeljaverkfæri og skriftur Flashcards
Hvernig úthlutum við breytum gildi í bash?
Við notum táknið =, til dæmis ef gefa á breytunni foo gildið bar þá skrifum við foo=bar í skelina.
Hvernig er svo hægt að náglast gildið á breytunni sem við skilgreindum ?
$ á undan breytunafninu, hægt er að nálgast gildið á breytunni foo með strengnum $foo.
Hvernig skilgreinum við strengi í bash ?
Til að skilgreina strengi í bash er bæði hægt að nota einfaldar (‘) og tvöfaldar (“) gæsalappir en mikilvægt er að vita að þær eru ekki jafngildar.
Hver er munurinn á því að skilgreina stengi með einföldum eða tvöföldum gæsalöppum?
Strengir skilgreindir með einföldum gæsalöppum geta ekki innihaldið breytur þannig að ef skipunin echo ‘$foo’ er keyrð prentar hún strenginn $foo. Aftur á móti geta strengir sem skilgreindir eru með “ innihaldið breytur. Svo að echo “$foo” prentar gildið bar (því við höfðum skilgreint foo=bar).
Ólíkt öðrum skriftumálum notar bash sérstök tákn til að?
Vísa í viðföng, villur og fleira.
Í hvað vísar táknið $0 ?
nafnið á skriftunni
Í hvað vísar táknið $1 til $9 ?
Viðföng skriftunnar. $1 er fyrsta viðfangði o.s.frv
Í hvað vísar táknið $@ ?
öll viðföngin
Í hvað vísar táknið $# ?
fjöldi viðfanga
Í hvað vísar táknið $? ?
skilar kóða síðustu skipunar
Í hvað vísar táknið $$ ?
Númer ferlis (e. Process Identification number, PID) fyrir núverandi skriftu
Í hvað vísar táknið !! ?
Öll síðasta skipun, þar á meðal viðföng.
Í hvað vísar táknið $_ ?
Síðasta viðfangið frá síðustu skipun.
Skipanir skila úttaki á aðalúttakið sem kallast ?
STDOUT
Skipanir skila villum á annað úttak sem kallast ?
STDERR
Hægt er að nota skilakóða til að stýra því hvaða skipanir eru framkvæmdar. Slíkt er gert með því að nota?
ogunar virkjann (&&) og eðunar virkjann (||). Að auki er hægt að nota true og false með virkjunum && og ||.
Hverju er hægt að stýra með því að nota ogun og eðun og skilakóða?
Hvaða skipanir eru keyrðar eftir því hverjir skilakóðarnir eru.
Algengt er að nota úttakið úr forriti sem breytu. Hvernig er það gert?
Algengt er að nota úttakið úr forriti sem breytu. Það er hægt að gera á einfaldan hátt í skelinni með skipana útskiptingu (e. command substitution). Þannig að þegar við notum $( cmd ) sem hluta af skipun þá er skipuninn cmd framkvæmd og úttakið geymt á sama stað til notkunar. Sem dæmi ef við keyrum for file in $(ls) þá keyrir skelin fyrst ls og ítrar svo yfir þær línur sem ls skilar
Önnur aðferð sem svipar til þessarar á undan er ferla innsetning (e. process substitution). Hvernig er hún ?
Sum forrit taka einungis við skrá sem inntaki en ekki strengjum sem $( cmd ) skilar. Í slíkum tilfellum er hægt að nota skipunina
Hvað eru umhverfisbreytur?
Þær breytur sem er alltaf hægt að nálgast í skelinni.
Hvernig fáum við lista yfir umhverfisbreytur?
Skipunin env keyrð.
Hvað inniheldur umhverfisbreytan PATH ?
skráarsöfn sem leitað er í að keyrsluskrám.
Hvað inniheldur umhverfisbreytan PWD ?
núverandi skráarsafn.
Hvað inniheldur umhverfisbreytan OLDPWD ?
síðasta skráarsafn.
Hvað inniheldur umhverfisbreytan USER ?
skeljarkvaðning (inniheldur mynstur) núverandi notandi.
Hvað inniheldur umhverfisbreytan HOME ?
slóð fyrir heimasvæði notanda.
Hvað ert gert til að skilgreina nýja umhverfisbreytu?
Líkt og þegar aðrar breytur eru skilgreindar í skelinni nema eftir að hún er skilgreind er skipunin export keyrð með nafnið á breytunni sem viðfang.
Við myndum þá til dæmis keyra
a=hallo
Export a
Þá er a orðin umhverfisbreyta.
Hvað er algildisstöfun ?
Stundum viljum við keyra sömu skipunina oft með svipuðum viðföngum eða skoða skrár í ákveðinni möppu sem hafa sömu endingu. Í Bash er hægt að gera þetta á auðveldan hátt, en slíkt kallast algildisstöfun.
Hverjir eru algildisstafirnir (e. wildcards)?
Í skráarnöfnum sem viðföng má nota táknin * og ? í stað stafa.
Táknið ? stendur fyrir einn staf
Táknið * fyrir 0 eða fleiri.
Hvernig eru slaufu svigar {} notaðir?
Ef tvær eða fleiri skipanir hafa sama hlutstreng eru slaufusvigar notaðir í bash til að velja skrár sem viðfang út frá hlutstrengjum sem eru ólíkir.
Hvað gerir skipunin grep?
Skipunin grep getur leitað að gefnu mynstri í einni eða fleiri skrám.
Flögg fyrir grep, hvað gerir -v ?
sýnir einungis línur sem passa ekki við mynstrið sem við veitum sem inntak
Flögg fyrir grep, hvað gerir -w ?
sýnir þær línur sem passa akkurat við mynstrið
Flögg fyrir grep, hvað gerir -c ?
Sýnir aðeins þann fjölda lína sem passaði við mynstri (c stendur hér fyrir count).
Flögg fyrir grep, hvað gerir -C ?
sýnir þær línur sem eru í kringum þá línu sem passar við strenginn sem leitað var að (c stendur hér fyrir context).
Flögg fyrir grep, hvað gerir -n ?
sýnir að auki línunúmer línanna sem pössuðu
Flögg fyrir grep, hvað gerir -R ?
leitar í öllum skrám endurkvæmt í undirmöppum.
Með forritinu history fæst ?
Listi af öllum þeim skipunum sem hafa verið framkvæmdar í skelinni.
Til að leita af ákveðinni skipun er hægt að pípa úttakið við grep, til dæmis prentar skipunin history | grep find þær skipanir sem hafa “find” sem hlutstreng.
Til að auðvelda notanda að skoða og færa sig á milli mappa er hægt að ?
Búa til styttingar á skipunum eða búa til hlekki á skrár (e. symlink) með skipuninni ln -s
Mörg forrit eru til sem auðvelda notandanum að ferðast um skráarkerfið. Nefndu 3 :
fasd (Tenglar á ytra svæði.) auðveldar notanda að finna skrár sem eru annað hvort oft opnaðar eða nýlega opnaðar (frecency (Tenglar á ytra svæði.)).
tree (Tenglar á ytra svæði.) er forrit sem birtir með þægilegum hætti skrár í núverandi möppu.
broot (Tenglar á ytra svæði.) er forrit sem auðveldar notandanum að fá yfirsýn yfir hvaða skrár eru í tiltekinni möppu, jafnvel þó margar skrár séu í möppunni.
Það eru þrír notendahópar sem hafa aðgang að skrám og möppum. Allir hafa þeir mismunandi aðgang að skrám of þurfa þeir að hafa ákveðnar heimildir til að beita ákveðnum aðgerðum á skrár eða möppur. Notendahóparnir eru ?
Eigandi (e. user), hópur (e.group) og aðrir (e. others).
Heimildir á skrár sem hægt er að veita til þessa notendahópa eru réttindi til að ?
lesa (e. read) , skrifa (e. write) og framkvæma (e. Exectue).
Þær aðstæður geta komið upp að við viljum bæta við eða taka frá heimildir á skrám eða möppum. Hvernig gerum við það?
Þetta er hægt að gera í skelinni með skipuninni chmod.