Autor Tema: BASH za pocetnike  (Pročitano 1726 puta)

1v4nB

  • Administrator
  • Newbie
  • *****
  • Poruke: 40
  • Ugled: +4/-0
    • Pogledaj profil
BASH za pocetnike
« poslato: 10.10.2011, 14:55:26 »
magio je postovao vec na pomenutu temu , tako da za sva buduca pitanja vezana za BASH pomoć možete potražiti prvo na ovom mjestu.

Prilog I , preuzet sa : www.sk.rs

BASH za pocetnike I dio

man, apropos, ls, cd, mkdir, rmdir, rm

Rad sa direktorijumima u terminalu

Dosadio vam je strah od „onog crnog na Linuxu”? Pomoći ćemo vam da do Nove godine terminal za vas više ne bude bauk. Kroz nekoliko lekcija naučićete u njemu da se snađete i da čak isprogramirate i automatizujete jednostavnije poslove. Naučićemo vas kako da koristite komande, čemu one služe i još neke trikove, koji će rad u terminalu pretvoriti u pesmu.

Komandna linija

Verovatno ste mnogo puta do sada čuli da su terminal (ulaz/izlaz) i shell (interpreter) jedni od glavnih aduta Linuxa, ali niste razumeli zašto. Jednostavno je – pomoću bazičnog programiranja može se upravljati datotekama i direktorijumima, pa čak uraditi i mnogo drugih korisnih stvari. Za sve ove poslove u najvećem broju slučajeva zadužen je BASH (Bourne Again SHell), danas najrasprostranjenija verzija shella. Kada pokrenete neki terminal (Konsole, Gnome terminal, xterm), na crnoj pozadini dočekaće vas natpis u obliku

aleksandar@dionis:~$

Ovo je komandna linija koja vam kazuje koji se korisnik (aleksandar) na kojoj mašini nalazi (dionis) i u kom direktorijumu (~). U našem primeru korisnik aleksandar nalazi se u direktorijumu /home/aleksandar, ili skraćeno ~. Znak na kraju označava vrstu naloga korisnika, pa će za običnog korisnika tu stajati znak za dolar, dok će root ovde imati „tarabu”.

Pomoć u svakom trenutku

Važno je da znate da pomoć za skoro svaku komandu u terminalu možete dobiti komandom man, što je skraćenica od „manual”. Ako želite da vidite kako se koristi i koje sve opcije mogu da se kombinuju za komandu ls, detaljno uputstvo ćete dobiti izvršavanjem komande

man ls

Zato, kad god vam negde zapne, a ne znate koga da pitate, pogledajte man stranicu komande koja vam zadaje muke. Ako se desi da ne znate koja vam komanda treba, ali znate šta hoćete da uradite, možete se poslužiti komandom apropos, koja ključne reči traži u nazivima i opisima uputstava svih komandi. Na primer, ako hoćete da iščitate neku datoteku, ali ne znate kojom to komandom možete da uradite, koristićete ključnu reč „read” i dobiti spisak komandi koje nešto čitaju sledećom sintaksom:

apropos read

Listanje direktorijuma


O strukturi direktorijuma na Linuxu pisali smo ranije (SK 8/2006), zbog čega ćemo se sada pozabaviti samo radom sa njima. Da bismo izlistali sadržaj direktorijuma u kojem se trenutno nalazimo izvršićemo komandu

ls

U zavisnosti od podešavanja šeme boja i vrste terminala, direktorijumi će biti istaknuti tekstom ispisanim podebljanom (plavom) bojom, dok su obične datoteke ispisane tankim (crnim) tekstom. Posebnim bojama takođe se prikazuju arhive, multimedijalne datoteke, slike, dokumenti, izvršne datoteke i druge vrste. Kada želimo da vidimo informacije o datotekama i direktorijumima, kao što su informacije o tome ko je vlasnik, ko može da im pristupi i šta da im radi, koliko su velike i kada su poslednji put izmenjeni, sintaksi komande ls dodajemo opciju -l (malo slovo L), pa komanda postaje

ls -l

Konfiguracione datoteke i direktorijumi su sakriveni i na početku naziva imaju tačku. Da bismo u spisku izlistanih datoteka mogli i njih da vidimo, komandi za listanje dodajemo opciju -a, tako da sintaksa postaje

ls -a

Kako opcije možemo da kombinujemo, za prikaz informacija o svim datotekama i direktorijumima koristimo sintaksu

ls -la

Kretanje kroz direktorijume

Boravak u samo jednom direktorijumu nije zanimljiv, pa ćemo za kretanje kroz strukturu direktorijuma koristiti komandu

cd

Dobro je znati da bilo gde da se nalazite u korisnički (home) direktorijum uvek se možete vratiti kucanjem samo komande cd, bez ikakvih dodatnih parametara.

Ako znate putanju do direktorijuma u koju želite da pređete, jednostavno komandi cd dodajte tu putanju. Na primer, za prelazak u /tmp jednostavno izvršavamo

cd /tmp

Ako je naziv nekog direktorijuma predugačak, možete se poslužiti funkcijom za dovršavanje naziva datoteka i direktorijuma koja se poziva tasterom ’TAB’. Jednostavno za prelazak u direktorijum /usr/share/locale može da se ukuca

/u ’TAB’ sh ’TAB’ lo ’TAB’

BASH će sam da dovrši putanju. Ako ste uneli premalo početnih slova naziva direktorijuma, on se neće dopuniti, već će na drugi pritisak tastera ’TAB’ biti ispisani svi direktorijumi koji počinju unetim slovima, zbog čega je potrebno dodati i sledeće slovo u nazivu. U slučaju da smo u gornjem primeru umesto „sh” ukucali samo „s”, dobili bismo spisak direktorijuma „sbin/ share/ src/”.

Ranije smo već pomenuli da se u korisnički direktorijum vraća izvršavanjem komande cd bez opcija i naziva direktorijuma. Kada je potrebno vratiti se u roditeljski direktorijum, iza komande cd dodaćemo dve (obične) tačke, tako da sintaksa postaje

cd ..

Ako je potrebno vratiti se nekoliko direktorijuma naviše, za svaki roditeljski direktorijum umesto naziva kucamo po dve tačke, pa tako za povratak tri stepena unazad kucamo

cd ../../..

Kreiranje direktorijuma

Kada nam zatreba neki novi direktorijum koji ne postoji, najjednostavnije ćemo ga napraviti komandom mkdir, iza koje unosimo naziv direktorijuma. Na primer, za pravljenje direktorijuma „proba” u direktorijumu /tmp, dok smo u njemu pokrenućemo komandu

mkdir proba

Na taj način dobićemo novi direktorijum /tmp/proba. Nešto naprednija varijanta ove komande koristi se u slučaju da istovremeno želimo da napravimo više direktorijuma koji su smešteni jedan unutar drugog. Na primer, za pravljenje poddirektorijuma „drugi_nivo” u direktorijumu „/tmp/proba”, koji inače ne postoji, dodaćemo opciju -p iza komande mkdir, a ispred putanje koju želimo da kreiramo, tako da dobijamo sintaksu

mkdir -p /tmp/proba/drugi_nivo

Na taj način će, osim poslednjeg, biti kreirani i svi direktorijumi koji nedostaju u željenoj putanji, u našem primeru je to „proba”. Naravno, istovremeno možemo da kreiramo i više direktorijuma odjednom tako što njihove putanje razdvajamo razmakom. Na primer, za kreiranje direktorijuma „drugi_dir” i „treci_dir”, dok smo u direktorijumu /tmp/proba izvršićemo komandu

mkdir drugi_dir treci_dir

Uklanjanje direktorijuma

Osim što možemo da pravimo nove, možemo i da uklanjamo pogrešno napravljene ili nepotrebne direktorijume. Za prazne direktorijume koristimo komandu rmdir, iza koje dodajemo naziv ili putanju direktorijuma koji želimo da uklonimo. Na primer, da bismo uklonili direktorijum /tmp/proba/drugi_nivo, izvršavamo komandu

rmdir /tmp/proba/drugi_nivo

Međutim, ako direktorijum „drugi_nivo” nije prazan, dobićemo obaveštenje da on nije ni uklonjen. Ukoliko želimo da pored direktorijuma uklonimo i sav sadržaj unutar njega, moraćemo u pomoć da pozovemo komandu za uklanjanje datoteka i direktorijuma rm, uz dodatak opcije -r za rekurzivno uklanjanje sadržaja. Dakle, za uklanjanje direktorijuma „drugi_nivo” koji sadrži poddirektorijume i datoteke, izvršićemo komandu

rm -r /tmp/proba/drugi_nivo

Ukoliko izostavimo opciju -r, dobićemo upozorenje da pokušavamo da uklonimo direktorijum, što je dozvoljeno samo za datoteke o kojima ćemo pričati u sledećoj lekciji.

• • •

Svakom novom korisniku za početak će biti dovoljno da nauči kako da barata direktorijumima u „onom crnom”, a upravo su komande ls, cd, mkdir, rmdir i rm zadužene za te poslove. Zbog uštede prostora pomenuli smo samo osnovnu sintaksu za njihovu upotrebu, dok za više informacija možete da pogledate njihove man stranice, a ako naiđete na problem ili vas interesuje više, slobodno postavite pitanje na našem forumu bit.ly/sklp-forum.
I am who I am because of those around me .

tp0x45

  • Administrator
  • Full Member
  • *****
  • Poruke: 242
  • Ugled: +10/-1
    • Pogledaj profil
    • Ubuntu Zajednica Crne Gore
Odg: BASH za pocetnike
« Odgovor #1 poslato: 04.11.2011, 04:56:41 »
Jel ovo ok da se iskopira na Wiki?
tp0x45
ubuntu 12.04 LTS

magio081

  • Administrator
  • Sr. Member
  • *****
  • Poruke: 286
  • Ugled: +6/-0
  • Republic of Zabjelo
    • Pogledaj profil
    • Ubuntu forice
Odg: BASH za pocetnike
« Odgovor #2 poslato: 04.11.2011, 08:26:38 »
Nisam siguran, posto je tekst iz "Svet Komjutera". Mozda je ok ako naglasimo izvor. Aj da sacekamo jos malo oko ovoga jer izlazi u djelovima. Ovaj mjesec je izasao treci dio.
Collecting data is only the first step to wisdom, but sharing data is the first step to community

shandy

  • Administrator
  • Full Member
  • *****
  • Poruke: 130
  • Ugled: +3/-0
    • Pogledaj profil
    • stexo.me
  • OS: Ubuntu 12.04
Odg: BASH za pocetnike
« Odgovor #3 poslato: 04.11.2011, 11:14:48 »
 Imamo mi neke materijale koje koristimo u okviru predavanja

 http://www.os.ac.me/os/os_materijali.htm

 Mada potrebno je formatiranje.

tp0x45

  • Administrator
  • Full Member
  • *****
  • Poruke: 242
  • Ugled: +10/-1
    • Pogledaj profil
    • Ubuntu Zajednica Crne Gore
Odg: BASH za pocetnike
« Odgovor #4 poslato: 04.11.2011, 14:56:28 »
Ja se taman ponadao da cut/paste. Elem, napravicemo mi nesto na bazi online help-ova...  u sustini ima mozda 10-ak komandi koje treba znati... a ako postavimo wiki, svako moze da doda komandu s vremena na vreme.
tp0x45
ubuntu 12.04 LTS

tp0x45

  • Administrator
  • Full Member
  • *****
  • Poruke: 242
  • Ugled: +10/-1
    • Pogledaj profil
    • Ubuntu Zajednica Crne Gore
Odg: BASH za pocetnike
« Odgovor #5 poslato: 04.11.2011, 21:48:57 »
Evo nesto, nije najbolje... ali moze da posluzi za pocetak. Nemam nista protiv da neko udje i koriguje dokument na wiki-ju:
http://wiki.ubuntu-me.org/index.php?title=Bash_osnovne_komande
tp0x45
ubuntu 12.04 LTS