Fujitsu-Siemens
 
M A G A Z I N
 
LINUX 
  Darko Novaković

LINUX – BASH KOMANDE

U prošlom broju smo počeli da se upoznajemo sa osnovnim komandama bash-a. U ovom nastavku ćemo obraditi još nekoliko osnovnih komandi koje su apsolutno neophodne u radu. Bilo bi dobro i korisno da svaki primer odradite samostalno u shell-u, jer se tako najlakše i najbrže uči. Pored komandi, kao i u prošlom nastavku, nastavićemo da se upoznajemo sa nekim stvarima karakterističnim kako za bash tako i za sam Linux. Ovo je neizbežno u radu sa shell-om, a ujedno ćete steći potpuniji uvid u konstrukciju Linux-a.

mkdir (make directory)
Kao što samo ime nagoveštava, ova komanda kreira novi direktorijum u tekućem direktorijumu. Veoma jednostavno se koristi. Npr., pozicionirajte se u svoj home direktorijum i u bash-u otkucajte: mkdir prvi_dir. Komandom ls proverite da li je rezultat primene ove komande očekivan. U listi direktorijuma i fajlova treba da se nađe i direktorijum koji ste upravo napravili.

rm (remove)
Ova komanda se koristi za brisanje fajlova ili direktorijuma. Za potrebe ilustracije, u prethodnom direktorijumu prvi_dir kreirajmo jedan fajl sa imenom prvi_fajl.txt pomoću naredbe touch:

~/prvi_dir>touch prvi_fajl.txt

Pomoću naredbe ls možete proveriti da li je fajl zaista kreiran. Na isti način kreirajmo još jedan fajl, drugi_fajl.txt.
Ukoliko nam posle nekog vremena više nije potreban fajl prvi_fajl.txt, možemo ga izbrisati pomoću sledeće naredbe:

~/prvi_dir>rm prvi_fajl.txt

Sa ls možete proveriti da li je došlo do željenog rezultata.
Ako iz nekog razloga poželite da izbrišete kreirani direktorijum, to možete uraditi takođe pomoću komande rm. Pozicionirajte se u roditeljski direktorijum sa cd .. i pokušajte na sledeći način:

~>rm prvi_dir

Dobićete poruku da shell ne može da izvrši zadatu komandu jer je prvi_dir direktorijum a ne fajl. Da biste izbrisali željeni direktorijum sa čitavim njegovim sadržajem otkucajte:

~>rm -r prvi_dir

Opcija -r je opcija za rekurzivno uklanjanje sadržaja direktorijuma. Treba naglasiti da postoji i komanda rmdir, ali ona služi za brisanje praznih direktorijuma i zato je rm mnogo praktičnija komanda od rmdir.

mv (move)
Komanda mv ima sledeću sintaksu:

mv [opcije] izvor odredište

i pomoću nje se premeštaju ili reimenuju fajlovi. Ukoliko je izvor neki postojeći fajl, a odredište neko nepostojeće ime (ime kojim nije imenovan nijedan fajl ili direktorijum), tada je rezultat primene gornje komande reimenovanje izvorišnog fajla imenom koje je navedeno kao odredište. Ako je situacija slična gornjoj, samo je odredište ime postojećeg fajla, postojeći fajl(odredište) se prepisuje izvorišnim fajlom. Ako je izvor direktorijum a odredište nepostojeće ime, reimenuje se direktorijum. Ako je izvor neki direktorijum, a odredište neki drugi postojeći direktorijum, direktorijum se prebacuje da bude poddirektorijum direktorijuma navedenog kao odredište. Ako je izvor jedan ili više fajlova, a odredište postojeći direktorijum, izvorišni fajlovi se premeštaju u odredišni direktorijum. Sve će ovo biti jasnije posle sledećeg primera.
U home direktorijumu kreirajmo direktorijum primer2 sa dva poddirektorijuma, pr1 i pr2, i neka se u svakom od njih nalaze po dva fajla: u pr1 fajlovi list1.txt i list2.txt, a u pr2 fajlovi pismo1 i pismo2:

~>mkdir primer2
~>cd primer2
~/primer2>mkdir pr1 pr2
~/primer2>cd pr1
~/primer2/pr1>touch list1.txt list2.txt
~/primer2/pr1>cd ../pr2
~/primer2/pr2>touch pismo1 pismo2

 

Promenimo ime fajla pismo1 u pismo1.txt:

~/primer2/pr2>mv pismo1 pismo1.txt

Premestimo ovaj reimenovani fajl u direktorijum pr1:

~/primer2/pr2>mv pismo1.txt ../pr1

Komandom ls može se proveriti da li je sve korektno urađeno. Na kraju premestimo direktorijum pr2 u direktorijum pr1:

~/primer2/pr2>cd ..
~/primer2>mv pr2 pr1

Sami se možete igrati sa prepisivanjem fajla sadržajem nekog drugog fajla. Pri ovome mogu vam zatrebati neke od opcija komande mv čiji opis možete pronaći npr. na man stranici ove komande.

cp (copy)
Ovo je još jedna korisna komanda na čiji ste ekvivalent u grafičkom okruženju već sigurno navikli (copy/paste). Sintaksa joj je sledeća:

cp [opcije] fajl1 fajl2, ili
cp [opcije] lista_fajlova direktorijum

U prvom slučaju, kopira se fajl1 u fajl2, dok se u drugom slučaju lista_fajlova kopira u listu fajlova sa istim imenima u direktorijum datog naziva. Ako je odredište postojeći fajl, on se prepisuje, a ako je odredište postojeći direktorijum, on se ne prepisuje, već se fajlovi kopiraju u njega. Siguran sam da ste u stanju da se samostalno poigrate sa ovom komandom da biste videli kako funkcioniše.


I na kraju - džoker u rukavu!

Džokeri služe za manipulisanje fajlovima koji imaju neke zajedničke nizove karaktera u imenu. U shell-u postoji 4 tipa džokera:

? odgovara tačno jednom karakteru
* odgovara proizvoljnom broju karaktera
[skup_vrednosti] odgovara jednom od karaktera iz skupa vrednosti u zagradama
[!skup_vrednosti] odgovara jednom karakteru koji ne pripada skupu vrednosti u zagradama.

Pogledajmo na gornjem primeru kako funkcionišu džokeri. Pozicionirajte se u direktorijum ~/primer2/pr1. Posle gornjeg primera, u njemu se nalaze fajlovi: list1.txt, list2.txt i pismo1.txt, kao i direktorijum pr2 u kome se nalazi fajl pismo2.
Rezultat sledeće pretrage direktorijuma pr1:

~/primer2/pr1>ls list?.txt

biće fajlovi list1.txt i list2.txt, jer se njihova imena razlikuju upravo na mestu karaktera gde je u pretrazi stavljen džoker '?'.
Rezultat pretrage:

~/primer2/pr1>ls *1.txt

su imena fajlova list1.txt i pismo1.txt, jer džoker '*' zamenjuje proizvoljan broj karaktera, pa će rezultat biti svi fajlovi koji na odgovarajućim pozicijama imaju niz karaktera '1.txt'.
Sami se igrajte sa ostala dva džokera. Džokeri se mogu i kombinovati ukoliko je to potrebno da bi se došlo do odgovarajućeg rezultata.

U ovom broju toliko. U sledećem nastavku ćemo se više baviti tajnama samog Linux-a, ali ćemo nastaviti i sa komandama bash-a.

 

VRH STRANE

(c) 2004 OMEGA - sva prava zadržana