Linux komandų apvalkalas. „Bash“ yra „Linux“ komandų apvalkalas. Apie mokslo apžvalgininką

Daugumoje „Linux“ platinimų pagal numatytuosius nustatymus yra įdiegtas „Bash“ apvalkalas. Atkreipkite dėmesį, kad yra nedidelis skirtumas tarp visų apvalkalų, atitinkančių POSIX Unix tipo operacinės sistemos standartą.

„Bash“ veikia teksto režimu arba terminalo programa ir veikia interaktyviai. Tai reiškia, kad ji laukia vartotojo įvesties, tada interpretuoja įvestą eilutę kaip komandą, kurią reikia vykdyti. Komandos yra skirtingos: programos paleidimas, operacijos su failais, scenarijaus vykdymas paties Bash kalba ir kt.

„Unix“ buvo sukurta kaip kelių vartotojų operacinė sistema, kurią vartotojai galėjo pasiekti per terminalus. Pavyzdžiui, pastate buvo vienas galingas kompiuteris, o specialistų darbo patalpose buvo įrengti terminalai – prieigos taškai prie bendros mašinos resursų.

Dėl asmeninių kompiuterių plitimo, prasidėjusio devintajame dešimtmetyje, daugelio vartotojų operacinės sistemos nebuvo paklausios masiniam vartotojui. Tačiau serveriams jie tapo geru pasirinkimu.

Įsivaizduokite, kad per SSH jungiatės prie žiniatinklio serverio, kuriame talpinate svetainės failus. Dirbdami su GNU / Linux OS ir paleisdami programą „Terminal“, jūs suteikiate Bash komandai prisijungti prie nuotolinio kompiuterio konkrečiu vartotojo vardu. Serveris jums atsako ir reikalauja įvesti šio vartotojo slaptažodį. Taip yra todėl, kad šiuo serverio kompiuteriu gali naudotis toli gražu ne vienas žmogus.

Vietiniame kompiuteryje Linux teksto režimu (jei paspausite, pavyzdžiui, Ctrl + Alt + F2), nuotolinė prieiga prie įrenginio per terminalą yra emuliuojama. Čia Bash pirmiausia paragina įvesti prisijungimo vardą, o po to - slaptažodį. Įvedus slaptažodį ekrane nieko nerodoma. Tai buvo padaryta tyčia, kad būtų neįmanoma pamatyti net įvestų simbolių skaičiaus. Jeigu įvesta prisijungimo/slaptažodžio pora sutampa su bet kuriuo anksčiau sistemoje registruotu vartotoju, tuomet pamatysite Bash komandų eilutės raginimą įvesti komandą.Klaidos atveju reikės iš naujo įvesti prisijungimo vardą/slaptažodį.

Grafiniu režimu programa "Terminalas" automatiškai "paima" ją paleidusio vartotojo duomenis ir perkelia juos į Bash. Taigi jūs jau esate pateikti sistemai ir pirmas dalykas, kurį matote, yra komandinės eilutės eilutė.

Komandinės eilutės eilutė turi gana standartinę sintaksę ir atrodo maždaug taip: vartotojo vardas@kompiuterio pavadinimas:dabartinio_katalogo ženklas.

Ekrano kopijoje pl yra vartotojo vardas, comp yra kompiuterio pavadinimas. Tildės simbolis ~ Linux sistemose yra vartotojo namų katalogo (/home/user) trumpinys. Tai yra katalogas, kurį „Bash“ daro pagal numatytuosius nustatymus. Dolerio ženklas $ rodo, kad dirbame kaip neprivilegijuotas vartotojas. Jei esate prisijungę kaip administratorius, dolerio ženklas bus # vietoj dolerio ženklo.

Po raginimo automatiškai įdedamas tarpas ir tikimasi komandos. Viršuje esančiame paveikslėlyje iš pradžių buvo tiesiog paspaustas Enter. Antroje eilutėje buvo įvesta komanda pereiti į kitą katalogą. Trečioje eilutėje matome jo vykdymo rezultatą – /opt tapo dabartiniu katalogu, kuris rodomas užklausoje.

Yra daug komandų, kurias galima išleisti Bash. Iš esmės tai yra konkrečios programos paleidimo komandos, esančios / bin, / usr / bin kataloguose ir daugelyje kitų. Katalogai, kuriuos reikia patikrinti, yra parašyti apvalkalo $PATH kintamajame:

Čia, naudodami komandą echo, mes prašome Bash mums pateikti $ PATH kintamojo reikšmę. Išvestyje katalogai yra atskirti vienas nuo kito dvitaškiu.

Galite pamatyti, kurios programos yra įdiegtos tam tikrame kataloge, ir paleisti vieną iš jų:

Jei programa turi tik grafinę sąsają, ji prasidės taip (jei esate grafiniame režime, teksto atveju įvyks klaida). Tokiu atveju Bash lauks, kol programa bus baigta, tai yra, nebus galima įvesti kitų komandų. Tačiau „Terminale“ galite atidaryti antrą skirtuką arba sukurti antrą langą. Tai pradės kitą Bash procesą.

Yra programų su tekstine sąsaja. Pavyzdžiui, „Nano“ redaktorius:

Šiuo atveju Bash gavo nano komandą, o GNU Nano redaktorius buvo atidarytas tiesiai terminale, kuriame buvo įvesta pora žodžių. Norėdami išeiti iš redaktoriaus, turite paspausti Ctrl + X, patvirtinti arba atsisakyti išsaugoti. Po to grįžkite į „Bash“ komandų eilutę.

Daugelis „Bash“ veikiančių programų nėra skirtos interaktyviam sąveikai su vartotoju (dialogo režimas). Kalbant apie prasmę, teisingiau jas vadinti komandomis, o ne programomis. Vartotojas įveda komandą, ji vykdoma ir valdymas grįžta atgal į Bash. Ką komanda daro, priklauso nuo komandos.

Bash gali paleisti programas, kurios yra ne tik $PATH išvardytuose kataloguose. Tačiau šiuo atveju adresas jai turi būti aiškiai nurodytas. Be to, neturėtumėte pamiršti, kad failas turi turėti teisę vykdyti.

Čia pagrindiniame kataloge buvo sukurtas test.py failas, kuriame yra kodas Python programavimo kalba, kurioje rodomas skaičius 10. Kodas parašytas nano kalba (nerodoma ekrano kopijoje). Toliau bandome vykdyti programą, pasiekdami failą jos adresu. Taškas žymi dabartinį katalogą.Šiuo atveju tai yra namai, taigi jis atitinka ~/test.py arba /home/pl/test.py .

Pirmojo skambučio metu gauname klaidą, nes neturime leidimo vykdyti programos. chmod komandos pagalba pridedame tokią teisę (parinktis +x).

Yra daug komandų. Sunku juos visus pažinti. Tačiau yra keletas populiariausių. Tai yra komandos, skirtos operacijoms su failais atlikti, programų diegimui, katalogų ir failų naršymui, judėjimui per katalogų medį ir pan., Tai yra viskas, ką darome operacinės sistemos grafiniu režimu. Daugelis jų bus aptarti šiame kurse. Kai kuriuos iš jų jau sutikome (cd, ls, echo, chmod).

Poilsio poreikis atsiranda rečiau. Tokiais atvejais į pagalbą ateina informaciniai vadovai, kuriuos galima rasti per Bash ir kitus šaltinius. Kurso metu visų pirma bus atkreiptas dėmesys į darbo Bash ypatybes.

Be to, nepamirškime, kad Bash taip pat yra skriptų programavimo kalba. Faile, dažniausiai su plėtiniu .sh, gali turėti ne tik komandų sąrašą, bet ir kalbos nurodymus (sąlyginis operatorius, kilpos ir pan.), „nurodančių“, kaip ir kokiais atvejais vykdyti tam tikras komandas. Programavimas Bash kalba šiame kurse neaptariamas.

Užduotis

Ištirkite patys, ką daro šios komandos: data, cal, pwd, who, clear, exit. Norėdami sužinoti, kuriuose kataloguose yra šių programų vykdomieji failai, naudokite komandą kuri.

Kursas su užduočių atsakymais ir papildomomis pamokomis:

Originalus: The Beginner's Guide to Shell Scripting: The Basics
Autorius: Yatri Trivedi
Paskelbimo data: 2015 m. rugsėjo 29 d
Vertimas: A.Panin
Perdavimo data: 2016 m. spalio 4 d

„Linux“ operacinės sistemos forumuose nuolat iškyla apvalkalo scenarijų tema, tačiau daugelis vartotojų su ja vis dar nėra susipažinę. Išmokę šią paprastą ir galingą programavimo techniką sutaupysite laiko, geriau susipažinsite su komandų eilutės programomis ir supaprastinsite failų tvarkymo procedūras.

Sužinokite daugiau apie apvalkalo scenarijų sudarymo procesą

Linux operacinės sistemos vartotojas anksčiau ar vėliau turės susidurti su sistemos komandų eilutės sąsaja. Norite to ar ne, naudojant šią sąsają kai kurias užduotis atlikti daug lengviau, nei spustelėjus įvairius specializuotos programos grafinės sąsajos elementus. Kuo daugiau naudosite sistemos komandų eilutės sąsają, tuo geriau suvoksite jos galimybes. Tiesą sakant, ši sąsaja yra įdiegta atskiroje programoje, būtent komandų apvalkale. Didžioji dauguma „Linux“ platinimų šiandien naudoja „Bash“ apvalkalą, su kuriuo įvesite komandas.

Tie, kurie daug dirbo su Windows prieš pereidami prie Linux, tikriausiai prisimins paketinius failus. Tai maži tekstiniai failai, kuriuose gali būti komandų sekos, kurias vėliau „Windows“ vykdys. Tai pagrįstas ir patogus mechanizmas, leidžiantis atlikti įvairias operacijas, pavyzdžiui, paleisti žaidimus mokyklos kompiuterių laboratorijoje, jei nėra galimybės kurti katalogų ar nuorodų. Nors paketiniai failai gali būti naudingi sistemoje „Windows“, jie yra tik pigios apvalkalo scenarijų imitacijos.

Shell scenarijai leidžia kurti komandų grandines ir vykdyti jas taip pat, kaip ir paketinių failų atveju. Tačiau jie suteikia jums daug daugiau naudingų funkcijų, leidžiančių atlikti tokius veiksmus kaip komandų keitimas. Pavyzdžiui, galite paleisti tokią komandą kaip data ir naudoti jos išvestį kaip failų pavadinimo schemos dalį. Tokiu būdu galite automatizuoti atsarginių duomenų kopijų kūrimo procesą, pridėdami dabartinę datą prie kiekvieno nukopijuoto failo pavadinimo. Tačiau apvalkalo scenarijų turinys neturėtų apsiriboti komandų iškvietimais. Iš esmės šie scenarijai yra išbaigtos programos. Dėl šios priežasties skriptų kūrimo procese galėsite naudoti klasikines programavimo kalbos sintaksines konstrukcijas, tokias kaip for ciklus, if/then/else sąlyginius sakinius ir pan. Ir jums nereikia mokytis kitos programavimo kalbos, nes jau naudojate jums žinomą sąsają: komandų eilutę.

Mano nuomone, tai yra sistemos komandinės eilutės sąsajos galia. Turėsite kurti programas pagal jau žinomas komandas, taip pat sintaksines konstrukcijas, naudojamas beveik visose programavimo kalbose. Ar reikia atlikti pasikartojančius ir varginančius darbus? Galite tiesiog sukurti apvalkalo scenarijų, kad jis būtų paleistas automatiškai! Ar jums reikia sparčiojo klavišo norint vykdyti sudėtingą komandą? Tokiu atveju taip pat galite sukurti apvalkalo scenarijų! Ar norite sukurti paprastą komandų eilutės sąsają kuriai nors programai? Tiesiog sukurkite apvalkalo scenarijų!

Prieš tau pradedant

Prieš pradėdami nagrinėti apvalkalo scenarijus straipsnių serijoje, reikia atsižvelgti į keletą dalykų. Mes naudosime „Bash“ apvalkalą, kuris yra numatytasis beveik visuose „Linux“ platinimuose. Tačiau jis taip pat prieinamas tiek „Mac“ OS, tiek „Windows“ vartotojams, nes yra Cygwin bibliotekų rinkinys. Dėl šio universalumo galėsite kurti apvalkalo scenarijus nepriklausomai nuo naudojamos programinės įrangos platformos. Be to, reikia paminėti, kad scenarijai veiks be modifikacijų arba su minimaliomis modifikacijomis visose minėtose programinės įrangos platformose, su sąlyga, kad sistemoje bus visos juose naudojamos komunalinės paslaugos.

„Shell“ scenarijuose gali būti naudojamos komunalinės paslaugos, kurioms reikalingos „administratoriaus“ arba „viršutinio vartotojo“ privilegijos, todėl verta kruopščiai išbandyti kiekvieną scenarijų prieš pradedant jį gaminti. Be to, kurdami scenarijus turite vadovautis sveiku protu, pavyzdžiui, patikrinti, ar nėra atsarginių failų, kurie yra apdoroti naudojant juos, kopijų. Norint priversti interaktyvųjį režimą, labai svarbu naudoti tinkamas komandų parinktis, pvz., rm komandos parinktį -i. Taip išvengsite kai kurių nemalonių klaidų. Dėl tos pačios priežasties turėtumėte atidžiai išstudijuoti iš tinklo atsisiųstus scenarijus ir tik tuo atveju sukurti atsargines asmens duomenų kopijas.

Iš esmės apvalkalo scenarijai yra paprasto teksto failai. Jas redaguoti galite naudoti bet kurią teksto rengyklę: gedit, emacs, vim, nano... Ir sąrašas tęsiasi. Jums tereikia įsitikinti, kad pasirinkta teksto rengyklė gali įrašyti scenarijaus kodą įprastuose tekstiniuose failuose, o ne failuose su specialiu žymėjimu arba failuose, naudojamuose viename iš biuro rinkinių. Kadangi man patinka nano teksto rengyklės paprastumas, aš jį naudosiu.

Scenarijaus failų pavadinimai ir leidimai

Shell scenarijai veikia kaip įprastos programos, todėl jiems reikia tinkamų leidimų, kad galėtų juos vykdyti. Galite padaryti scenarijų vykdomąjį paleisdami šią komandą:

Chmod +x ~/somecrazyfolder/script1

Ši komanda leis bet kuriam vartotojui vykdyti scenarijų nurodytu vardu. Jei norite, kad tik jūs vykdytumėte šį scenarijų, turėsite naudoti šią komandą, o ne aukščiau pateiktą:

Chmod u+x ~/somecrazyfolder/script1

Norėdami pradėti scenarijaus vykdymą, turėsite pereiti į jo katalogą su komanda cd ir paleisti:

cd ~/somecrazyfolder ./script1

Norėdami supaprastinti apvalkalo scenarijų kūrimo procesą, galite tiesiog įdėti visus savo scenarijus į bin katalogą, esantį jūsų namų kataloge:

Dauguma šiuolaikinių platinimų automatiškai nesukuria šio katalogo, bet visada galite jį sukurti rankiniu būdu. Šis katalogas skirtas vienam vartotojui priklausančių vykdomųjų failų saugojimui, kurie yra nepasiekiami visiems kitiems vartotojams. Įdėję į jį scenarijus, galite juos vykdyti tiesiog įvesdami jų pavadinimus, kaip ir sistemos komandų atveju, nereikės naršyti į konkretų katalogą ir naudoti priešdėlį „./“.

Prieš įvesdami scenarijaus pavadinimą, turite paleisti šią komandą, kad įsitikintumėte, jog jūsų sistemoje nėra programos tokiu pačiu pavadinimu:

Kuris [scenarijaus_pavadinimas]

Daugelis pradedančiųjų apvalkalo scenarijų kuria scenarijaus failus tokiais pavadinimais kaip „testas“, tada bando juos paleisti iš terminalo emuliatoriaus ir negauna jokios išvesties. Taip yra todėl, kad yra prieštaravimų tarp scenarijaus failo pavadinimo ir sistemos komandos testo, kuris nieko nedaro, jei nėra argumentų. Visada patikrinkite, ar jūsų scenarijaus pavadinimas prieštarauja vienos iš esamų komandų pavadinimui, nes tokiu atveju galite praleisti daug laiko spręsdami problemą, kurios yra pakankamai lengva išvengti!

Kaip jau minėjau anksčiau, kiekvienas apvalkalo scenarijaus failas iš esmės yra tekstinis failas. Bet tai, žinoma, nereiškia, kad galite jame rašyti ką tik norite. Bandydami vykdyti šį tekstinį failą, apvalkalai analizuoja jo turinį, kad nustatytų, ar failas yra apvalkalo scenarijaus failas ir kaip jį tinkamai apdoroti. Dėl šios priežasties turėsite atsiminti keletą paprastų apvalkalo scenarijų sudarymo taisyklių.

  1. Kiekvienas scenarijus turi prasidėti eilute „#!/bin/bash“
  2. Kiekvienoje naujoje scenarijaus eilutėje turi būti nauja komanda
  3. Komentarų eilutės turi prasidėti #
  4. Pakeitimo komandos turi būti pateikiamos skliausteliuose ()

hash bang

Nagrinėjant tekstinio failo turinį, pagrindinis scenarijaus identifikatorius yra jo pirmoji eilutė:

#!/bin/bash

Jei naudojate kitą apvalkalą, galite pakeisti kelią į jo vykdomąjį failą šia direktyva. Komentarų eilutės visada prasideda svaro ženklu (#), bet jei po pirmojo svaro ženklo ir kelio į apvalkalo vykdomąjį failą yra šauktukas (!), yra šios taisyklės išimtis, leidžianti paleisti scenarijų naudojant apvalkalas, kelias į vykdomąjį failą, kurio failas yra pateiktas.

Nauja eilutė = nauja komanda

Kiekviena nauja scenarijaus eilutė turėtų būti traktuojama kaip nauja komanda arba sudėtingesnės sintaksinės konstrukcijos dalis. Pavyzdžiui, if/then/else teiginiai gali apimti kelias eilutes, bet kiekvienas jų elementas vis tiek bus naujoje eilutėje. Neturėtumėte apvynioti komandų naujose eilutėse, nes tai sutrumpins pirmąją eilutę ir parodys klaidos pranešimą, kai bandysite vykdyti antrąją eilutę. Jei jūsų teksto rengyklė tai daro pati, bet kuriuo atveju turėtumėte išjungti automatinį eilučių vyniojimą. Nano teksto rengyklėje automatinio eilučių vyniojimo funkcija išjungiama naudojant klavišų kombinaciją Alt+L.

Komentarai paprastai prasideda #

Jei eilutės pradžioje įdėsite simbolį #, apvalkalas nepaisys šios eilutės. Eilutė pavirs komentaru, kurį naudodami galėsite priminti, ką išveda ankstesnė komanda arba ką darys kita. Ir vėl reikėtų išjungti automatinę eilutės pertraukimo funkciją, o jei reikia nutraukti eilutę, nepamirškite pirmojo svaro ženklo. Daugiakalbių komentarų naudojimas yra puiki praktika, kad jums ir trečiosioms šalims būtų lengviau keisti scenarijus. Vienintelė šios taisyklės išimtis yra aukščiau paminėtas hash bang konstruktas, todėl komentaruose nenaudokite šauktuko (!) simbolio iškart po svaro ženklo (#).

Pakeitimo komandos pateikiamos skliausteliuose

Ne taip seniai visi komandų keitimai buvo atliekami naudojant backticks (` , esančius klaviatūroje tuo pačiu klavišu kaip ir tildės simbolis ~). Šios temos kol kas nenagrinėsime, bet kadangi daugelis žmonių iš naujo skaito straipsnius su įžangine informacija, reikia paminėti, kad vietoj varnelės turėtų būti naudojami skliaustai. Tai verta daryti daugiausia todėl, kad įdėjus komandas, ty kai kurias komandas įdėjus į kitas komandas, skliaustai veikia geriau.

Jūsų pirmasis scenarijus

Pradėkime kurdami paprastą scenarijų, skirtą kopijuoti failus su datomis, pridėtomis prie jų pavadinimų. Pavadinkime šį scenarijų „datecp“. Visų pirma, aš siūlau įsitikinti, kad scenarijaus pavadinimas neprieštarauja jokios sistemos programos pavadinimui:

Kaip matote, kuri komanda nieko neišveda, todėl niekas netrukdo mums naudoti šio scenarijaus failo pavadinimo.

Dabar sukurkime tuščią failą ~/bin kataloge:

Prieš pamiršdami, turime pakeisti numatytuosius naujai sukurto scenarijaus failo leidimus:

Dabar galite pradėti dirbti su scenarijaus kodu. Norėdami tai padaryti, atidarykite sukurtą tuščią failą pasirinktame teksto rengyklėje. Kaip jau sakiau anksčiau, man patinka nano teksto rengyklės paprastumas, todėl naudosiu ją.

Nano ~/bin/datecp

Ir galiausiai galime pridėti pirmąją eilutę, reikalingą scenarijui tinkamai veikti, bei komentarą, aprašantį jo funkcijas.

Tada turite deklaruoti kintamąjį. Jei kada nors studijavote algebrą, tikriausiai žinote, kas tai yra. Kintamasis leidžia saugoti informaciją ir su ja atlikti tam tikras manipuliacijas. Kintamieji gali būti „išplėsti“, kai jie paminėti kitoje scenarijaus vietoje. Tai yra, užuot rodius jų pavadinimus, bus išvestos juose saugomos reikšmės. Vėliau kintamajame galite išsaugoti naują informaciją, o atliekant tolesnius veiksmus su šiuo kintamuoju, ši nauja informacija bus naudojama. Tai labai patogus objektas tam tikriems duomenims saugoti.

Kokius duomenis saugosime savo kintamajame? Na, saugokime datą ir laiką jame! Norėdami tai padaryti, turėsime iškviesti datos komandą.

Pažvelkite į šią terminalo lango ekrano kopiją, kurioje rodoma datos komandos išvestis:

Nesunku suprasti, kad pridėję įvairių formatavimo parinkčių, kurių pavadinimai prasideda simboliu %, galite pakeisti komandos išvesties formatą, kaip norite. Norėdami gauti daugiau informacijos, galite peržiūrėti datos komandos man puslapį.

Naudokime paskutinį datos komandų formatavimo parinkčių rinkinį, būtent „data +%m_%d_%y-%H.%M.%S“ savo scenarijuje.

Jei šį scenarijų išsaugosime dabar ir paleisime, gausime laukiamą datos komandos išvestį:

Bet padarykime tai šiek tiek kitaip. Siūlau saugoti šios komandos išvestį kintamajame su nurodytu pavadinimu, pvz., data_formatted . Tinkama šios operacijos sintaksė yra tokia:

Kintamasis = $(komandos -parinkčių argumentai)

Mūsų atveju ši sintaksė atrodys taip:

Data_formatted=$(data +%m_%d_%y-%H.%M.%S)

Tai vadinama komandų pakeitimu. Mes nurodome bash vykdyti komandą, esančią skliausteliuose, kai minimas kintamasis „date_formatted“. Po to, kai kaip išvestis paminėtas kintamasis "date_formatted", vietoj jo pavadinimo bus naudojama skliausteliuose įrašyta komandos išvestis.

Ir tai yra scenarijaus pavyzdys ir jo išvestis:

Atkreipkite dėmesį, kad išvestyje yra du tarpo simboliai. Šie simboliai yra komandos echo rėmeliuose prieš kabutes, taip pat prieš kintamojo pavadinimą. Nenaudokite tarpų, jei nenorite, kad jie būtų rodomi išvestyje. Taip pat turėtumėte atkreipti dėmesį į tai, kad jei nėra eilutės su komanda „echo“, scenarijus neišves jokių duomenų.

Grįžkime prie savo scenarijaus. Pridėkime prie jo failo kopijavimo komandą:

Cp -iv $1 $2.$data_formatuota

Šiuo atveju komanda naudojama failui nukopijuoti su -i ir -v parinktimis. Pirmasis parametras leidžia patvirtinti savo ketinimus prieš perrašant failą, o antrasis parametras leidžia atspausdinti informaciją apie komandai perduotus parametrus.

Tada galite pastebėti, kad pridėjau parametrą $1. Kuriant scenarijus, dolerio ženklas ($) ir skaitinė reikšmė atitinka scenarijaus argumentą, kurio skaičius lygus tai skaitinei vertei. Pavyzdžiui, šioje komandoje:

Cp -iv Trogdor2.mp3 melodija.mp3

pirmasis argumentas yra "Trogdor2.mp3", o antrasis - "ringtone.mp3" .

Jei dar kartą pažvelgsite į scenarijaus kodą, pamatysite, kad failo kopijavimo komandai perduodame du scenarijaus argumentus:

Tai reiškia, kad vykdydami scenarijų turėsime perduoti du argumentus, kad jis veiktų tinkamai. Pirmasis argumentas, $1, yra kopijuojamo failo pavadinimas, pakeistas kaip pirmasis argumentas komandai "cp -iv".

Antrasis argumentas, $2, yra toje pačioje komandoje esančio tikslinio failo pavadinimas. Tačiau taip pat galite atrasti svarbų jo skirtumą. Prie jo pridėjau tašką ir nuorodą į anksčiau aptartą kintamąjį „date_formatted“. Ar jums įdomu, kam skirtas šis dizainas?

Tai yra scenarijaus išvestis jį paleidus:

Akivaizdu, kad tikslinį failo pavadinimą sudaro failo pavadinimas, perduotas per antrąjį scenarijaus argumentą $2, po kurio yra taškas ir datos komandos išvestis! Viskas turi prasmę, ar ne?

Dabar, kai bus vykdoma datacp komanda, bus paleistas šis scenarijus, leidžiantis nukopijuoti failą su informacija apie dabartinę datą ir laiką, automatiškai pridėtą prie tikslinio failo pavadinimo. Tai labai patogu, jei reikia sukurti atsargines failų kopijas!

Shell scenarijus yra būtinas, jei norite, kad jūsų sistema veiktų taip, kaip norite. Šiuo tikslu jums nereikia mokytis jokios naujos programavimo kalbos. Treniruokitės kurdami savo apvalkalo scenarijus pagal sistemos komandas ir pagalvokite, kam jie gali būti naudojami vėliau.

Ar jau turite patirties kuriant savo apvalkalo scenarijus? Ar turite ką pasakyti pradedantiesiems vartotojams? Pasidalinkite savo patirtimi komentarų skiltyje! Kitus apvalkalo scenarijų kūrimo proceso aspektus išnagrinėsime būsimuose serijos straipsniuose!

Darbas su komandine eilute

Antonas Bojaršinovas, Kirilas Maslinskis

Efektyvus profesionalus darbas Linux neįsivaizduojamas nenaudojant komandinės eilutės. Vartotojams, įpratusiems dirbti su sistemomis su grafine sąsaja, darbas su komandine eilute gali pasirodyti nepatogus: ką galima padaryti vienu nuvilkimu komandinėje eilutėje, reikės iš klaviatūros įvesti kelis žodžius: komandos su argumentais. Tačiau į Linuxšio tipo sąsaja visada buvo pagrindinė, todėl gerai išvystyta. Komandų apvalkaluose, naudojamuose Linux, yra daug būdų sutaupyti pastangų (klavišų paspaudimų) atliekant dažniausiai atliekamus veiksmus: automatinis ilgų komandų ar failų pavadinimų užbaigimas, jau anksčiau vykdytos komandos paieška ir pakartotinis vykdymas, failų pavadinimų sąrašų pakeitimas pagal kai kuriuos modelis ir daug daugiau. Komandinės eilutės pranašumai ypač išryškėja, kai reikia atlikti to paties tipo operacijas su daugeliu objektų. GUI sistemoje tiek pelės vilkimo, kiek objektų, užteks vienos (nors ilgos ir sudėtingos) komandos komandinėje eilutėje.

Šiame skyriuje bus aprašyti pagrindiniai įrankiai, leidžiantys naudoti komandinę eilutę sprendžiant bet kokias vartotojo užduotis: nuo nereikšmingų operacijų su failais ir katalogais (kopijavimas, pervardijimas, paieška) iki sudėtingų užduočių, kurioms reikalingos didžiulės to paties tipo operacijos, atsirandančios tiek vartotojo taikomųjų programų darbuose, dirbant su dideliais duomenų ar teksto kiekiais bei sistemos administravime. Pirmiausia bus aprašyti įrankiai, suteikiantys galimybę dirbti su komandų eilute ALT Linux 2.4 Master paskirstymo rinkinyje (komandų apvalkalai ir terminalų emuliatoriai), o tada pagrindinės komandų eilutės priemonės, atliekančios svarbiausias operacijas su failų sistema ir duomenys.

Komandų apvalkalai

Bendra informacija apie kriaukles

komandos apvalkalas(arba komandų interpretatorius) yra programa, kurios užduotis yra perduoti jūsų komandas operacinei sistemai ir taikomųjų programų programoms bei jų atsakymus jums. Pagal savo užduotis jis atitinka command.com in MS-DOS arba cmd.exe Windows bet funkciškai apvalkalai Linux nepalyginamai turtingesnis. Korpuso kalba galite rašyti mažas programas, kad atliktumėte eilę nuoseklių operacijų su failais ir juose esančiais duomenimis – scenarijais (skriptais).

Prisijungę prie sistemos (įvedę vartotojo vardą ir slaptažodį), pamatysite komandų eilutės eilutę – eilutę, kuri baigiasi simboliu $ (Toliau šis simbolis bus naudojamas komandų eilutei žymėti). Jei diegimas buvo sukonfigūruotas paleisti grafinę sąsają sistemos paleidimo metu, galite patekti į komandų eilutę bet kurioje virtualioje teksto konsolėje (paspaudę ctrl-alt-F1 - ctrl-alt-F6) arba naudojant bet kurią terminalo emuliavimo programą, pvz., xterm. Norėdami gauti daugiau informacijos apie terminalų emuliatorius, žr. terminalai. ALT Linux 2.4 Master paskirstyme galimi šie komandų apvalkalai:


Labiausiai paplitęs apvalkalas Linux. Jis gali užpildyti komandų ir failų pavadinimus, tvarko komandų istoriją ir suteikia galimybę jas redaguoti.

Korno apvalkalo klonas, gerai žinomas sistemose UNIX komandos apvalkalas.

Šio paketo ypatumas yra tas, kad jis nepriklauso nuo bendrinamų bibliotekų ir apima supaprastintus kai kurių svarbiausių paslaugų, pvz. ls, dd Ir gzip. Todėl varčia yra ypač naudinga atsigaunant po sistemos gedimo arba atnaujinant svarbių bendrinamų bibliotekų versiją.

Patobulinta C apvalkalo versija.

Naujausias iš čia išvardytų apvalkalų turi pažangų komandų-argumentų užbaigimą ir daugybę kitų funkcijų, dėl kurių darbas su apvalkalu tampa dar patogesnis ir efektyvesnis. Tačiau atminkite, kad pagal numatytuosius nustatymus visi zsh plėtiniai yra išjungti, todėl prieš pradėdami naudoti šį apvalkalą turėtumėte perskaityti jo dokumentaciją ir įgalinti reikalingas funkcijas.

Numatytasis apvalkalas yra bash ( Bourne Again Shell). Norėdami patikrinti, kurį apvalkalą naudojate, įveskite šią komandą: echo $SHELL.

Apvalkalai vienas nuo kito skiriasi ne tik galimybėmis, bet ir komandų sintaksė. Jei esate naujokas, rekomenduojame naudoti bash, toliau pateikti pavyzdžiai apibūdina darbą šiame apvalkale.

bash komandos apvalkalas

Bash komandų eilutė sudaryta iš komandos pavadinimo, po kurio gali būti nurodytas raktai(parinktys) - instrukcijos, modifikuojančios komandos elgesį. Klavišai prasideda simboliu - arba -- , ir dažnai susideda iš vienos raidės. Be klavišų, komandą galima sekti argumentai(parametrai) yra objektų, kuriuose turi būti vykdoma komanda, pavadinimai (dažnai failų ir katalogų pavadinimai).

Komandos įvedimas baigiamas paspaudus mygtuką Įeikite, po kurio komanda perduodama apvalkalui vykdyti. Vykdydamas komandą, vartotojo terminalas gali gauti pranešimus apie komandos eigą ar klaidas bei kitos komandos eilutės eilutę (baigiant simboliu $ ) - ženklas, kad komandos vykdymas baigtas ir galite įvesti kitą.

bash turi keletą gudrybių, kad būtų lengviau įvesti ir redaguoti komandų eilutę. Pavyzdžiui, naudodamiesi klaviatūra galite:

pereiti į eilutės pradžią, tą patį galima padaryti paspaudus klavišą Namai;

ištrinti esamą eilutę;

Nutraukti esamą komandą.

Galite naudoti simbolį ; norėdami įvesti kelias komandas vienoje eilutėje. bash įrašo visų vykdytų komandų istoriją, todėl lengva pakartoti arba redaguoti vieną iš ankstesnių komandų. Norėdami tai padaryti, tiesiog pasirinkite norimą komandą iš istorijos: klavišas aukštyn išspausdina ankstesnę komandą, žemyn- Kitas. Norėdami rasti konkrečią komandą tarp jau įvykdytų, neslinkdami per visą istoriją, įveskite ctrl-R ir įveskite bet kokį raktinį žodį, naudojamą komandoje, kurios ieškote.

Istorijoje esančios komandos sąraše rodomos sunumeruotos. Norėdami paleisti konkrečią komandą, įveskite:

! komandos numeris

Jei įeisite !! , bus paleista paskutinė įvesta komanda.

Kartais į Linux programų ir komandų pavadinimai per ilgi. Laimei, bash gali užbaigti pavadinimus pats. Paspaudus klavišą Skirtukas, galite užpildyti komandos, programos arba katalogo pavadinimą. Pavyzdžiui, tarkime, kad norite naudoti „bunzip2“ išskleidimo programą. Norėdami tai padaryti, įveskite:

Tada spustelėkite Skirtukas. Jei nieko neįvyksta, yra keletas galimų komandos užbaigimo variantų. Paspaudus klavišą Skirtukas vėl gausite vardų, prasidedančių raide, sąrašą bu .

Pavyzdžiui, sistemoje yra programos buildhash, builtin, bunzip2:

$bu buildhash builtin bunzip2 $bu

Surinkite n > (bunzip yra vienintelis vardas, kurio trečioji raidė n) ir paspauskite Skirtukas. Apvalkalas užbaigs pavadinimą ir beliks tik paspausti Įeikite paleisti komandą!

Atminkite, kad sistemos kintamajame apibrėžtuose kataloguose bash ieško programos, iškviestos iš komandinės eilutės KELIAS. Numatytasis šis katalogų sąrašas ne apima dabartinį katalogą, pažymėtą ./ (pasvirasis taškas). Todėl norėdami paleisti prog programą iš dabartinio katalogo, turite išduoti komandą ./prog.

Pagrindinės komandos

Pirmosios užduotys, kurias reikia išspręsti bet kurioje sistemoje, yra darbas su duomenimis (dažniausiai saugomais failuose) ir sistemoje veikiančių programų valdymas ( procesus). Žemiau pateiktos komandos, leidžiančios atlikti svarbiausias failų ir proceso operacijas. Tik pirmas - cd- yra neatskiriama tikrojo komandų apvalkalo dalis, likusi dalis platinama atskirai, bet visada pasiekiama bet kurioje sistemoje Linux. Visos toliau pateiktos komandos gali būti vykdomos tiek teksto pulte, tiek grafiniu režimu (xterm, KDE konsolė). Norėdami gauti išsamesnės informacijos apie kiekvieną komandą, naudokite komandą vyras, pavyzdžiui:

Vyras ls

Leidžia pakeisti esamą katalogą (judėti failų sistemoje). Jis veikia tiek su absoliučiais, tiek su santykiniais keliais. Tarkime, kad esate savo namų kataloge ir norite pakeisti jo pakatalogį. tmp/. Norėdami tai padaryti, įveskite santykinį kelią:

Norėdami eiti į katalogą /usr/bin, tipas (absoliutus kelias):

cd /usr/bin/

Kai kurios komandos naudojimo parinktys:

leidžia nustatyti dabartinį pirminį katalogą (atkreipkite dėmesį į tarpą tarp cd Ir .. ).

leidžia grįžti į ankstesnį katalogą. komandą cd be parametrų grąžina apvalkalą į pagrindinį katalogą.

ls (sąrašą) pateikia failų sąrašą dabartiniame kataloge. Du pagrindiniai variantai: -a- peržiūrėti visus failus, įskaitant paslėptus, -l- rodyti išsamesnę informaciją.

Ši komanda naudojama failams ištrinti. Dėmesio: ištrynę failą, jo atkurti nebegalėsite! . Sintaksė: rm Failo pavadinimas .

Ši programa turi daugybę parinkčių. Dažniausiai naudojamas: -i- prašymas ištrinti failą, -r- rekursinis trynimas (t. y. ištrynimas, įskaitant pakatalogius ir paslėptus failus). Pavyzdys:

Rm -i ~/html/*.html

Ištrina visus failus .html, savo kataloge html .

mkdir, rmdir

komandą mkdir leidžia sukurti katalogą, o rmdir ištrina katalogą, jei jis tuščias. Sintaksė:

mkdir katalogo_pavadinimas rmdir katalogo_pavadinimas

komandą rmdir dažnai pakeičiama komanda rm-rf, kuri leidžia ištrinti katalogus, net jei jie nėra tušti.

mažiau leidžia perskaityti tekstą. Sintaksė:

Mažiau Failo pavadinimas

Gali būti naudinga peržiūrėti failą prieš jį redaguojant; pagrindinė šios komandos taikymas yra paskutinė grandis programų grandinėje, kuri rodo didelį teksto kiekį, kuris netelpa viename ekrane ir šiaip per greitai mirksi. Išeiti mažiau spustelėkite q (mesti).

Ši komanda leidžia faile rasti simbolių eilutę. Prisimink tai grep ieško Įprasta išraiška, tai yra, suteikia galimybę nustatyti šabloną, kad vienu metu būtų galima ieškoti visos žodžių klasės. Reguliariųjų posakių kalboje galite sudaryti šablonus, apibūdinančius6, pavyzdžiui, tokias eilučių klases: „keturi skaitmenys iš eilės, apsupti tarpais“. Akivaizdu, kad tokia išraiška tekste galima ieškoti visų skaičiais parašytų metų. Reguliariųjų posakių paieškos galimybės yra labai plačios, daugiau informacijos galite rasti ekrane pateikiamoje dokumentacijoje grep (vyras grep). Sintaksė:

grep search_patternfile

Rodo esamų procesų sąrašą. Komandos stulpelyje nurodomas proceso pavadinimas, PID (proceso identifikatorius) - proceso numeris (naudojamas operacijoms su procesu - pavyzdžiui, siunčiant signalus su komanda nužudyti). Sintaksė:

PS argumentai

Argumentas u suteikia jums daugiau informacijos kirvis leidžia peržiūrėti tuos procesus, kurie jums nepriklauso.

Jei programa nustoja reaguoti arba užstringa, naudokite šią komandą, kad ją užbaigtumėte. Sintaksė:

Nužudyti PID_numeris

PID_numeris kur yra proceso identifikavimo numeris, su komanda galite sužinoti kiekvienos veikiančios programos proceso numerį ps. Paprastai komanda nužudyti siunčia įprastą išėjimo signalą procesui, tačiau kartais tai neveikia ir turėsite naudoti nužudyti -9 PID_numeris - tokiu atveju komanda bus nedelsiant nutraukta sistemos be galimybės išsaugoti duomenis (strigimas). Signalų, kad komanda nužudyti gali išsiųsti į procesą, galima gauti išdavus komandą nužudyti -l.

Vidurnakčio vadas

Jei dirbate daug metų MS-DOS / Windows, tuomet tikriausiai jautiesi šiek tiek „ne iš savo stichijos“. Norėdami patekti į pažįstamą aplinką, paleiskite „Midnight Commander“ su komanda mc. „Midnight Commander“ yra nemokama „Norton Commander“ ir dabar populiaraus jos įpėdinio „Far“ alternatyva. Jei tam tikru momentu manote, kad Midnight Commander negali kažko padaryti, greičiausiai tai neteisinga. Žiūrėkite jo aprašymą /usr/share/doc/mc-version_number arba duoti komandą vyras mc.

coreutils paketas

Antonas Bojaršinovas

Paketas coreutils yra daug mažų paslaugų, skirtų darbui su failais ir katalogais (kurti, kopijuoti ir pan.) ir teksto eilutėmis (jungti, rūšiuoti ir pan.). Šių paslaugų veikimo principas yra paveldėtas iš operacinės sistemos UNIX: visi jie neturi grafinės sąsajos ir yra iškviečiami iš komandinės eilutės su įvairiais argumentais, dirba su duomenimis paprastu teksto formatu ir naudoja standartinį įvesties / išvesties mechanizmą, leidžiantį perduoti vienos komandos išvestį tiesiai į kito įvestis tolesniam apdorojimui, nenaudojant tarpinių failų (vadinamųjų. konvejeris).

Efektyvus darbas su šiomis komunalinėmis programomis slypi būtent jų derinyje, jie leidžia atlikti didžiules to paties tipo operacijas dirbant su failais ir tekstiniais duomenimis su viena (nors ir gana ilga) komanda, o tai sutaupo labai daug žmogaus laiko. Šiame pakete esančios paslaugos dažnai naudojamos rašant apvalkalo scenarijus. Toliau aprašoma dauguma į paketą įtrauktų paslaugų. coreutils, kiekviena programa turi trumpą savo funkcijų aprašymą. Išsamesnį kiekvienos programos aprašymą rusų kalba galite gauti paskambinę šiai programai su raktu --padėkite, o pilniausią dokumentaciją (deja, tik anglų kalba) – išduodant komandą info naudingumas .

Anotacija: Komandų apvalkalo koncepcija. Komandų apvalkalų apžvalga. bash komandos apvalkalas. Darbo ypatybės (komandų istorija, operatorius "!" , veiksmai paspaudus klavišą ). Daugiafunkcinis darbas konsolėje. Užduotys. Užduočių valdymas. Vidurnakčio vado aplinkos kintamieji

Pamokos eiga

1. Linux ir Unix pasaulyje darbas kompiuteriu yra neatsiejamai susijęs su koncepcija komandos apvalkalas- programa, leidžianti vartotojui sąveikauti su sistema įvedant ir vykdant komandas. Nepaisant to, komandos apvalkalas yra įprasta programa. Tai galite įrodyti nustatydami kaip numatytąjį apvalkalą faile passwd vartotojui kita programa. Tačiau norint, kad sistema žinotų tai kaip apvalkalą, turite pridėti absoliutų failo pavadinimą /etc/shells.

Linux yra su keliais komandų apvalkalais, jų sudėtis gali skirtis priklausomai nuo platinimo, bet visada galite rasti:

Bourne Shell (sh) - seniausias ir labiausiai paplitęs komandos apvalkalas Unix sistemoms. Nėra nei vienos Unix sistemos, kurioje ji nebūtų naudojama.

Bourne Again Shell (bash) – pratęstas Bourne Shell. Jis turi daug malonių privalumų, todėl pastaruoju metu tapo toks populiarus. Tai yra "numatytasis" apvalkalas beveik visiems Linux platinimams.

Taip pat populiarios odos:

csh- apvalkalas, kurio komandų sistema yra artima C programavimo kalbai

tcsh yra apvalkalas, kurio komandų sistema yra artima Tcl programavimo kalbai.

zsh tikriausiai yra galingiausias apvalkalas. Tai sh (Bourne shell) plėtinys.

Kadangi Linux naudoja bash "pagal numatytuosius nustatymus", mes apie tai kalbėsime.

2. komandos apvalkalas„bash“ iš pradžių buvo nemokama „Bourne Shell“ alternatyva. Vėliau, kai jo galimybės išaugo, jis buvo pradėtas laikyti savarankišku produktu. Pagrindinės bash savybės yra šios:

1.1 lentelė.
Galimybė Komentaras
1 Eilučių redagavimas Galimybė redaguoti įvestą komandą, o ne perrašyti dar kartą
2 Kanalo organizavimas Galimybė I/O peradresavimai, organizuojant kanalus tarp užduočių
3 Naudojimo paprastumas Komandų slapyvardžių, komandų istorijos, automatinio užbaigimo naudojimas
4 Darbo valdymas Gebėjimas kurti ir valdyti foninius darbus
5 Lankstumas Prisijungimo scenarijaus failų naudojimas kiekvienam vartotojui atskirai, aplinkos kintamieji

Įvesties / išvesties peradresavimas ir vamzdžiai bus aptarti vėliau 8 pamokoje. Todėl šį punktą praleisime. Bet pakalbėkime apie darbo bash ypatybes, apie jo teikiamus privalumus.

Bash automatiškai įrašo visas vartotojo įvestas komandas į failą ~/.bash_history. Šiam failui valdyti naudojama istorijos komanda. istorija yra įmontuota komanda bash. Tai reiškia, kad nėra vykdomojo failo, atitinkančio šią komandą. Pats komandos apvalkalas atlieka visus veiksmus. Įvedamas be parinkčių, jis tiesiog pateikia visų šiame faile saugomų komandų sąrašą ir yra identiškas cat ~/.bash_history .

Komandų istorija yra skirta supaprastinti dažnai naudojamų komandų rinkinį. Komandų istoriją galima rūšiuoti sąraše naudojant klavišus <вверх>Ir<вниз> .

Kitas būdas yra rašyti! ir komandą pradėti ir paspauskite . Bus vykdoma paskutinė komanda iš istorijos, kurios pirmosios raidės atitinka įvestas. Pavyzdžiui:

$ !/usr /usr/bin/perl ./ptest.pl Gerai $ !xfonts bash: !xfonts: įvykis nerastas $

Bet kaip paspartinti įvedimą, jei mums reikalingos komandos dar nėra istorijoje? Šiuo atveju raktas mums padės . Įvedę kelias pirmąsias komandos raides (arba failo kelią), paspauskite Ir bash automatiškai užbaigs jūsų komandą (arba kelio elementą). Tuo atveju, kai sutampa keli failai arba nesutampa nė vienas failas, sistema duos garso signalą. Jei mygtukas paspauskite dar kartą, kai telpa keli failai - sistema parodys sąrašą, o kai nė vieno - pakartokite pyptelėjimą

3. Jau nuo pirmos pamokos turėjote prisiminti, kad Linux yra daugiafunkcinė aplinka. Tačiau iki šiol jūs vis dar negalėjote pasinaudoti daugiafunkcine funkcija. Iš pirmo žvilgsnio atrodo, kad konsolė neleidžia naudotis sistemos multitasking galimybėmis ir tik grafinėje aplinkoje galima vienu metu paleisti dvi ar daugiau programų. Bet tai ne! Konsolė taip pat yra daugiafunkcinė.

Pirma, galite atidaryti kelias konsoles atidarydami programą kiekvienoje iš jų. Perjungimas tarp konsolių bus atliekamas naudojant klavišus ctrl+ , kur x yra konsolės numeris.

Ir net vienoje konsolėje su darbo valdymo komandų pagalba galite išnaudoti visus daugiafunkcinės sistemos privalumus.

- klavišų kombinacija, kuri procesui siunčia nesulaikomą signalą sigstop. Leidžia sustabdyti proceso vykdymą, kad valdymas būtų perkeltas į komandinę eilutę.

komanda & – simbolis & po komandos leidžia paleisti ją fone.

darbai – rodomas dabartinių apvalkalo užduočių sąrašas.

bg<#j>– darbas #j įkeliamas į foną. Prieš tai užduotį reikia sustabdyti klavišų deriniu . Jei šiuo metu vertėjas turi tik vieną užduotį, numerį galima praleisti.

fg<#j>- perkelia užduotį #j į priekinio plano vykdymo režimą. Darbas turi būti sustabdytas klavišų kombinacija arba būti fone. Jei šiuo metu vertėjas turi tik vieną užduotį, numerį galima praleisti.

$ man bash ^Z + sustabdytas vyras bash $ vim ^Z vim + sustabdytas vim $ bg 1 + vyras bash & $ darbai + sustabdytas vyras bash + sustabdytas vim $ fg 2 + vim $ fg + man bash $

4. aplinkos įvairovė– sistemos informacija, nurodanti jūsų pageidavimus, pvz teksto redaktorius pagal numatytuosius nustatymus, vykdomųjų failų paieškos keliai ir kt., taip pat vartotojo, sistemos ir apvalkalo tapatybės, pvz., Vartotojo vardas, Linux versija ir kt., kurią naudoja apvalkalas ir kitos programos.

Kintamieji, kuriuos dažniausiai naudoja vartotojas, yra šie:

PATH – kintamajame yra keliai, kuriuose sistema turėtų ieškoti vykdomųjų failų, jei pilna arba santykinis kelias jiems.

PWD – kintamajame yra visas dabartinio katalogo pavadinimas.

HOME – kintamajame yra visas kelias vartotojo namų katalogas.

HOSTNAME – kintamajame yra kompiuterio pavadinimas.

LOGNAME – yra Vartotojo vardas

SHELL – yra komandos apvalkalo, veikiančio dabartinėje sesijoje, pavadinimas.

VARTOTOJAS – yra Vartotojo vardasŠiuo metu atidaryta sesija.

Sistemoje įdiegtų kintamųjų sąrašą galima pamatyti su eksporto komanda, įvedama be parametrų.

Bash apvalkalas turi savo kintamuosius. Kad vietiniai kintamieji taptų sistemos kintamaisiais, jie turi būti eksportuojami naudojant tą pačią eksportavimo komandą. Pavyzdžiui:

$ eksportuoti deklaruoti -x HOME="/home/gserg" deklaruoti -x HOSTNAME="WebMedia" deklaruoti -x LANG="en_RU.KOI8-R" deklaruoti -x LOGNAME="gserg" deklaruoti -x PATH="/bin: /usr/bin:/usr/local/bin:/home/gserg/bin" deklaruoti -x PWD="/home/gserg" deklaruoti -x SHELL="/bin/bash" deklaruoti -x TERM="Eterm" deklaruoti -x USER="gserg" $ EDITOR=/bin/vim $ eksportavimo REDAKTORIAUS $ eksportuoti deklaruoti -x EDITOR="/bin/vim" deklaruoti -x HOME="/home/gserg" deklaruoti -x HOSTNAME="WebMedia" deklaruoti -x LANG="ru_RU.KOI8-R" deklaruoti -x LOGNAME="gserg" deklaruoti -x PATH="/bin:/usr/bin:/usr/local/bin:/home/gserg/bin:" deklaruoti - x PWD="/home/gserg" deklaruoti -x SHELL="/bin/bash" deklaruoti -x TERM="Eterm" deklaruoti -x USER="gserg" $

komandą nenustatyta ištrina sistemos kintamąjį. Pavyzdžiui:

$ unset EDITOR $ eksportuoti deklaruoti -x HOME="/home/gserg" deklaruoti -x HOSTNAME="WebMedia" deklaruoti -x LANG="en_RU.KOI8-R" deklaruoti -x LOGNAME="gserg" deklaruoti -x PATH=" /bin:/usr/bin:/usr/local/bin:/home/gserg/bin:" deklaruoti -x PWD="/home/gserg" deklaruoti -x SHELL="/bin/bash" deklaruoti -x TERM= "Eterm" deklaruoja -x USER="gserg" $

5. Šios dienos pamokoje supažindinsime su dar vienu, šiek tiek nestandartiniu, komandų apvalkalu vidurnakčio vadas. Nėra komandos apvalkalasįprasta prasme. Tai tekstinių failų tvarkyklė – analoginė Nortono vadas arba Toli. vidurnakčio vadas paleiskite su mc komanda. Mes kalbėsime apie jo galimybes.

Ekranas Vidurnakčio vadas" padalintas į dvi dalis. Beveik visą ekrano erdvę užima du skydeliai su katalogų ir failų sąrašu. Pagal numatytuosius nustatymus antra eilutė iš ekrano apačios yra komandų eilutė, kurioje galite vykdyti įprastas apvalkalo komandas, o apatinėje eilutėje rodomi funkcijų klavišų patarimai ( F1-F10). Viršutinėje simbolių eilutėje yra meniu, su kuriuo galima atlikti daugybę funkcijų. Norėdami naudotis meniu, galite spustelėti norimą elementą arba paspausti klavišą F9 ir naudojant klavišus žymeklio valdymas pasirinkite norimą elementą.

Plokštės vidurnakčio vadas suteikia galimybę vienu metu peržiūrėti du katalogus. Viena iš skydelių yra aktyvi (ta prasme, kad vartotojas gali atlikti tam tikrus veiksmus su jame esančiais failais ir katalogais). Vieno iš failų ar katalogų pavadinimas yra paryškintas aktyviame skydelyje, o skydelio pavadinimas viršutinėje eilutėje paryškinamas spalvotai. Pavadinimo pavadinimas yra toks pat kaip šiuo metu rodomo katalogo pavadinimas. Beveik visos operacijos atliekamos aktyviame skydelyje. Kai kurios operacijos, tokios kaip perkėlimas arba kopijuoti failus naudokite pasyvųjį skydelį kaip vietą kopijuoti, perkelti ir pan.

Dabar pakalbėkime apie pagrindinius sparčiuosius klavišus, kurie padės dirbti Vidurnakčio vadas „ohm.

klavišai naudojami aktyviam skydeliui pakeisti arba +

norėdami pažymėti failą, paspauskite arba +

spustelėkite pagalbos

bus parodyta failų peržiūros programa

per redaguojate failą

leis kopijuoti failą.

perkelti arba pervardyti failą

sukurti katalogą

Raktas ištrins failą ir (arba) katalogą

, kaip jau minėta, atveria prieigą prie meniu.

- leidžia išeiti vidurnakčio vadas.

perkels žymeklį į failų sąrašo pradžią,

- priešingai - iki sąrašo pabaigos.

Ir atitinkamai pakeis indikatoriaus padėtį puslapyje aukštyn ir žemyn.

Raktas <*> Papildoma klaviatūra leis invertuoti failų pasirinkimą (tai neturi įtakos katalogams)

Raktas <+> papildomoje klaviatūroje leis žymėti failus pagal kaukę, ir <-> panaikinkite failų žymėjimą naudodami kaukę.

+ - atnaujinti katalogo turinį (perskaitant iš disko arba iš tinklo)

+ - sukeisti dešinę ir kairę plokštes.

+ - nuimti/grąžinti plokštes.

Nors spartieji klavišai yra geriausias įrankis atlikti darbus Vidurnakčio vadas „ohm kuo greičiau ir patogiau, pradedantiesiems gana sunku išmokti juos visus iš karto. Norėdami užpildyti šią spragą ir pridėti kitų funkcijų, kuriose nėra sparčiųjų klavišų, vidurnakčio vadas turi meniu (skambino F9).

Meniu susideda iš šių elementų: „Kairysis skydelis“, „Failas“, „Komanda“, „Nustatymai“, „Dešinysis skydelis“.

"Kairysis / dešinysis skydelis"– šie meniu punktai yra lygiai tokie patys. Skirtumai tarp jų yra tik tai, kad atlikti veiksmai bus nukreipti į kairįjį arba dešinįjį skydelį.

"Sąrašo formatas"- atidaromas dialogo langas, kuriame galite pasirinkti rodinį, kuriame bus rodomas failų / katalogų sąrašas. Galite rinktis iš standartinių, trumpų ir išplėstinių formatų. Tačiau vartotojas šiame lange taip pat gali apibrėžti skydelio išvaizdą taip, kaip jam tinka, pasirinkdamas akutę „Vartotojo nustatytas“.

"Greita peržiūra"- perjungia skydelį į gretimame skydelyje pasirinktų failų automatinio peržiūros režimą. Fokusas automatiškai persijungia į priešingą skydelį.

"Informacija"- perjungia skydelį, kad peržiūrėtumėte informaciją apie gretimame skydelyje paryškintą failą, pvz., vietą, prieigos teises ir savininką, Failų sistema ir įrenginį, kuriame jis yra, su šiuo failu susietų kietųjų nuorodų skaičių, taip pat informaciją apie įrenginį, kuriame yra failas.

"Mediena"– verčia vidurnakčio vadasį režimą, panašų į Explorer režimą iš OC Windows. Skydelyje, kuriam taikoma komanda "Mediena", yra sukurtas katalogų medis, kuriame galima naršyti naudojant rodykles žymeklio valdymas, raktai PageUp, PageDown, Home, End. Kitame skydelyje rodomas medyje paryškinto katalogo turinys.

"Rūšiavimo tvarka"- atidaromas dialogo langas, kuriame galite pasirinkti atributą, pagal kurį failai ir katalogai bus rūšiuojami sąraše, pvz., pavadinimas, plėtinys, redagavimo laikas, prieigos laikas, atributo keitimo laikas, dydis, mazgas (kuriame yra failas ). Taip pat galite palikti failus nerūšiuotus, rūšiuoti didžiąsias ir mažąsias raides arba rūšiuoti atvirkštine tvarka.

"Filtras"- leidžia pasirinkti failų pavadinimus, kurie bus rodomi skydelyje, naudojant įprastą posakį, įvestą dialogo lange.

"FTP ryšys"- naudodami šią komandą galite užmegzti ryšį su nuotoliniu (ar net vietiniu) kompiuteriu naudodami protokolą ftp. Jei įvedamas tik nuotolinio serverio adresas, tada vidurnakčio vadas bandys užmegzti anoniminį ryšį. Visa eilutė, su kuria nurodytas mazgas, yra tokia:

ftp:naudotojo vardas:slaptažodis@serverio_adresas:port/katalogas_serveryje

Užmezgę ryšį, dirbkite su nuotolinė failų sistema vyksta panašiai kaip dirbant su vietine FS.

"Shell ryšys"- leidžia atidaryti tinklo ryšį pagal protokolą ŽUVYS (Failų perkėlimas per SHell– failų perkėlimas per apvalkalą). ŽUVYS naudoja protokolus RSH (nuotolinis SHell)– nuotolinis apvalkalas) arba SSH (saugus apvalkalas)- apsaugotas apvalkalas, analogas RSH, bet palaikomas perduodamų duomenų šifravimas). Visa eilutė, su kuria vartotojas gali nurodyti nuotolinį pagrindinį kompiuterį, yra:

sh:naudotojovardas@serverio_adresas:options/server_dir

Parametras Vartotojo vardas, parinktys ir katalogas_serveryje neprivaloma. Jeigu Vartotojo vardas tada nenurodyta vidurnakčio vadas bandys prisijungti prie nuotolinės sistemos naudodamas vietiniame kompiuteryje naudojamą vartotojo vardą.

"Pakartotinai"- panašus į sparčiuosius klavišus + - atnaujinamas dabartinio skydelio failų ir katalogų sąrašas, perskaitant juos iš disko arba tinkle.

"Failas"- meniu skyrius, kurio elementai teikia pagrindines failų ir katalogų apdorojimo funkcijas, tokias kaip:

"Vartotojo meniu"- leidžia skambinti meniu, kurį nustato pats vartotojas. Taip pat iškviečiamas raktas .

"Peržiūrėti failą"- spaudžiant atliekamos funkcijos analogas . Leidžia peržiūrėti pažymėtą failą (arba įvesti katalogą). Palaiko daugybę formatų, tokių kaip teksto formatai, archyvai, Winword DOC, Linux vykdomieji failai ir kt.

"Peržiūrėti failą..."- tokia pati kaip ir ankstesnė pastraipa, bet turi įtakos ne paryškintam failui, o tam, kurio pavadinimas ir kelias bus įvesti dialogo lange.

„Komandos vaizdas“- leidžia vykdyti komandą ir ją peržiūrėti standartinė išvestis failų peržiūros režimu.

"Redagavimas"- atidaro failą redaguoti. Paprasta įterpta teksto redaktorius turi pakankamai integruotų funkcijų rinkinį, skirtą redaguoti konfigūracijos failus, programų šaltinio tekstus ir pan., bei integruotą automatinį sintaksės paryškinimas daro redagavimą patogesnį, o redaguojamus tekstus lengviau skaitomus.

"Kopijuoti"- nukopijuoja failą iš aktyvaus skydelio į pasyvųjį. Funkcijos, vadinamos pagal, analogas . Pagal numatytuosius nustatymus aktyviajame skydelyje pažymėtas failas (arba failų grupė) laikomas nukopijuotu, o paskirties vieta yra pasyviajame skydelyje atidarytas katalogas. Tai galima pakeisti ištaisius laukų reikšmes dialogo lange, kuris atsidaro iškvietus šią komandą.

"Leidimai"- leidžia keisti failo (arba failų grupės) teises dialogo lange.

"Simbolinė nuoroda"- sukuria simbolinę nuorodą. Pagal numatytuosius nustatymus aktyviajame skydelyje paryškintas failas laikomas adresuojamu, o sukurta nuoroda turės tą patį pavadinimą ir bus pasyviajame skydelyje atidarytame kataloge. Vartotojas gali tai pakeisti atsidariusiame dialogo lange.

"Savininkas / grupė"- pakeičia savininką ir (arba) grupę, kuriai priklauso failas/katalogas.

„Leidimai (išplėstiniai)“- leidžia vienu metu keisti prieigos prie failo ir jo savininko ir (arba) grupės teises. Leidimai pateikiami kaip trys rwx sekos savininkui, grupei ir visiems vartotojams.

"Pervardyti"- leidžia pervardyti / perkelti . Funkcijos, vadinamos pagal, analogas . Pagal numatytuosius nustatymus aktyviajame skydelyje pažymėtas failas (arba failų grupė) laikomas perkeltu / pervardytu, o paskirties vieta yra pasyviajame skydelyje atidarytas katalogas. Tai galima pakeisti ištaisius laukų reikšmes dialogo lange, kuris atsidaro iškvietus šią komandą.

"Sukurti katalogą"- sukuria katalogą. Funkcijos, vadinamos pagal, analogas . Pagal numatytuosius nustatymus katalogas sukuriamas kataloge, atidarytame aktyviame skydelyje. Tai galima pakeisti atsidariusiame dialogo lange nurodant visą kelią į kuriamą katalogą.

"Ištrinti"- ištrina failą / failų grupę / katalogą. Funkcijos, vadinamos pagal, analogas .

"Keisti katalogą"- pakeičia esamą katalogą. Panašiai kaip cd komanda Bash apvalkale. Dialogo lange įvedamas reikalingas katalogas.

"Pažymėti grupę"- Pažymi failų grupę kauke kataloge, atidarytame aktyviame skydelyje. Funkcijos, vadinamos su, analogas <+> pasirenkamoje klaviatūroje.

Įkeliama...Įkeliama...