GNU Linux/Terminalas: Skirtumas tarp puslapio versijų

Iš Wikibooks.
Ištrintas turinys Pridėtas turinys
Nėra keitimo santraukos
150 eilutė: 150 eilutė:
*ls -l
*ls -l
Ir pamatysite daug eilučių panašių į šią:
Ir pamatysite daug eilučių panašių į šią:
drw-rw-r-- 1 me me 123456789 Sep 26 10:22 pavadinimas
*drw-rw-r-- 1 me me 123456789 Sep 26 10:22 pavadinimas
Nesunku nuspėti, kad tas skaičius tai bylos dydis baitais, toliau sukūrimo data ir pavadinimas.
Nesunku nuspėti, kad tas skaičius tai bylos dydis baitais, toliau sukūrimo data ir pavadinimas.
Bet tai kas priekyje atrodo gal kėbliai. Tai "me" nurodo šeimininko vartotojo vardą.
Bet tai kas priekyje atrodo gal kėbliai. Tai "me" nurodo šeimininko vartotojo vardą.

14:22, 23 liepos 2007 versija

Jei jau turite Linux, kad ir ką kai kurie sakytų su terminalu (kartais vadinama: koncolė) jums teks susidurti. Daug kam atrodo, kad terminalas tai pasenęs kompiuterių valdymo budas, labai nepatogus ir labai negerai "nes reikia daug rašyti". Iš tiesų problema ta, kad dauguma net ir patyrusių kompiuterių naudotojų dabar jau "mąsto langais". Šiame skyriuje as pasistengsiu parodyti kaip reikia "mąstyti terminale" ir tik išmokus tai terminalas taps paprastas, patogus, mielas ir greitas. Toks kokio neatstos jokios, net moderniausios ir įmantriausios grafinės aplinkos.

Ši knyga turėtų sudominti ne tik tuos "wannabe hax0r" kurie prisižiųrėję filmų kaip dėdės geria kolą ir kašką ten isikibę rašo į žaliai juodą ekraną patys megina tai pakartoti, bet ir kiekvieną Linux/BSD mėgėją.


Kaip ten patekti?

Taigi jūs parsisiuntėte kaškokią Linux distribuciją (jei dar ne tai pats metas tai padaryti) instaliavote ją ir tikriausiai atsidūrėte "Gnome" ar "KDE" aplinkoje ir to terminalo nei kvapo. Dabar aš paaiškinsiu kaip į jį patekti.

Viršuje ko gero senai pamiršti funkcijos klavišai yra: F1, F2, F3 ir t.t. Vienoje sistemoje paprastai yra 6 terminalai jiems iškirti funcijos klavišai nuo F1 iki F6. Grafinei aplinkai yra skirtas funkcijos klavišas F7. Norint išvengti atsitiktinio paspaudimo jūs primiausiai turite laikyti nuspaudę alt+ctrl ir tik tada persijungti į reikiamą terminalą ar grafinę aplinką su funkcijos klavišu. Į kiekvieną terminalą primiausia reikia ušsiregistruoti su savo vartotojo vardu ir slaptažodžiu.

Direktorijų medis ir kaip keliauti po jį

DOS sistemose yra diskai žymimi A:, B:, C: ir t.t., vėliau Windows sistemose sugalvotas "My Computer" siejantis visus šiuos diskus. DOS sistemose diskų nieks nesieja. Unix tipo sistemos (kaip ir linux) tuo tarpu turi visai kitokį gerokai sudėtingesnį ir labiau organizuotą direktorijų medį. Pasistengsiu trumpai ir konkrečiai apibūdinti jį:

  • / - root direktorija. Nuo jos viskas prasideda.
  • /boot - čia laikomas Linux branduolys ir Grub pradinio įkeliklio bylos.
  • /etc - čia laikomos nustatymų bylos programoms. Paprastai tai paprasčiausios tekstinės bylos.
  • /bin ir /usr/bin - čia laikomos visos programos
  • /usr - čia laikomos dokomentacijos, nesukompiliuoti kodai programų, man puslapiai ir kiti panašūs dalykai. /usr/X11 - laikoma grafinė aplinka.
  • /usr/local - čia keliauja visos programos kurios instaliuojamos veliau nei pati sistema.
  • /var - čia laikomos bylos kurios keičiasi kai sistema veikia. Iš idomesnių /var/log direktorijoje laikomi "logai". T.y. yrašai apie visus svarbius sistemoje įvykusius dalykus.
  • /lib - čia laikomos bendros "bibliotekos" programoms.
  • /home - čia laikomi vartotojų asmeniniai duomenys. Tai vienintelė vieta kur jie gali ka nors įrašyti ar trinti. Tai likusi sitema išlaikoma tvarkinga ir švari.
  • /root - čia yra naudotojo root asmeniniai duomenys.
  • /tmp - čia programos rašo savo laikinus duomenis.
  • /dev - čia yra laikomi visi įrenginiai. Unix sistema visus įrenginius laiko tokiais pat dalykais kaip ir bylos. bet visgi įrenginiai atskiriami į savo direktoriją nuo kitų bylų.
  • /proc - šitos direktorijos iš tikro niekur nėra. Tai tik branduolio sukurtas duomenų rinkinys. Kaip pavyzdžiau /proc/cpuinfo laikoma informacija apie CPU. ji gali būti peržiurėta su teksto redaktoriumi.
  • /mnt - čia laikomus tuščios direktorijos ant kurių prijungiami diskai su mount komanda.

Labai gerai jei nepasitenkinate tuo ką aš parašiau ir norite patys pasižvalgyti. Naudokite ls komandą jei norite peržiūrėti direktorijos turinį. naudokite 'cd komandą jei norite pereiti į kitą direktoriją. Tarkim:

  • cd /var/log

Naudokite file komandą jei norite sužinoti kokio tipo yra kažkokia byla ir jei tai tekstas panaudokite less komandą tam, kad jį perskaitytumėte (q grįžta į terminalą iš less).

Pradinė informacija

Dauguma čia dabar pateiktų ~20 dažniau naudojamų komandų su trumpu paaiškinimu ką jos daro. Bet terminalas tai nėra dešimcių komandų mokinimąsis mintinai su laiku jūs jas sužinosite. Dauguma komandų tai ne iš kaškur susapnuotas raidžių kratinys, o angliškas žodis ar jo santrumpa. Kaip "copy" (kopijuoti) tai komanda "cp", "move" (perkelti) tai komanda "mv", "remove" (trinti) tai komanda "rm". ir "make directories" (kurti direktorijas) tai komanda "mkdir". Pati svarmiausia naujokui komanda yra "man". Nes ji pateikia paaiškinimus apie kitas komandas. Naudojama taip: man ieškoma_komanda Tiek daugiau nei pakanka pradžiai.


"Wildcards"

"Wildcards" tai simboliai kurie reiškia keletą kitų simbolių. Jie plačiai naudojami terminale ir be jų terminalas virstų tikra kankyne. o su jais su terminalu galima greit padaryti tai kas grafinėje aplinkoje būtų ilgas ir nuobodus darbas. Todėl net nesigilindami į jokias komandas imamies jų.

Wildcards sąrašas:

  • Bet koks skaičius bet kokių simbolių: *
  • Bet koks vienas simbolis: ?
  • Bet koks simbolis iš duotų: [duotisimboliai]
  • Bet koks simbolis tik ne duotas: [!duoti simboliai]

Paprasti pavyzdžiai darbo su "wildcards":

  • Trinti viską: rm *
  • Trinti viską kas prasideda su a: rm a*
  • Trinti visus mp3: rm *.mp3
  • Trinti visus mp3 kurie prasideda su a: rm a*.mp3
  • Trinti visas bylas kurios prasideda su byla ir turi dar tris simbolius pabaigoje: rm byla???
  • Trinti viską kas prasideda su a arba b arba c: rm [abc]*
  • Trinti viską kas prasideda didžiąja raide: rm [A-Z]*
  • Trinti visus kas prasideda kaskas ir užsibaigia trimis skaičiais: rm kaskas[0-9][0-9][0-9]
  • Trinti viską kas neprasideda mažąja raide: rm [!a-z]*

Beabėjo juos galima naudoti su betkokiomis komandomis ne tik su rm. Kaip tai svarbu pademonstruosiu praktiniais pavyzžiais.

Tarkim reikia nueiti iš namų katalogo /home/vart į katalogą: /mnt/labai_ilgas_direktorijos_pavadinimas1. Žinodami kad cd keičia katalogą ir kad katalogas ".." yra lipimas katalogų medžiu aukštyn galbūt darytumėte taip (taip kaip ir darote grafinėje aplinkoje):

  • cd ..
  • cd ..
  • cd mnt
  • cd labai_ilgas_direktorijos_pavadinimas1

Beabėjo rezultatas pasiektas, bet buvo galima:

  • cd /mnt/labai_ilgas_direktorijos_pavadinimas1

Taip jau trumpiau. Arba jei žinome, kad, kataloge be mūsų baisiojo labai_ilgas_direktorijos_pavadinimas1 daugiau nėra direktorijų prasidedančių su l galima dar trumpiau:

  • cd /m*/l*/

O dabar gįžtame atgal. Tikriausiai jau kašką kuriate, bet namų katalogą žymi: ~. Todel pakaks komandos:

  • cd ~

Sekantis pavyzdys su kuriuo teko susidurti kone kiekvienam. Tarkim mes sėkmingai įėjome į ntfs particiją ir tada prisiminėme, kad musų muzika yra kaškur į "Program Files" sukišta. Taigi skeliame komandą:

  • cd Program Files

Ir čia laukia nusivylimas netikėtas. Išvedama klaida:

  • -bash: cd: Program: No such file or directory (t.y. tokios direktorijos ar bylos kaip Program nėra)

Nėra sunku suvokti, kad koją mums pakišo tas prakeitas tarpas. Standartinis išsisukimas yra panaudoti ignoravimo simbolį: \ ir įvesti:

  • cd Program\ Files

Tada tarpas bus interpretuotas kaip teksto dalis, o ne koncolės operatorius. Bet tai nėra gražu komanda labai ilga; dar paprasčiau tiesiog:

  • cd P*

Žinant, kad mūsų particijoje kitos direktorijos neprasideda su P, o jei ir yra kuri prasideda su P tai:

  • cd Pro*

Tuomet salyga ta, kad dagiau neturi būti direktorijų prasidedančių su Pro.

man komanda

Pangarinėsime kaip jau minėjau labai svarbią pradedantiesiams man komandą, ir su man komandos pagalba aiškinsimies cp komandos įpatumus. Taigi įvedame:

  • man cp

Į ekraną išspauzdinamas cp komandos aprašymas. Noredami judėti aukštyn-žemyn naudojame rodykles, paspaudus q išeinama atgal į terminalą. Aprašymo viršuje yra "NAME" skiltis. Joje trumpai apibūdinama komanda.

Toliau eina "SYNOPSIS" skiltis joje apibūdinama galima sintaksė. Tai painiausia dalis. Laimei nera itin svarbi, o iš dalies suprantama intuityviai. Pamėginsiu paaiškinti, ką mes matome prie cp:

  • [OPTION] - rodo kur rašomi nusatymai, paprastai iš kart po komandos
  • [-T] - rodo nustatymą kuris ivedamas net jo neparašius.
  • Kiti žodiai naudojami objektams su kuriais dirbama pavadinti.

Sekanti svarbiausia "DESCRIPTION" skiltis. Joje aprašomi galimi nustatymai. Panagrinėsim kelis svabesnius komandos cp nustatymus:

  • -i, --interactive Tai nustatymas nurodantis, kad jei kopijuojant randama jau esanti byla kuri buvo nurodyta kaip būsima kopija, tai tuomet turi būti išvedamas klausimas ar "užrašyti ant virsaus esamos bylos". Kaip matome yra du galimi nustatymo rašymo budai ilgas su dvien minusais ir žodžiu, ir trumpas su vienu minusu ir viena raide. Ilgas galbūt įsimintinesnis, bet trumpas neabėjotinai patogesnis.
  • -R, -r, --recursive Tai nustatymas norodantis kopijuoti rekursyviai. Tai yra kopijuoti ir mūsų darbinėje direktorijoje esančias kitas direktorijas su viskuo kas jose yra.

Nustatymus vedant kelis iš karto nereik rašyti krūvos minusų galima -i ir -r sudėti į vieną: -ir. Bebėjo visų galimų nustatymų nereikia ir vargu ar įmanoma įsiminti: juk betkada galime pasinaudoti man komanda ir vėl.

Toliau aprašoma "ATHOR", "REPORTING BUGS", "COPYRIGHT" iš kurių maža naudos. Pabaigoje "SEE ALSO" ten rasite kur galite rasti daugiau informacijos. Dažniausiai ten nurodomos kitos panašios komandos arba pasiūloma naudotis komanda info. Nebūtinai visos mano minėtos dalys turi būti, gali jų būti arba daugiau arba mažiau.


Įvesties/Išvesties peradresavimas

Tai gali kartais būti labai naudinga. Takim jums meginant paleisti Skype nieko nesigavo ir išmetė pusės puslapio ilgio kaidą. Jūs pasiklausėte forume ką daryti, bet ten papraše, kaip ir reikėjo tikėtis, parašyti kokia tiksliai ta klaida. Gal ir pulsite ją nurašinėti, bet paprasčiau būtų:

  • skype > klaida

Taip viskas ką išspauzdins skype bus įrašyta į klaida tekstinę bylą.

Imkimies paprastesnio ir lengviau atkartojamo pavyzdžio. komanda date parašo esamą datą į ektraną. Bet jei įvesim:

  • date > data_dabar

Tai byla jei tokia buvo "data_dabar" tai ji bus ištrinta ir vietoje jos bus parašyta byla su dabartine data. Jei mes ištrynimo nenorime tada rašome:

  • date >> data_dabar

Tokiu atveju, jei jau yra byla data_dabar tai data bus prirašyta bylos pabaigoje. Jei bylos data_dabar nėra abi komandos duos identišką rezultatą. Priš megindami tai isitikinkite, kad esate savo namų kataloge, jei ne primiau įveskite:

  • cd ~

Lygiai taip galima peradresuoti ir įvestį su "<", bet ne su visomis komandomis tai pavyksta.

Kitas svarbiausias dalykas šioje srityje yra "pipes". Su jais vienos komandos išvestis nukreipiama kaip kitos įvestis. Komanda "du" parodo kokios yra direktorijos ir kiek vietos jos užima. Jei sudėsim du su sort taip:

  • du | sort -nr

Mums parodys kokios yra direktorijos ir kiek vietos jos užima pradedant didžiausia ir baigiant mažiausia. Bet jei direktorijų labai daug jos netilps net į ekraną O jei dar pridesim:

  • du | sort -nr | less

Įvyks tai kas ankčiau tik dar viskas bus nukreipiama į less ir tai mums leis peržiurėti patogiau viską, kaip ir bet kokią kitą tekstinę bylą su less. Butent "nupaipinimas" į less padeda peržiurėti tai kas paprastai netilptų į ekraną ir dažnai būna labai naudinga. Tarkim iš esmės teisinga komanda:

  • ls -l /etc

Duos mažai naudos. Bent aš pas save matau tik nuo "s" raidės viską, o viršutinė dalis liko "nukripta". Todel:

  • ls -l /etc | less

Jau naudingiau. Kaip visad iš less išeinama paspaudus "q". Jei nežinot, kad duoda -l prie ls pažiurėkit:

  • man ls

Leidimai

Unix tipo operacinės istemos yra daugelio vartotojų operacinės sitemos. Todėl tam, kad nekiltų painiava. keikviena byla turi savo "šeimininką" ir teises ką su ja gali kas daryti. Bet kurioje direktorijoje surinkite:

  • ls -l

Ir pamatysite daug eilučių panašių į šią:

  • drw-rw-r-- 1 me me 123456789 Sep 26 10:22 pavadinimas

Nesunku nuspėti, kad tas skaičius tai bylos dydis baitais, toliau sukūrimo data ir pavadinimas. Bet tai kas priekyje atrodo gal kėbliai. Tai "me" nurodo šeimininko vartotojo vardą. O "drwxr-xr-x" išsišifruoja taip:

  • d rodo kad tai direktorija, jei būtų - tai reikštų, kad tai byla
  • rw- rodo, kad direktoriją jos šeiminikas gali perskaityti, perrašyti ir vygdyti (santrumpa nuo: read, write, execute).
  • r-x rodo, kad šeimininko grupė gali direktoriją perskaityti ir vygdyti
  • r-x pabaigoje, rodo, kad visi kiti gali direktoriją perskaityti ir vygdyti

Toks raidžių ir minusų kratinys gali būti pakeistas dvejatainiais skaičiais raidę imant kaip 1 ir minusą kaip 0. Taigi:

  • rwxr-xr-x == 111 101 101

Ir dvejetainis skaičius gali būti pakeistas dešimtainiu. Toliau su komanda chmod keičiami leidimai taip:

  • chmod 600 pavadinimas

Gan painoka matematika čia, todėl paprasčiau tiesiog žinoti įdomiausias vertes:

  • 777 == rwxrwxrwx
  • 755 == rwxr-xr-x
  • 700 == rwx------
  • 666 == rw-rw-rw-
  • 644 == rw-r--r--
  • 600 == rw-------

Be to nesunku įžvelgti tam tikrus sutapimus, pvz.: kaip mažėjantis skaičius ar skaitmuo mažina teises. Tiesa gal nelabai aišku kas tas "vygdymas". Tai direktorijos "vygdymas" daugiausia suprantamas kaip leidimas atlikti komandą:

  • ls ta_direktorija

Bylos "vygdymas" suprantamas, kaip leidimas paleisti ją kaip programą. Unix neturi galūnių ir nėra griežtai atskirta kur programa, o kur tarkim muzika. Su tuo galima susidurti parsisiuntus Linux skirtą žaidimą ir mėginant jį paleisti, o paleidžiama taip:

  • ./pavadinimas

Tai leidimas "vygdyti" bylą suprantamas daugiausia kaip leidimas atlikti tokią komandą.

Bylos/direktorijos savininką root naudotojas gali keisti taip:

  • chown savinikas byla

Daugiau informacijos kaip visad:

  • man chown
  • man chmod

Naudingos programos veikiančios koncolėje

Apie visas jas plačiau žiurėkite:

  • man pavadinimas

Kai kurias gali tekti įdiegti.

  • nano - teksto redaktorius
  • wget - parsisiuntimo iš interneto programa. Su ja taip paprastai kaip:

Ir kartu taip galingai kaip:

    • echo 'wget url' | at 01:00 - pradėti parsisiūsti kašką 01:00.
  • links - interneto naršyklė
  • ircii-pana - IRC programa, kaip kad mIRC.
  • mpd ir mpc - mp3 grojimo demonas ir jo valdymo programa.
  • bc - gan galingas skaičiuotuvas
  • mplayer - muzikos ir filmų! grotuvas

Ir daug kitų.

Karštieji klavišai (hotkejai)

Gerus pagrindus jau turite, bet jei norite įvaldyti didžiausias koncolės galimybes tai turite visu pirma daugiau įgyti praktikos, o visų antra išmokti naudoti "hotkejus". Hotkėjai neturi plačiai priimto lietuviško pavadinimo. Tai mygtukai ar jų kombinacijos padedančios žaibiškai atlikti įvairias funkcijas. Vienas pagrindinių iš jų tai rodyklės. Su pirmyn-atgal paslenkame kursorių, su aukštyn-žemyn peržiūrime komandų istoriją. Tai labai naudinga jei norime pakartoti panašią komandą. Pavyzdžiui jau minėta nelabai techniška serija:

  • cd ..
  • cd ..

Gali būti atlikta taip:

  • cd .. -> enter -> rodyklė aukštyn -> enter

Arba jei prisimename, kad neseniai prijungėme iso bylą su jau minėta gremėzdiška komanda ir dabar norime prijungti dar vieną tai:

  • rodyklė aukštyn tiek kartų kol pamatysime seniau vestą reikalingą komandą, tada rodyklė į kaire kol pasieksim pavadinimą, jį tada su backspace nutriname įrašome naują ir enter.

Ctrl+b daro tą patį ką ir rodyklė atgal, o ctrl+f tą patį kaip ir rodyklė pirmyn. Bet kartais tenka grįžti į pradžią pradžią tai tada:

  • ctrl+a

Kartais komanda pradeda veikti ir niekad nesibaigia tai čia reikia spausti:

  • ctrl+c

Ir komandos darbas bus nutrauktas.

  • ctrl+k ir alt+d - ištrina viską kas dešnėje
  • ctrl+l - išvalo visą ekraną
  • ctrl+r - po to vedant komandą ieško panašios jau vestos ir tai matoma ekrane. Kai norai ir tai kas matoma sutampa belieka spausti enter.
  • ctrl+u - ištrinti viską kas kursoriaus kairėje
  • ctrl+x keletą kartų - šokinėti su kursoriumi tarp esamos padėties ir pabaigos
  • ctrl+z - pervesti jau įvygdytą komandą į "stop" rėžimą. fg grąžina i normalų rėžimą. Kas atsitinka geriau matyti iš pavyzdžio:
    • top
    • ctrl+z
    • fg
  • alt+/ - mėginti užbaigti bylos/direktorijos pavadinimą, pavyksta jei nėra dviejų tinkamų. Tarkim jau esame /boot/grub

ir atidarinėjame menu.lst su nano, tai:

    • nano me -> alt+/ -> enter -> viskas. Tai dar naudingiau kai bylų vardai ilgi.

TAB klavišas - toks pat užbaiginėjimas tik užbaigia komandas. Jei nepavyksta tai rezultatas nieko, arba visų galimų komandų sąrašas. Norint sąrašo geriau paspausti TAB du kartus. Jei sarašas ilgas paklaus ar tikrai norite jį žiurėti. Pamėginkite nieko neparašę paspandinėti TAB. Paskui parašykit vieną raidę ir paspandinėkit.

  • alt+c - keičia iš didžiųjų į mažąsias po kursoriaus esančias raides. Naudinga kai per klaidą "caps lock" buvo perjungtas į nenorimą rėžimą.
  • alt+l - sumažina visas raides
  • alt+u - padidina visas raides
  • = ir paspaudyti TAB - tas pat kaip ls.
  • /direktorija ir paspaudyti TAB - tas pat kaip ls tik rodo vien direktorijas.