Professional Documents
Culture Documents
Linux Komande
Linux Komande
Zadavanje:
1. ime komande
2. opcije komande (slova ili reči kojima prethodi -)
3. argumenti (nazivi datoteka, direktorijuma, proizvoljni tekst)
Npr. ls -l /tmp
Promena lozinke
Proces promene login lozinke datog naloga počinje komandom passwd. Od Vas će se tražiti da
unesete tekuću lozinku (old, current password), a zatim ćete dobiti zahtev da unesete novu
lozinku i da unos nove lozinke ponovite. Lozinke se ne prikazuju.
w – Ko je ulogovan
who – Koga još ima na sistemu.
who am i – Ispis ličnih podataka.
whoami – Ispisuje se samo username.
U radu sa ovim programom, pored strelica, entera, spacea, za upotrebu nekih opcija treba pritisnuti odgovarajuće slovo,
čiji se spisak nalazi u donjem delu ekrana. Caret ^ označava da treba pritisnuti ctrl.
Pri slanju pošte koristi se protokol SMTP (Simple Mail Transfer Protocol).
Za izmenu izgleda pinea postoji gomila opcija u setupu. U njemu, unutar configa, unošenjem news.rcub.bg.ac.yu kao nntp-servera
dobija se mogućnost da se iz list folders pristupi i konferencijama po želji.
Na taj način možemo da saznamo šta drugi ljudi imaju da kažu na neku temu, kao i da sami izlažemo naša gledišta.
Slanje fajlova se vrši tako|e iz pinea. Kada se izabere opcija compose message za slanje poruke, pored primaoca i subjecta
(naslova), u vidu attachmenta (priveska) može se poslati jedan ili više fajlova pomoću ^J. Fajl se može poslati i u okviru glavne
poruke pomoću ^R. Kada se primi poruka sa attachmentima, oni se gledaju sa v (view attachments) i izborom konkretnog
priveska. Attachment se snima u poseban fajl pomoću s (save attachment). Izlazak iz pregleda privezaka je sa < (back).
Ukoliko je onemogućeno uznemiravanje porukama kod onoga koga zovemo pomoću write ili talk, ispisaće nam senešto poput:
Permission denied. Promena je aktivna dok se ne izlogujemo.
Spajanje komandi vrši se pomoću znaka (pipe), redirekcija izlaza pomoću > ili >>, a redirekcija ulaza pomoću <. U UNIX-u ulaz
i izlaz se ostvaruju čitanjem ili pisanjem datoteka, pošto svi periferni ure|aji i direktorijumi, čak i tastatura i ekran, predstavljaju
datoteke. Zato se redirekcijom izlaza rezultati programa, umesto u fajl koji predstavlja ekran (standardni izlaz), upisuju u neki
drugi fajl.
prog < infile – ^ita iz fajla šta treba u programu prog (umesto da unosimo sa tastature).
prog > outfile – Umesto na ekran, piše u fajl.
prog anotherprog – Izlaz iz prog (ne ide na ekran) je ulaz za anotherprog.
prog <infile >outfile – ^ita iz fajla infile i rezultat programa prog upisuje u fajl outfile.
Rad sa fajlovima
Svako dobija po parče diska koje može da koristi: /home/<username>. Može se koristiti apsolutno ime (put)
(poqinje sa /, npr: /home/mr02111) ili relativno (od teku}eg direktorijuma, npr: ../mr02111).
mv <fajl> <novo ime fajla> – Move – Slično kao kopiranje, samo sto se originalni fajl ne}e sačuvati, tj. ovako se vrši
preimenovanje.
mv <lista fajlova> <direktorijum> – Promena mesta boravka fajlova.
mv -i <lista fajlova> <direktorijum> – Za svaki fajl pita da li da se izvrši move.
Ime fajla, odnosno direktorijuma, ne sme da sadrži : ; < > & * ? <space> ukoliko nije pod navodnicima. Ovo važi pri bilo
kakvom navo|enju imena fajla koje sadrži ovakve karaktere.
Opcija -- postoji i za ve}inu drugih naredbi i služi pri radu sa fajlovima čije ime počinje minusom.
Postoje još i editori vi i emacs koji su standardni za UNIX, i mnogo su profesionalniji od editora joe, ali i mnogo komplikovaniji.
Editor pico je sličan joeu, nalik na pineov editor i zgodan za koriš}enje.
Ako neki od gore pomenutih fajlova ne postoji, smatra se da je prazan. Ukoliko neko želi da promeni shell u kojem radi, posla}e
pismo administratorima (rootu).
Svi fajlovi (osim konfiguracionog .pinerc) mogu se preimenovati ili smestiti u neki drugi direktorijum. Tako|e, direktorijum mail
koji se po defaultu koristi za foldere ne mora da se zove tako, niti mora da postoji. Sve se to podešava u setupu za pine.
Dalji koraci
id – Identifikacija.
clear – Briše ekran.
Navodnike koristimo ako se u poruci nalaze i neki specijalni karakteri: \n – new line, \t – tabulator, \space – space, \\ – \… (u svim
naredbama). Dovoljno je staviti pod navodnike samo ove specijalne karaktere. Ovo važi i za imena fajlova. U shellu bash ovo sa
backslashom ne radi baš dobro.
Aliasi su tako|e mogu}i i za username. To ne menja proceduru pri logovanju, ve} samo drugim korisnicima olakšava slanje poruka
nama. Za jedan username mogu}e je imati više aliasa. Da bismo dobili alias za username, posla}emo molbu rootu i na
najljubazniji način objasniti naše želje.
Prvi disk u naredbi quota sadrži sve fajlove, snimljenu i poslatu poštu… Drugi disk sadrži primljenu poštu (koja stoji u inboxu
pinea), kao i sve poruke koje smo odredili za slanje, a koje još nisu poslate.
top – Spisak procesa sortiran po procentu zauze}a procesora. Izlaz sa q ili ^C.
Kako je UNIX višekorisnički operativni sistem, poželjno je zaštiti fajlove od drugih. Najčeš}e ne}emo dozvoliti drugima da nam
menjaju fajlove, a poneki }emo zaštititi i od tu|ih pogleda, jer i pogled može biti ubitacan, naročito ako je neka šifra u pitanju. To
radimo promenom prava (fajlova ili celih direktorijuma), tj. atributa fajlova. Atribute dobijamo pomo}u ls -l. Pretpostavimo da za
neki fajl piše:
drwxr-x--x <broj> <vlasnik> <grupa> …
d – Oznaka da li je direktorijum.
r – Dozvoljeno čitanje.
w – Dozvoljeno pisanje.
x – Dozvoljeno izvršavanje (izvršnog) fajla ili ulazak u direktorijum.
<broj> – Broj linkova na taj fajl.
Prva trojka (rwx) su prava za korisnika, druga trojka (r-x) su prava vezana za korisnike iz grupe, a tre}a trojka (--x) – za sve
ostale. Grupu odre|uje administrator (sys adm). Mogu da je čine ljudi koji rade u istoj kancelariji, studenti istog kursa – recimo
njima treba C kompajler… Administrator (sys adm) ima sva prava u UNIX-u, npr. može bez upozorenja da obriše neku
korisnikovu datoteku bez traga. U novijim OS-ovima administratorima se ostavljaju sva prava da mogu da urade bilo šta zbog
održavanja sistema, ali }e i korisnik saznati za to.
chmod <options> <mode> <lista fajlova ili direktorijuma> – Change mode – Promena prava nekim fajlovima ili
direktorijumima.
chmod ugoa +-= rwx <lista fajlova ili direktorijuma> – Isto.
Opcije znače:
u – User.
g – Group.
o – Other.
a – All.
+ – Dodaj pravo.
- – Oduzmi pravo.
= – Važe samo prava koja se navedu.
chmod <oktalni broj 1><oktalni broj 2><oktalni broj 3> <fajlovi> – Oktalni broj je zamena za rwx, pri tom r = 4, w = 2,
x = 1, - = 0, pa je <oktalni broj> = r + w + x. Prvi broj je za usera, drugi – za grupu i tre}i – za ostale. Na alasu drugi i
tre}i broj treba da budu isti, jer se grupa i ostali tretiraju na isti način, a to je zato što postoji samo jedna grupa (tj. to su
svi).
grep <uzorak> <lista fajlova> – Ispisuje sve linije u kojima se nalazi <uzorak>. Ako je navedeno više od jednog fajla
ispisuje se iz kog je fajla linija.
cat /etc/passwd grep <username> – Podaci o nekoj osobi.
grep -v <uzorak> <lista fajlova> – Lista sve linije osim onih koje sadrže <uzorak>.
grep -F <lista fiksnih karaktera> – Pojedini specijalni karakteri . ^ $ i još neki se tretiraju kao regularni izrazi, i odmah se
razvijaju u listu. Da se to ne bi dogodilo koristimo opciju -F.
fgrep <lista fiksnih karaktera> – Isto kao grep -f.
grep -x ’<tekst>’ – Spisak svih linija koje sadrže jedino <tekst>.
grep -n <uzorak> <lista fajlova> – Pored svake linije ispisuje i njen redni broj (indeksira ih).
grep -E ’<regularni izraz>’ – Spisak svih linija koje sadrže <regularan izraz>.
cut -d<separator> -f<lista polja> <lista fajlova> – Ispisuje polja koja mu navedemo u listi polja koja su odvojena
zarezom, a separator polja je <separator> i mora se navesti pod navodnicima ukoliko sadrži neke rezervisane karaktere.
who am i cut -d“ ” -f1 cut -d! -f2 – Ispisuje samo username.
cat /etc/passwd grep <username> cut -d: -f5 – Ispisuje ime i prezime osobe čiji je username <username>.
grep <username> /etc/passwd cut -d: -f5 – Isto kao prethodni primer.
grep <username> /etc/passwd cut -d: -f6 cut -d/ -f1 – Ispisuje se prazan string jer smo stavili da je drugi separator slash
(/).
tar <komanda> <arhiva> <lista fajlova> – Arhiver – Uobičajene ekstenzije su .tgz (pakovanje sa kompresijom – kao zip)
i .tar (pakovanje bez kompresije, tj. kopiranje više fajlova u jedan).
tar -zcvf <arhiva>.tgz <direktorijum> – Ovako se pakuju fajlovi iz navedenog direktorijuma.
tar -ztvf <arhiva> – Lista sadržaj bez raspakivanja.
tar -zxvf <arhiva> – Raspakuje arhivu.
Pri tome, opcije za tar znače (za ostale opcije se preporučuje tar --help):
-c – Create – Pravljenje tar fajla.
-t – List – Ispis sadržaja tar fajla.
-x – Extract – Raspakivanje.
-f – File – Znači da }e se koristiti tar arhiva. Naziv arhive mora da ide odmah iza ove opcije (sa ili bez razmaka), a nakon toga
mogu i}i i još neke opcije. Preporučuje se da se ova opcija navodi kao poslednja pre imena fajlova (kao što je i u gornjim
primerima).
-z – Zip – Bolje se pakuje, jer se koristi zip metoda.
-v – Verbose – Ispisuje fajlove koji su obra|eni (zapakovani/raspakovani).
-w – Pita za svaki fajl (da li da se zapakuje/raspakuje).
Bitna razlika izme|u DOS-a i UNIX-a je u kraju reda. U DOS-u su to 2 karaktera (CR LF – ascii kodovi su: #13 #10), a u UNIX-u
– samo 1 (LF). CR je Carriage Return (povratak na početak reda, vra}anje bubnja, tj. kolica na pisa}oj mašini ulevo), a LF – Line
Feed (spuštanje za red niže). ASCII – American Standard Code for International Interchange. DOS i kasniji OS-ovi koriste da je
novi red CR LF, na COMMODORE-u 64 novi red je bio CR, a u C-u i UNIX-u novi red je LF.
Binarno prenošenje je bit-po-bit. Ali ascii tekst tada ne bi bio dobro prenesen jer bi morao svaki LF da se zameni sa CR LF i
obratno. Zato služi ascii prenos. Na primer, neki DOS fajl binarno ima 150 karaktera, a ascii – 139.
Konzolni browser-i
Iako mnogi mislee da je vreme Linux konzole ili DOS-a odavno prošlo, onda imajući u vidu i da
Linux konzola po funkcionalnosti nije baš ekvivalent DOS-a (jer je Linux konzola je
naprednija), pozabavićemo se nekim tekst browser-ima. U slučaju da sve vreme koje provodite u
Linux-u provodite zapravo u X okruženju i ako je Window Manadžer ili neko desktop okruženje
predstavlja Vaš izbor, postoje situacije kada itekst-orijentisani web browser-i mogu biti korisni:
http://lynx.browser.org/
Lynx koriste i napredniji korisnici kompjutera na Linuxu i drugim Unix kompatibilnim operativnim sistemima. To je
brauzer za one koji žele brzinu i brzi pristup tekstualnim informacijama.
lynx <fajl> – Za gledanje html fajlova. <fajl> mora imati odgovaraju}u ekstenziju (npr. htm).
Lynx je na Linuxu jedan od najbržih brauzera (radi u tekstualnom modu i prvenstveno prikazuje
tekst internet prezentacija). Slike se mogu gledati nekim pokazivačima slika, i to samo jedna po
jedna ili na pojedinačan način. Čak možete da gledate i internet prezentacije koje su napisane uz
pomoć frejmova. (bez obzira na upozorenja tipa da "Vaš brauzer ne podržava frejmove", vi
samo nastavite brzi surf dalje kroz internet prateći linkove koje Vam Lynx pokaže). Lynx može
da se koristi u konzoli na Linuxu, ali i pod X Window sistemom, ako koristite neku emulaciju
terminal programa kao npr. Xterm ili Rxvt.
Lynx može pored ostaloga da služi za izradu internet prezentacija, za čitanje od internet news,
slanje emaila ili čitanje emaila ili za upisivanje formulara u internet prezentacijama. Za sve one
koji žele brzo i efektivno da dobiju njihove tekstualne informacije sa interneta, dok ih reklame i
druge sličice ne zanimaju toliko, preporučujem Lynx. Poznato je još, da ako neka internet
prezentacija ne može da se gleda pod Lynx-om, onda sigurno ne podržava HTML standarde i
sigurno je vrlo nekvalitetna.
Lynx može da stane i na jednu disketu. Tako ako želite da koristite vrlo stare kompjutere bez
hard diska za internet, onda možete sa jednom disketom da pokrenete kompjuter sa Linuxom, a
sa drugom disketom da učitate Lynx i opet sa velikom brzinom koristite internet.
Links je vrlo sličan Lynx brauzeru. Ovaj može da pokazuje i tabele na navodno bolji način.
Koristi sistem menija, pokazuje boje i može da se koristi u konzolnom načinu rada, pa je zato
dosta brz i pregledan.
http://artax.karlin.mff.cuni.cz/~mikulas/links/
Links po default-u prepoznaje miša, iako deluje da nema mogućnost skrolovanja. Navigacija
pomoću tastature je veoma slična Lynx-ovoj.
Ovde treba reći da je kretanje po stranici korišćenjem tastera 'up' i 'down' keys pomalo nespretno
ukoliko se stranica sastoji od horizontalnih tabela, pošto se Links kreće po linkovima prve
kolone, zati druge kolone, pa treće itd.. Lynx-ova opcija sa ' 'number links' bi načinila čuda ali
na žalost nije inplementirana. Yato koristite .
još jedan problem se može javiti usled tabela a to je da će neke stranice biti preširoke za
standardni 80x40 prozor terminala. U ovom slučaju moraćete da skrolujete horizontalno ili da
povećate prozor terminala. Links koristi tastere [ i] za tu funkciju, dok w3m, koga zadnjeg
predstavljamo,koristi <; i >.
Pritisnite taster da bi aktivirali meni bar (ili kliknite na prvu liniju u terminalu sa vašim mišem) i
koristite tastere sa strelicama za navigacijut. Podmeniji se aktiviraju sa tasterom a zatvaraju sa
tasterom . Sva podešavanja se odvijaju preko ovih menija, pa ne bi trebalo da direktno editujete
'~/.links/links.cfg' , osim za download_dir directory opciju da bi podesili default download
direktorijum ili da bi podesili plugin-e.
Ko i Lynx, Links poseduje '-dump' opciju z akonvertovanje HTML fajlova u obične tekstualne
fajlove. Pošto Links podržava horizontalne tabele, konačni tekstualni fajl izgleda nešto sređenije
nego sa Lynx-om.
Procesi
U nekim verzijama UNIX-a ispred ovih opcija potrebno je navesti crtu (-).
Ako se iza komande navede ampersand (&) tada se proces odmah startuje u backgroundu.
finger pera›alas.matf.bg.ac.yu >> pera& – S obzirom da se ovaj proces obavlja bar nekoliko sekundi, stavi}emo da se
izvršava u pozadini.
kill <pid> – Ubijanje procesa čiji je pid <pid> (vidi se pomo}u ps). Pid je skra}eno od Process ID.
kill %<job> – Kao i malopre. Broj <job> se vidi pomo}u jobs.
kill -9 <pid> – Ovo je krajnje surovo ubistvo – ubija sigurno. Kao end task u WINDOWS-u. Ako ubijemo proces -tcsh ili
-bash, izlogova}emo sami sebe.
screen – Startuje se program screen. U ovom programu, izvesne komande ne}e raditi, ili ne}e raditi na uobičajen način,
ali }e zato one važnije uglavnom raditi bolje. Nakon startovanja screena, možemo da otvaramo više prozora odjednom,
da se prebacujemo izme|u njih… Pri otvaranju novog prozora uvek se startuje .tcshrc (odnosno .bashrc u shellu bash).
Pomo}u komande ps možemo videti koliko je prozora aktivno (u svakom prozoru je aktivan tcsh ili bash).
Upravljanje u screenu:
^AC – Otvaranje novog prozora (create).
^A0 – Prebacivanje na prozor 0 (prvi prozor).
^A1 – Prebacivanje na prozor 1 (ako postoji).
^A<cifra> – Prebacivanje na prozor broj <cifra>.
^A^A – Prebacivanje na poslednji prozor koji smo koristili (u WINDOWS-u alt-tab).
^AN – Prebacivanje na slede}i prozor (next).
^A<space> – Prebacivanje na slede}i prozor.
^A<backspace> – Prebacivanje na prethodni prozor (back).
^A<alt>Q – Startovanje copy moda u screenu. U njemu ’-’ i ’+’ služe za pomeranje ekrana nagore i nadole. Na taj način,
omogu}eno je čitanje redova koji više nisu na ekranu.
^AK – Zatvaranje teku}eg prozora (kill).
exit – Zatvaranje teku}eg prozora (odnosno shella).
set prompt=“<opcije>” – Ovako se postavlja izgled početnog dela komandne linije i obično se navodi u fajlu .tcshrc da se
ne bi pisalo svaki put prilikom logovanja.
set prompt=“%/” – Ovako }e se na početku linije ispisati trenutna apsolutno ime direktorijuma.
set prompt=“%m” – Sad }e ispisati ime servera.
set prompt=“%B<opcije>%b” – Opcije izme|u %B i %b bi}e ispisane masno (bold).
set prompt=“Neki tekst” – U komandnoj liniji }e stajati ovako napisan tekst, tj. ne}e se videti samo ona slova ispred
kojih stoji %.
Skript (kao batch file u DOS-u) je spisak akcija koje treba izvršiti. U njemu:
# – Komentar, osim kada je u kombinaciji sa !, i tada se navodi shell.
*#!/bin/sh – Znači da se skript izvršava u okviru bourne shella sh, koji je standardan za skriptove, i sistemski skriptovi se uvek
pišu za sh. Shell se mora navesti na početku skripta.
$n – Da}e nam n-ti ulazni argument (n = 1, 2… 9).
$0 – Ovde se krije ime skripta (fajla).
$# – Broj ulaznih argumenata.
$* – Svi ulazni argumenti.
shift – Pomera indekse argumenata ulevo ($2 –> $1, $3 –> $2, …), dok $0 i dalje ostaje ime skripta. Koristi se kad ima više od 9
ulaznih argumenata.
for <promenljiva> in <skup> do <lista komandi> done – For komanda.
while <uslov> do <lista komandi> done – While komanda.
Poziv jednog skripta iz drugog vrši se prostim navo|enjem imena prvog skripta u drugom. Recimo da želimo da skript bbb
pozovemo iz skripta aaa. Tada u jednom redu skripta aaa navedemo bbb. Naravno, oba fajla, i aaa i bbb, moraju biti izvršni, tj.
moraju imati parametar x me|u pravima korisnika. Poziv jednog skripta iz drugog može se izvršiti i naredbom exec <skript>,
jedino što se u tom slučaju bukvalno prelazi na taj skript, dok pozivaju}i prestaje sa izvršavanjem (isto kao poziv drugog batch
fajla bez komande call u DOS-u).
Kada se startuje skript u okviru koga on sam sebe poziva (rekurzivno), tada }e se startovati puno procesa (trebalo bi beskonačno
mnogo, ali postoji ograničenje od nekoliko desetina). Da se ne bi ubijalo nekoliko desetina procesa naredbom kill -9 (usput, neki
procesi }e tako postati zombie), samo se ubije celokupan posao (job) naredbom %<broj>.
U starijim verzijama LINUX-a skript se startuje pomo}u sh <skript>, pa je takav i poziv jednog skripta u okviru drugog.
Neka u fajlu proba piše: print “1=”$1“\ t2=”$2 – Tada je prethodni primer:
cc <c prg> – Kompajlira <c prg> u izvršni fajl a.out, koji se startuje sa a.out.
cc <c prg> -o <izvršni fajl> – Kompajlira <c prg> u <izvršni fajl>.
make <c prg bez ekstenzije> – Kompajlira <c prg bez ekstenzije>.c u <c prg bez ekstenzije>.
chown -c <user> <fajl> – Change owner – Menja vlasništvo fajla na unetog korisnika, koji mora da postoji na sistemu.
Opcija -c je od changes.
chsh -s <shell> <username> – Change shell – Shell se mora navesti sa celom putanjom.
chsh -s /bin/tcsh <username> – Menjamo shell u tcsh.
at <vreme> – Sada očekuje da unesemo komande koje će izvršiti u navedenom vremenu i sve što treba da se ispiše na
ekranu (standradnom izlazu) poslaće u obliku maila, kao i u slučaju da je greška u nekoj komandi. Unos komandi
završavamo sa ^D.
at now + 1 minute – Posle toga u novom redu unosimo komande.
at 6 aug 18 – Komande za 18-i avgust u 6 sati.
at now + 2 minute – Prijavljuje gramatičku grešku da treba da stoji minutes, ali ipak nastavlja sa radom.
atq – Prikazuje jobove koji čekaju da se izvrše.
atrm <broj> – Ukida job <broj>. Broj nekog joba vidi se pomoću atq.