 |
| |
Darko Novaković
LINUX – UVOD U BASH SHELL |
|
Grafički korisnički interfejs je postao uobičajena stvar svih današnjih
distribucija Linux-a. Sa mišem u ruci i ponekom intervencijom sa
tastature može se mnogo toga uraditi. Međutim, postoje neke stvari
za koje je neophodno poznavanje rada u shell-u. Rad u komandnoj
liniji pruža veliku fleksibilnost i efikasnost u rukama vrsnog poznavaoca.
U osnovi, shell je procesor makroa koji izvršava komande. U Unix-olikim
operativnim sistemima, shell je interpreter komandi koji obezbeđuje
interfejs između korisnika i mnogobrojnih sistemskih usluga, tj.
programa. Pored toga, shell je i programski jezik koji omogućava
kombinovanje ovih usluga. On omogućava kreiranje fajlova sa skupom
komandi, koji potom i sami postaju komande ravnopravne sa sistemskim
komandama. Naslućujete li mogućnosti koje se ovde kriju?!
Komande se mogu izvršavati sinhrono i asinhrono. Preusmeravanje
služi za podešavanje
ulaza i izlaza komandi. Shell se može koristiti u interaktivnom
i neinteraktivnom režimu rada. U njemu postoje ugrađene komande
koje je bilo najlakše implementirati kao sastavni deo shell- a (cd,
break, kill, pwd, itd.). Kao i svaki programski jezik visokog nivoa,
i shell obezbeđuje promenljive, komande za kontrolu toka programa,
funkcije i slično. U shell- u postoje neke osobine, kao npe. kontrola
procesa, editovanje u komandnomj liniji itd., posebno projektovane
za rad u interaktivnom režimu rada.
Šta je bash?
Bash je najpoznatiji i najviše korišćan shell pod Linuxom a razvijen
je kao deo GNU projekta (za više informacija o GNU projektu pogledajte
www.gnu.org). Bash je skraćenica od 'Bourne-Again SHell' (igra reči
Stephen Bourne-a, tvorca Unix-ovog shell-a '/bin/sh' ). Bash je
od ovog shell- a nasledio mnogo osobina kao i od Korn shell-a i
C shell-a ('ksh' i 'csh'), ali je i doneo mnoga poboljšanja.
U ovom uvodnom delu od nekoliko nastavaka, bavićemo se osnovnim
komandama Bash shell- a. Upoznaćemo se sa mnoštvom komandi koje
se pokazuju kao veoma korisne u svakodnevnom radu. Takođe ćemo spomenuti
samo neke od naprednijih osobina bash shell- a, dok ćemo većinu
njih ostaviti za razmatranje u nekoj drugoj prilici. Dakle...
Osnovne komande bash shell-a
U KDE taskbaru (tj. panelu) nalazi se ikonica na kojoj je nacrtan
monitor ispred koga se nalazi školjka (shell na engleskom jeziku!).
Kliknite na nju i otvoriće se prozor konzole u kome se unose komande
shell- a. U prvom redu će se pojaviti komandni prompt koji se sastoji
od imena korisnika praćenog imenom hosta na kome se nalazi i tekućim
direktorijumom. Npr. kod mene, kada otvorim komandni prozor, u prvoj
liniji stoji:
darko@linux:~>
Izgled prompta se može menjati. Iza poslednjeg znaka mogu se unositi
naredbe Bash-a.
Komanda u bash-u se sastoji iz same komande praćene parametrima
i opcijama, a izvršava se po pritisku tastera Enter. U nastavku
sledi spisak osnovnih komandi i jednostavni primeri njihovog korišćenja.
ls (list)
Ovo je jedna od najkorišćanijih komandi shell- a. Kada se koristi
bez argumenata, jednostavno izlistava sadržaj tekućeg direktorijuma,
dakle sve direktorijume i fajlove koje sadrži tekući direktorijum
bez ikakvih dodatnih informacija. Opcijama prethodi crtica. Npr.
ako želite što potpuniju informaciju o svim fajlovima i direktorijumima
koje sadrži tekući direktorijum, otkucajte: ls -l. Uz svaki direktorijum
i fajl videćete, pored mnoštva ostalih informacija, datum i vreme
kreiranja i veličinu u bajtovima. Ukoliko želite da izlistate sadržaj
nekog direktorijuma koji se nalazi u tekućem direktorijumu, morate
da navesti kao parametar naredbe ls. Npr. ls Desktop izlistava sadržaj
direktorijuma Desktop koji se nalazi u tekućem direktorijumu (U
ovom slučaju to je onaj u kojem smo se našli po otvaranju prozora
konzole, tj. u mom slučaju moj home direktorijum: /home/darko. Zapazite,
još nismo naučili kako se menja radni direktorijum!).

Naredba slična ovoj je dir.
Jedan od veoma korisnih parametara u radu je --help. Naime, ls -
-help u samom prozoru konzole izlistava sve parametre naredbe ls.
Isto važi i za sve ostale naredbe.
cd (change directory)
Pomoću ove naredbe se možemo kretati kroz stablo direktorijuma opisano
u prvom članku o Linux-u. Npr. ako u komandnoj liniji ukucamo: cd
Desktop (dakle, parametar je relativna putanja koja opisuje putanju
od tekućeg direktorijuma do odgovarajućeg fajla i ne sadrži /),
umesto tekućeg direktorijuma (home direktorijum) preći ćemo u njegov
poddirektorijum Desktop. Da biste se uverili u to možete otkucati:
ls, i dobićete sadržaj upravo direktorijuma Desktop. Do bilo kojeg
drugog fajla ili direktorijuma u stablu koji ne izlazi iz tekućeg,
morate navesti punu (apsolutnu) putanju. Npr., ako želite da promenite
radni direktorijum u /usr/share/doc, kompletnu putanju unosite kao
parametar: cd /usr/share/doc.
Tačka (.) i tačka tačka (..)
Svaki direktorijum sadrži dva zapisa: '.' i '..' koji služe za specificiranje
relativne putanje i navigaciju. Tačka (.) označava tekući direktorijum,
dok tačka tačka (..) označava nadređeni direktorijum. Ovo je veoma
korisno. Npr., ako iz tekućeg home direktorijuma želite da pređete
u njegov nadređeni, umesto da kucate: cd /home, možete kucati samo:
cd .. . primetite koliko je to korisno naročito ako se nalazite
duboko u stablu direktorijuma! Da bih iz tekućeg home direktorijuma
pristupio izvršnom fajlu sr koji se na mom računaru nalazi u direktorijumu
/home/darko/recnik, kucam: ./recnik/sr. Tačka i tačka tačka su veoma
korisne i u drugim komandama.

Par korisnih bash funkcija
Pre nego što pređem dalje, biće korisno da pomenem dve bash funkcije
veoma korisne u radu u komandnoj liniji.
Funkcija istorije komandi ukucanih u komandnoj liniji. Najverovatnije
ćete često unositi neke od komandi. Da ih ne biste stalno iznova
ukucavali, možete ih pronaći koristeći strelicu na gore na tastaturi.
Kada je pronađete, pritisnite Enter i komanda će se izvršiti. Za
suprotan smer pretrage koristite strelicu na dole. Pretraga istorije
već ukucanih naredbi može se vrštiti i pomoću Ctrl+R.
Funkcija ekspanzije naredbe. Ukoliko vas mrzi da stalno unosite
dugačka imena fajlova u komandnoj liniji, možete skratiti proces
pomoću tastera Tab. Počnite sa unosom imena fajla, pa pritisnite
Tab. Ukoliko je fajl sa unetim početnim slovima jedinstven, posle
pritiskanja tastera Tab njegov naziv će se pojaviti u nastavku.
Ukoliko to nije slučaj, tj. ima više fajlova sa tim početnim slovima,
njihov listing možete dobiti ako dva puta za redom pritisnete taster
Tab. To će vam pomoći da izaberete onaj koji ste želeli.
Za ovaj broj toliko. Nadam se da vam shell nije naneo mnogo glavobolje.
A ako i jeste, znate onu narodnu: Bez muke nema nauke. Prema tome,
igrajte se u shell- u do sledećeg puta.
|