Laboratoriniai darbai

Shell versijos nustatymas

10   (1 atsiliepimai)
Shell versijos nustatymas 1 puslapis
Shell versijos nustatymas 2 puslapis
Shell versijos nustatymas 3 puslapis
Shell versijos nustatymas 4 puslapis
Shell versijos nustatymas 5 puslapis
Shell versijos nustatymas 6 puslapis
Shell versijos nustatymas 7 puslapis
Shell versijos nustatymas 8 puslapis
Shell versijos nustatymas 9 puslapis
Shell versijos nustatymas 10 puslapis
Shell versijos nustatymas 11 puslapis
Shell versijos nustatymas 12 puslapis
Shell versijos nustatymas 13 puslapis
Shell versijos nustatymas 14 puslapis
Shell versijos nustatymas 15 puslapis
Shell versijos nustatymas 16 puslapis
Shell versijos nustatymas 17 puslapis
Shell versijos nustatymas 18 puslapis
Shell versijos nustatymas 19 puslapis
www.nemoku.lt
www.nemoku.lt
Aukščiau pateiktos peržiūros nuotraukos yra sumažintos kokybės. Norėdami matyti visą darbą, spustelkite peržiūrėti darbą.
Ištrauka

Užduotis 3.0 baigti iki 04.25 Užduotį atliko: IF..........grupės stud......................................................... .......... Laboratorinio darbo atlikimo rezultatus pateikite savo namų kataloge sukurtame lab3 kataloge. 1. 1.      Shell versijos nustatymas. Shell’as yra komandų interpretatorius, kuris priima kiekvieną jūsų komandą ir perduoda ją įvykdymui operacinės sistemos branduoliui. Po komandos įvykdymo, shell’as išveda komandos rezultatus arba pranešimus apie klaidas į ekraną ir laukia sekančios komandos. UNIX sistemose paprastai galima naudoti kelias shell’o versijas, kurių kiekviena pasižymi savo stipriom bei silpnom pusėm. Registruojant vartotoją sistemos administratorius nustato, koks shell’o procesas pagal nutylėjimą aptarnaus vartotoją. Dažniausiai naudojamos shell’o versijos yra šios : Bourne shell –sh; C shell – csh; TC Shell –tcsh; Korn shell – ksh; Bourne Again Shell – bash. 1.1. Įveskite komandą nustatymui jus aptarnaujančio shell’o: echo $SHELL /bin/sh Paprastai jūs dirbate to shell’o aplinkoje, kuris jums yra priskirtas. Norint pereiti į kito shell’o aplinką reikalinga atitinkama komanda: sh, tcsh, ksh, bash. Grižtama naudojant komandą exit. 1.2. Nustatykite su kokiomis kitomis shell’o versijomis galima dirbti sistemoje: tcsh, bash 2. 2.      Įvedimo / išvedimo perskirstymas. UNIX sistemoje shell’o interpretuojamose komandose leidžiama perskirstyti įvedimo, išvedimo arba klaidų srautą naudojant šiuos simbolius: > - stdout perskirstymas(užrašymas ant viršaus) >> - stdout perskirstymas (prirašymas failo gale - append) - stderr perskirstymas (sh,ksh,bash) >& - stdout ir stderr perskirstymas (csh,tcsh 2.1. Užrašykite standartinę UNIX komandą, kuri ima duomenis iš klaviatūros ir išveda rezultatus į ekraną.: cat imami duomenys Pakeiskite šią komandą taip, kad įvedimas eitų iš failo, o rezultatai būtų nukreipiami į failą: cat file2 more file1 > file2 3. 3.      “Vamzdžio” mechanizmas “Vamzdžio” (pipe) mechanizmas yra naudojamas shell’e tikslu perduoti vienos komandos stdout failą tiesiai kaip stdin failą kitai komandai. Komandos sintaksė yra tokia:   command1 [arguments] | command2 [arguments] 3.1. Panaudokite šį mechanizmą tokiai užduočiai: Iš katalogo /var/mail išrinkite vartotojų, kurių login vardas turi simbolių seką “andr” ir surūšiuokite pagal pašto apimtį – jo mažėjimo linkme. ls -l mail | grep 'andr' | sort -r +4 4. 4.      Metasimboliai 4.1. Vartotojui įvedus komandą shell'as tikrina ją ir pradžioje specialiai apdoroja rastus metasimbolius, o po to vykdo suformuotą komandą. Norint atšaukti specialią metasimbolio reikšmę, prieš juos yra dedamas "\" simbolis. Vykdant failo vardų metasimbolių keitimą, metasimboliai yra keičiami vardais iš einamojo katologo, pavyzdžiui, jei jame yra failai: ffa ffs ffas, tai esant nurodytam vardui ff*, jis atitiks vardus ffa ffs ffas, o ff ? - vardus ffa ffs ir t.t. Metasimboliai pateikti žemiau einančioje lentelėje.   Simbolis Reikšmė * Failo vardų metasimbolis; atitinka nulinį arba didesnį bet kokių simbolių kiekį. ? Failo vardų metasimbolis; atitinka vieną bet kokį simbolį. [...] Failo vardų metasimbolis; atitinka vieną bet kokį simbolį iš nurodytų skliaustuose simbolių. `komanda` Įdeda nurodytos komandos įvykdymo rezultatus ; Komandų skyriklis. || Sąlyginis komandų vykdymas, komanda vykdoma, jei prieš ją einanti komanda nepavyko. && Sąlyginis komandų vykdymas, komanda vykdoma, jei prieš ją einanti komanda pavyko. (...) Komandų grupavimas. & Komanda vykdoma foniniame režime. # Visi simboliai iki eilutės galo interpretuojami kaip komentarai. $ Kintamojo reikšmė Užrašykite veikiančią komandą, kurioje būtų panaudotas metasimbolis “[…]” ls /var/mail | grep [zc] 4.2. Kabutės Kabutės naudojamos nusakant shell'ui, koks paruošiamasis darbas turi būti atliktas prieš pradedant vykdyti pačią komandą: •          viengubos kabutės draudžia keisti eilutėje esančius metasimbolius atitinkamais vardais, įstatyti kintamųjų reikšmes, komandų vykdymo rezultatus; tai yra nuima visų apskliaustų ženklų specialią prasmę. •          dvigubos kabutės nuima metasimbolių specialią prasmę, išskyrus $ ` ir \ Užduotis: Peržiūrėkite ir įvykdykite procedūrą ~os/shell/bsh2. Jos rezultatai: sh bsh2 tiriamas kintamojo reiksmiu istatymas istatoma i $persona Tina ir Marina istatoma i '$persona' $persona istatoma i "$persona" Tina ir Marina 5. 5.      shell’o kintamieji. Shell'as palaiko dviejų tipų kintamuosius: lokalius bei aplinkos. Abiejų tipų kintamieji yra eilutės tipo kintamieji. Pagrindinis skirtumas tarp jų yra tas, kad shell'o procesas kuria naują shell'o procesą (vaiko, subshell'o), šis gauna visų aplinkos kintamųjų kopijas, bet negauna lokalių kintamųjų. Taigi aplinkos kintamieji yra naudojami perduoti informacijai tarp tėvo ir vaiko proceso, tokiai, kaip pavyzdžiui, terminalo tipas ir kiti. Kiekvienas shell'as turi rezervuotą rinkinį aplinkos kintamųjų, kurių reikšmės inicijuojamos vykdant prisijungimo failus (pvz. .cshrc). Be to kiekvienas shell'as turi rezervuotą rinkinį lokalių kintamųjų, kurie turi specialią paskirtį. Kiti aplinkos bei lokalūs kintamieji gali būti vartotojo sukuriami ir naudojami. Reikšmės priskyrimas kintamiesiems įvairiuose shell'uose yra užduodamas skirtingai, bet paties kintamojo reikšmė yra gaunama visuose shell'uose taip pat: užrašant $ ženklą ir tuoj po jo nurodant kintamojo vardą. 5.1.Užduotis: Komanda echo peržiūrėkite aplinkos kintamųjų reikšmes. Šiuo tikslu peržiūrėkite ir įvykdykite procedūrą ~os/shell/bsh4 cat bsh4 #!/bin/sh echo "login vardas $LOGNAME" echo "paieskos kelias yra: $PATH" echo "terminalo tipas: $TERM" echo "aptarnaujantis shell'as : $SHELL" echo "namu katalogas yra : $HOME" sh bsh4 login vardas norbrena paieskos kelias yra: /usr/bin: terminalo tipas: xterm aptarnaujantis shell'as : /bin/sh namu katalogas yra : /home/norbrena Vartotojo sukurtų kintamųjų specialiai aprašyti nereikia. 5.2. Reikšmės priskyrimas kintamajam. B shell’e kintamajam reikšmė yra priskiriama atliekant tokį veiksmą: vardas=reikšmė Tarpo ženklų prieš ir po = simbolio neturi būti. Jei šio kintamojo dar nebuvo jis yra sukuriamas ir jam yra suteikiama nurodyta reikšmė. Jei kintamasis jau turėjo reikšmę, tai jam bus suteikta nauja reikšmė. Cshell'e kintamajam reikšmė priskiriama veiksmu: set vardas = reikšmė jei reikšmė kintamajam yra priskiriama įvedimo būdu, tai b shell’e yra naudojama read komanda, o c shell’e simboliai: $ Atitinkamus Cshell'o aplinkos kintamuosius galime peržiūrėti komanda setenv. Jos rezultatai ir kintamųjų paskirtis: Kintamasis Nustatyta reikšmė Paskirtis HOME /home/norbrena Namų katalogas HZ 100 LANG C LOGNAME norbrena Prisijungimo vardas MAIL /var/mail/norbrena Vartotjo pašto katalogas PATH /usr/bin: SHELL /bin/sh Aptarnaujantis shellas TERM xterm Terminalo tipas TZ Europe/Vilnius Laiko zona PWD /export/home/norbrena/lab7 Einamasis katalogas USER norbrena Vartotojo vardas Pabandykite pakeisti promt kintamojo reikšmę .cshrc faile.   6. 6.      Aritmetiniai veiksmai Nors Bshell'as tiesiogiai nepalaiko aritmetinių veiksmų, bet jie gali būti atlikti naudojant komandą expr ir įvykdytos komandos reikšmės įstatymą. expr išraiška Cshell'e aritmetinės išraiškos skaičiuojamos naudojant konstrukciją: @ kintamasis = išraiška Užduotis: Sukursime procedūrą proc2b B shell'e ir analogišką procedūrą proc2c Cshell'e. Proc2b: #!/bin/sh a=2 s=3 d=`expr $a \* $s + 1` echo "d=" $d Jos rezultatai: sh proc2b d= 7 Proc2c: #!/bin/csh set a = 2 set s = 3 @ d = $a + $s echo $d Paskelbkite procedūras vykdomomis ir jas įvykdykite. Jos rezultatas: csh proc2c 5 Peržiūrėkite procedūrą ~os/shell/bsh5 ir ją įvykdykite. Jos rezultatas: sh bsh5 vykdom expr 7 + 8 + 10 25 vykdom expr 10 - 8 2 vykdom expr 10 * 4 40 vykdom expr 135 / 5 27 priskiriam israiska kintamajam:p=`expr 7 + 8 + 10 - 2 ` spausdinam p kintamojo reiksme 23 Užduotis: Sudarykite procedūras proc21b ir proc21c, kurios atliktų šiuos veiksmus: Įveskite skaičius 107; 15;8. Padalinkite pirmą skaičių iš antojo, bei trečiojo skaičiaus. Gaukite dalybos rezultatų sumą bei liekanų sandaugą. Jų tekstai bei rezultatai: cat > proc21b #!/bin/sh a=107 b=15 c=8 d1=`expr $a / $b` d2=`expr $a / $c` l1=`expr $a % $b` l2=`expr $a % $c` s=`expr $d1 + $d2` echo "Dalybos rezultatu suma = "$s s=`expr $l1 \* $l2` echo "Liekanu sandauga = " $s sh proc21b Dalybos rezultatu suma = 20 Liekanu sandauga = 6 cat > proc21c #!/bin/csh set a=107 set b=15 set c=8 @ d1= $a / $b @ d2= $a / $c @ l1= $a % $b @ l2= $a % $c @ s= $d1 + $d2 echo "Dalybos rezultatu suma = "$s @ s= $l1 * $l2 echo "Liekanu sandauga = "$s csh proc21c Dalybos rezultatu suma = 20 Liekanu sandauga = 6 7. 7.      Procedūrų argumentai   Shell'o procedūroms galima perduoti argumentus ir su jais procedūros viduje atlikti norimus veiksmus. Argumentai yra perduodami juos nurodant komandinėje eilutėje po procedūros vardo. Procedūros viduje į juos kreipiamasi taip: Bshell'e: $0 - $9 - taip galima nusakyti konkretų argumentą, $* - taip kreipiamasi į visus argumentus, $# - taip nusakomas argumentų kiekis. Cshell'e: $argv[1] $argv[15] $argv[$i] nusakyti konkretų argumentą $argv[*] - taip kreipiamasi į visus argumentus, $#argv - taip nusakomas argumentų kiekis. Užduotis: Sudarykite procedūras proc3b ir proc3c į kurias įrašykite šias komandas: Proc3b: #! /bin/sh echo ivesta daugiau nei vienas argumentas echo argumentai yra $* echo argumentu kiekis yra $# Proc3c: #!/bin/csh echo ivesta daugiau nei vienas argumentas echo argumentai yra $argv[*] echo argumentu kiekis yra $#argv Įvykdykite šias procedūras. Jų paleidimo komandos ir rezultatai: sh Proc3b ivesta daugiau nei vienas argumentas argumentai yra argumentu kiekis yra 0 sh Proc3c ivesta daugiau nei vienas argumentas argumentai yra argumentu kiekis yra 0 Peržiūrėkite procedūrą ~os/shell/bsh9 ir ją įvykdykite. Rezultatai: sh bsh9 Argumentai Fri Apr 22 16:28:36 EEST 2005 Argumentas 1: Fri Argumentas 2: Apr Argumentas 3: 22 Argumentas 4: 16:28:36 Apr 22, 2005 8. 8.      Sąlyginės komandos 8.1. komanda if Sąlyginės komandos leidžia pasirinkti vieną iš vykdymo kelių, priklausomai nuo komandoje tikrinamos sąlygos rezultatų. Tai komanda if: Bshell'as: if sąlyga then komandų sąrašas fi Naudojant dvi šakas: if sąlyga then komandų sąrašas else komandų sąrašas fi Esant keletui tikrinimų: if sąlyga then komandų sąrašas elif sąlyga komandų sąrašas fi Cshell'as: if sąlyga then komandų sąrašas endif Naudojant dvi šakas: if sąlyga then komandų sąrašas else komandų sąrašas endif Esant keletui tikrinimų: if sąlyga then komandų sąrašas else if sąlyga then komandų sąrašas endif endif   Tikrinama sąlyga Bshell'e :nusakoma naudojant tikrinimo operatorių test. Lyginant dvi aritmetines reikšmes naudojami ženklai:-gt -ge -eq -ne -lt -le (> >= = != >= == != 3 čia būtų tikrinama, ar a reikšmė yra didesnė už 3.Tikrinimo veiksma reikia rasyti () skliaustuose. Tikrinant kintamojo reikšmę galima patikrinti ar tai failas, ar katalogas, ar jis yra skaitomas, ar į jį galima rašyti ir t.t. Pavyzdžiui Bshell'e: if test -r $1 čia būtų tikrinama, ar pirmu argumentu užduodamas failas yra skaitomas. Pavyzdžiui Cshell'e: if -d $argv[1] čia būtų tikrinama, ar pirmu argumentu užduodamas failas yra katalogas. Užduotis: Kokias dar sąlygas galima tikrinti ir kaip tai užduodama: Sąlyga užrašoma b shelle Sąlyga užrašoma c shelle Prasmė if test -r $kintamasis  if –r $argv[kintamasis] Ar argumentu “kintamasis” užduodamas failas yra skaitomas  if test -x $kintamasis if –x $argv[kintamasis]  Ar argumentu “kintamasis” užduodamas failas yra vykdomas  if test -w $kintamasis if –w $argv[kintamasis]  Ar argumentu “kintamasis” užduodamas failas yra rašomas Sudarykite procedūrą proc4b, į kurią įrašykite šias komandas: #! /bin/sh if test $# -gt 1 then echo ivesta daugiau nei vienas argumentas echo argumentai yra $* else echo per mazai argumentu fi Užduotis: Sudarykite procedūrą proc5c: #! /bin/csh if $#argv != 2 then echo panaudoti $0 failas1 failas2 exit 1 else cp $argv[1] $argv[2] endif Užrašykite kreipimosi į šias procedūras komandas bei gaunamus rezultatus sh proc4b 1 2 3 4 ivesta daugiau nei vienas argumentas argumentai yra 1 2 3 4 csh proc5c failas1 failas2 Užduotis: Sudarykite procedūrą proc6(c ir b), į kurią įrašykite komandas, kurios: a) patikrintų ar komandinėje eilutėje yra nurodyti du argumentai, b) nustatytų, ar pirmasis argumentas yra katalogas, c) nustatytų, ar antras argumentas yra failas, d) jei šios sąlygos tenkinamos, tai komanda mv perkeltų failą į nurodytą katalogą Pateikite procedūros tekstą ir vykdymo komandą.: Proc5b #! /bin/sh if test $# -eq 2 then if test -d $1 then if test -f $2 then mv $2 $1 fi fi fi ( sh Proc5b katalogas failas)   Proc5c #! /bin/csh if $#argv == 2 then if -d $argv[1] then if -f $argv[2] then mv $argv[2] $argv[1] endif endif endif (csh Proc5b katalogas failas) Sudarykite procedūrą proc7(c ir b), į kurią įrašykite komandas, kurios: Patikrintų, ar pirmas įvestas argumentas yra katalogas surūšiuotų kataloge esančius failus priešinga abėcėlės tvarka. Pateikite procedūros tekstą ir vykdymo komandą.: Proc6b #! /bin/sh if test $# -ge 1 then if test -d $1 then cd $1 ls -a | sort +r cd .. fi fi (sh Proc6b katalogas) Proc6c #! /bin/csh if $#argv == 1 then if -d $argv[1] then cd $argv[1] ls -a | sort +r cd .. endif endif (csh Proc6b Katalogas) 1.2. 8.2.Išsišakojimai       Bshell’as turi ir kitą sąlyginės komandos tipą – tai komanda case, kuri leidžia palyginti vieną reikšmę su daug kitų reikšmių, ir radus sutapimą, vykdyti sarašą atitinkamų komandų. case kintamasis in reikšmė1)komanda komanda;; reikšmė2)komanda komanda;; … *) komanda;; esac   Cshell'e atitinkamai turime konstrukciją switch:   switch(word) case reikšmė1 : komandos breaksw default: komandos breaksw endsw Užduotis: Sudarykite procedūras proc7b proc7c, kurios pagal įvestą skaičių spausdintų atitinkamos savaitės dienos pavadinimą. Pateikite proc7b proc7c tekstus. Proc7b #! /bin/sh if test $# -eq 1 then case $* in 1)echo Pirmadienis;; 2)echo Antradienis;; 3)echo Treciadienis;; 4)echo Ketvirtadienis;; 5)echo Penktadienis;; 6)echo Sestadienis;; 7)echo Sekmadienis;; esac fi (sh Proc7b 1) Proc7c #! /bin/csh if $#argv == 1 then switch($argv[*]) case 1: echo Pirmadienis breaksw case 2: echo Antradienis breaksw case 3: echo Treciadienis breaksw case 4: echo Ketvirtadienis breaksw case 5: echo Penktadienis breaksw case 6: echo Sestadienis breaksw case 7: echo Sekmadienis breaksw endsw endif (csh Proc7c 1) 9. 9.      Ciklai for   Bshell'e: for kintamasis in a1 a2 a3 … an do komandų sąrašas done Cshell'e: foreach var (list) komandos end     Užduotis: Sukurkite procedūrą proc8b, į kurią įrašykite sekančias komandas: #! /bin/sh num=0 for param in $* #su kiekviena argumento reikšme do num=`expr $num + 1` echo parametras $num yra $param done Jos paleidimo komanda ir rezultatai: sh proc8b 9 8 7 4 parametras 1 yra 9 parametras 2 yra 8 parametras 3 yra 7 parametras 4 yra 4 Sukurkite procedūrą proc8c, į kurią įrašykite sekančias komandas: #! /bin/csh set num = 0 foreach param ( $argv ) #su kiekv argumento reikšme @ num = $num + 1 echo parametras $num yra $param end Jos paleidimo komanda ir rezultatai: csh proc8c 9 8 7 6 parametras 1 yra 9 parametras 2 yra 8 parametras 3 yra 7 parametras 4 yra 6 Sudarykite procedūras proc81(bc), kurios atliktų šiuos veiksmus: Kiekvienam einamojo katalogo failui panaudotų komandą wc   Ju tekstai ir rezultatai: Proc81b #! /bin/sh a=`ls -l | awk '{ print $9 }'` for failas in $a do wc $failas done sh Proc81b 1 1 8 failas1 1 1 8 failas2 20 37 249 p1 8 24 145 p10 7 19 124 p11   Proc81c #/bin/csh set a = `ls -l | awk '{ print $9 }'` foreach failas ($a) wc $failas end csh Proc81c 1 1 8 failas1 1 1 8 failas2 20 37 249 p1 8 24 145 p10 Sudarykite procedūras proc82(bc), kurios atliktų šiuos veiksmus: Kiekvienam failui, nurodomam komandinėje eilutėje panaudotų komandą head Procedūros tekstas: Proc82b #! /bin/sh for param in $* do if test -f $param then head $param fi done Proc82c #! /bin/csh foreach param ($*) if -f $param then head $param endif end 10. 10. while tipo ciklas   Šiuo atveju ciklas yra kartojamas tol, kol yra tenkinama tikrinama sąlyga. Komandos konstrukcija yra tokia: Bshell'e while sąlyga do komandų sąrašas done   Cshell'e   while sąlyga komandų sąrašas end Užduotis Sukurkite procedūrą proc9b, į kurią įrašykite komandas: sk=$* echo argumentai: $sk while [ $# –ge 0 ] do echo $1 shift done Paskelbkite procedūrą vykdomąja ir atlikite ją Rezultatai: Komanda shift komandinės eilutės argumentus perstumia per vieną argumentą į kairę. Po šios komandos įvykdymo argumentas, buvęs antru, taps pirmu argumentu, trečias – antru ir t.t.   Užduotis: Sudarykite procedūrą proc10b: #! /bin/sh # komandų vykdymas pakatologiuose dir=`pwd` for i in * # reikšmės iš ein. katalogo do if test –d $dir/$i then cd $dir/$i while echo “$i:” read x do eval $x done cd .. fi done # baigiame įvedimą su Ctrl-D Pateikite proc10b veiklos scenariju: ................................... Užduotis: Sudarykite procedūrą proc11c, kuri spausdintų komandinės eilutės argumentus atvirkščia tvarka. Jos tekstas : 11. 11. Ciklas until Bshell'e   Šiame cikle komandų sąrašas yra vykdomas tol, kol yra netenkinama nurodyta sąlyga. Ciklo struktūra: until sąlyga do komandų sąrašas done   Užduotis: Sukurkite procedūrą proc12b, į kurią įrašykite komandas: sk=20 until [ $sk –lt 0] do echo $sk sk=` expr $sk – 1` done Paskelbkite ją vykdomąja ir įvykdykite ją. Rezultatai: ………………………………………………………………. 12. 12. Vykdytų komandų panaudojimas Cshell'e. Kadangi Cshell’as veda sąrašą vykdytų komandų, tai juo galima pasinaudoti formuojant sekančias komandas. Vykdytų komadų sąrašo dydis priklauso nuo rezervuoto kintamojo history reikšmės. Ženklas ! rodo, kad dydžiai yra imami iš šito sąrašo (išskyrus tuos atvejus, kai po ! ženklo seka tarpo, tabuliacijos ar naujos eilutės pradžios simboliai).   !! žymi tai, kad yra kartojama priš tai vykdyta komanda. !n kreipiasi į šio sąrašo n-tą eilutę. !-n kreipiasi į eilutę, kurios numeris gaunamas iš einamosios eilutės numerio atėmus n reikšmę. !str kreipiasi į paskutinę vykdytą komandą, kuri prasideda seka “str”. !/str[?] kriepiasi į paskutinę vykdytą komandą, kurioje randa seką “str”   Užduotis: Įvykdykite komandų seką: history who pakartokite paskutinę vykdytą komandą įvesdami !! history išsirinkite iš sąrašo vieną iš anksčiau vykdytų komandų ir išveskite ją vykdymui pagal jos numerį sąraše. Įvykdykite komandas: !-2 !w !?h Simbolis : rodo, kad iš sąrašo bus renkami atskiri žodžiai, kurių pažymėjimui gali būti panaudoti ^ $ * - % ženklai. Pavyzdžiui !!:1 žymės tai, kad yra išrenkamas 1-as prieš tai vykdytos komandos argumentas, tačiau šiuo atveju antras ! ženklas gali būti ir nerašomas, tai yra !!:1 ir !:1 bus interpretuojama vienodai. Išrenkant žodžius naudojamo simbolio prasmė yra tokia:   Simbolis Prasmė 0 1-as žodis - pati komanda. n n-tas komandos argumentas.(n+1 -as žodis). ^ pirmas argumentas(1). $ paskutinis argumentas. % paskutinėje ?s paieškoje sutapęs žodis. x-y žodžių intervalas. * nulinė reikšmė arba visi argumentai. x* sutrumpinimas nuo x-$. # visa komandų eilutė. Užduotis: Įvykdykite komandų seką: cd ls -ad /bin ls !!:$ Po nuorodos į žodį jūs galite įdėti vieną arba kelis modifikatorius, kurie prasideda šiom raidėm:   Simbolis Prasmė h Išmeta visus kelio komponentus, paliekant tik pirmą. r Išmeta plėtinius, paliekant tik patį vardą. e Išmeta viską išskyrus plėtinį. s/l/r/ Keičia l į r. t Palieka kelio vardo paskutinį komponentą. & Pakartoja praeitus pakeitimus. p Spausdina naują komandą, bet jos nevykdo. ir kitos.   Užduotis: Panagrinėkite komandų seką: ls -al /home/OS mkdir !!:$:t:p Kokia komanda bus suformuota? 13. 13. Komandų sinonimai Cshell'e:   C shell'as palaiko sinonimus, kuriuose jūs galite sukurti arba keisti naudojant komandas alias ir unalias; Shell'as tikrina, ar pirmas įvestas komandos žodis sutampa su egzistuojančiais sinonimais. Jei taip - įvestos komandos vardas yra keičiamas realia komanda. Sinonimo aprašyme gali būti naudojami kiti sinonimai. Sinonimas aprašomas taip: alias [name [def ] ] čia vardui name bus suteikiama aprašo def reikšmė, pavyzdžiui: alias del 'rm -i' reikš, kad vietoje komandos rm -i galėsim naudoti jos sinonimą del. Daug sinonimų galima rasti .cshrc faile. Komanda unalias naikina sinonimo galiojimą. unalias name Jei alias komandoje nenurodyta def reikšmė, tai bus nurodoma einamoji name reikšmė. Nenurodžius ir name yra parodomi visi nustatyti sinonimai.   Užduotis: Peržiūrėkite visus nustatytus sinonimus: Peržiūrėkite sinonimų aprašymus, kurie yra .cshrc faile Įveskite komandą alias Kokie sinonimai galioja jūsų aplinkoje? 14. 14. Shell’ų palyginimas Sulyginkite skirtingus shell’us pagal nurodytas charakteristikas: Pateikite skirtingų shell’ų charakteristikas:   sh csh bash Programavimo kalba       Kintamieji       Komandų sinonimai       Komandų istorija       Failų vardų užbaigimas       Užduočių kontrolė       Standartiniai prisijungimo failai        

Daugiau informacijos...

Šį darbą sudaro 3712 žodžiai, tikrai rasi tai, ko ieškai!

★ Klientai rekomenduoja


Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?

Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!

Detali informacija
Darbo tipas
Failo tipas
Word failas (.doc)
Apimtis
19 psl., (3712 ž.)
Darbo duomenys
  • Informacinių technologijų laboratorinis darbas
  • 19 psl., (3712 ž.)
  • Word failas 227 KB
www.nemoku.lt Atsisiųsti šį laboratorinį darbą
Privalumai
Pakeitimo garantija Darbo pakeitimo garantija

Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.

Sutaupyk 25% pirkdamas daugiau Gauk 25% nuolaidą

Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.

Greitas aptarnavimas Greitas aptarnavimas

Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!

Atsiliepimai
www.nemoku.lt
Dainius Studentas
Naudojuosi nuo pirmo kurso ir visad randu tai, ko reikia. O ypač smagu, kad įdėjęs darbą gaunu bet kurį nemokamai. Geras puslapis.
www.nemoku.lt
Aurimas Studentas
Puiki svetainė, refleksija pilnai pateisino visus lūkesčius.
www.nemoku.lt
Greta Moksleivė
Pirkau rašto darbą, viskas gerai.
www.nemoku.lt
Skaistė Studentė
Užmačiau šią svetainę kursiokės kompiuteryje. :D Ką galiu pasakyti, iš kitur ir nebesisiunčiu, kai čia yra viskas ko reikia.
Palaukite! Šį darbą galite atsisiųsti visiškai NEMOKAMAI! Įkelkite bet kokį savo turimą mokslo darbą ir už kiekvieną įkeltą darbą būsite apdovanoti - gausite dovanų kodus, skirtus nemokamai parsisiųsti jums reikalingus rašto darbus.
Vilkti dokumentus čia:

.doc, .docx, .pdf, .ppt, .pptx, .odt