Fujitsu-Siemens
 
M A G A Z I N
 
LINUX 
  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.

 

VRH STRANE

(c) 2003 OMEGA - sva prava zadržana