Kratak pogled u istoriju

1969.
Kenneth Thompson & Dennis Ritchie su u telefonskoj kompaniji AT & T (American Telephone & Telegraph). razvili prvu verziju UNIX-a koja je bila napisana u asembleru za računar DEC PDP-7. Nedostatak je upravo bio u asembleru, zavisnom od hardvera.

Trebalo im je 2 godine da sve prebace na PDP-11 (zbog asemblera). Da bi se deo softvera mogao uvoditi, morao je biti napisan za različite platforme. Njihovim rezultatima je omogućena realizacija Ritchie-ovog koncepta i stvaranje jezika prikladnog za kreiranje operativnog sistema. Za to vreme Thompson je napravio programski jezik B, iz koga su Dennis Ritchie i Brian Kernighan razvili C, kao zamenu sa asembler koji je dotad korišćen. Ideja je bila da se koriste mogućnosti jezika višeg nivoa i funkcionalnog mašinskog jezika i da sve to zajedno bude prenosivo.

1973.
Veći deo UNIX-a je preveden na C, tako da je verzija 4 imala samo mali deo asemblerskog koda zavisnog od hardvera. Source (izvorni kod) je imao svega oko 5000 linija. U međuvremenu je United States Federal Trade Comission objavila monopol za roditeljsku komapniju Bell Labs, AT&T. Otuda je AT&T pristupio uvođenju ograničenja u svom ponašanju. Zbog novih zahteva je Bell Labs započeo pravljenje UNIX-a za univerzitete i davan je besplatno studentima i univerzitetima na dopunjavanje i razvijanje. U toku sedamdestih godina, Unix kôd je distribuiran raznim univerzitetima i kompanijama koje su razvile razne Unix varijante, od kojih su najpoznatije Solaris (Sun Microsystems), FreeBSD (Berkeley University), IRIX (Silicon Graphics).
1985.
Richard Stallman objavljuje GNU manifest, jedan od prvih dokumenata u open-source revoluciji. Stallman je zapoceo rad na GNU operativnom sistemu 1983. godine, uglavnom zato sto je zeleo da kreira open-source verziju Unix-a. Skrecenica GNU oznacava "GNU is Not Unix". Stallman-ova fondacija besplatnog softvera (Free Software Foundation) je kasnije prerasla u GNU opstu javnu licencu (General Public License), koja je opste usvojena i potpuno legalna "anticopyright" licenca koja i danas omogucava da Linux ostane potpuno besplatan.
1987.
Profesor Andrew Tanenbaum je stvorio Minix, open-source operativni sistem koji predstavlja klon Unix-a. U to vreme, Linux Torvalds, student racunarskih nauka u Finskoj, se upoznao sa Minix-om i bazirao svoje planove za Linux na primeru Minix-a.
1991.
U avgustu 1991. Torvalds objavljuje svoje planove Minix korisnickim grupama da ce kreirati besplatni operativni sistem. Skromno je naglasio da je u pitanju samo hobi i da operativni sistem nece biti veliko i profesionalno kao GNU. Pogledajmo Linusovu objavu.

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki

Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)

Linus (torvalds@kruuna.helsinki.fi)

PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.

U oktobru, Linux 0.01 je izdat na Internetu pod GNU javnom licencom. U Minix korisnickim grupama Torvalds nalazi saradnike radi zajednickog rada u cilju poboljsanja novog operativnog sistema. Dobio je dovoljno pomoci da zavrsi verziju 0.1 u decembru. Par meseci kasnije je verzija 0.12 već predstavljala stabilan operativni sistem, sa integrisanim Bourne Again shellom (bash), C kompajlerom, Micro Emacsom i gomilom softverskih alata. U toku sledecih godina Linux i GNU kompatibilan softver je razvijalo stotine hiljada programera. Proizvodjaci poput RedHat-a, Caldere i Debiana kreiraju popularne distribucije Linux-a koje sadrze kako operativni sistem, tako i mnostvo korisnih programa i graficki interfejs.

 


 

Osnovni koncepti

Kako je UNIX višekorisnički sistem, onda u značajnije koncepte spadaju i:

Osnovne tehnike

Za obavljanje nekih opštih operacija koriste se Unix komande.

Pristup Unix-u može biti tekstualan, preko interfejsa sa komandne linije ili preko grafičkog korisničkog interfejsa.

Tekst koji sledi se odnosi na rad iz komandne linije. Unix sistem podržava različite interfejse komandne linije, a među popularnije spada Bourneova ljuska (shell). U prikazu komandi koje slede podrazumeva se BASH ljuska (najraširenije komandno okruženje u Linux distribucijama). Na praktikumu će se dati potpuniji prikaz o shell-ovima. U svakom slučaju možete zatražiti od administratora da konfiguriše Vaš nalog da koristi bash.

Prijavljivanje i odjavljivanje

Na Unix sistem možete da se prijavite sa konzole sistema, sa udaljenog računara, preko Telnet-a ili SSH-a (jer većina korisnika pristupa sistemu sa udaljenih računara, izuzev kod ličnih radnih stanica). Upotrebom SSH se smanjuje rizik kompromitovanja Vašeg naloga u odnosu na upotrebu Telnet-a koji šalje korisnička imena i lozinke, a da ih pri tome ne šifrira.

Unix i Microsoft Windows sistemi pružaju Telnet usluge kao deo standardne konfiguracije.

Pristup udaljenom računaru preko Telnet-a se ostvaruje komandom

telnet host
Host je ime hosta ili IP adresa hosta kojem želite da pristupite. Npr.

telnet alas.matf.bg.ac.yu
/*Server alas na Matematičkom fakultetu u Beogradu,mreža je akademska, Jugoslavija */

ili

telnet 147.91.64.2

Kao odgovor na ovu komandu, udaljeni host će od Vas zahtevati korisničko ime (npr. mr02684) i lozinku. Lozinka se neće prikazivati dok je kucate, ali mere opreza nisu na odmet (vezano za poglede nad tastaturom kolega koje sede do Vas ili vire preko ramena).

Unix sistemi nude SSH klijente kao deo standardne konfiguracije. (Zavisno od SSH konfiguracije servera, možda ćete ipak morati promeniti konfiguraciju svog korisničkog naloga za pristup preko SSH-a).

Udaljenom hostu se može pristupiti komandom:

ssh - l korisnickoIme host

Ako niste instalirali neki Windows SSH klijent, onda ga možete potražiti preko Internet-a ili u sekciji za download uputstva za rad u laboratoriji.

Ako ste se uspešno prijavili na Unix sisteme (preko konzole, Telnet-a, SSH-a), Unix sistem prikazuje znak prijave. Najčešće je to niz karaktera koji se završava oznakom za dolar. Npr.

[mr02684@alas mr02684]$
Ovaj odziv je signal da je sistem spreman da prihvati Vaše komande.

Odjavljivanje sa Unix sistema obavljate tako što otkucate exit i pritisnete ENTER.

Prikazaće se poruka o uspešnoj odjavi.

Zadavanje komandi

Ako želite da izvršavate Unix komande, onda komandu kucate nakon prikazivanja odziva sistema. Kao potvrdu, pritisnite znak ENTER.

Mnogi Unix sistemi koriste specijalne tastere koji omogućuju promenu trenutne komande i ponavljanje prethodne. Npr. probajte mogućnosti strelica.

Generalno, Unix komande se sastoje iz tri dela (poslednja dva su opcionalna):

  1. ime komande
  2. opcije komande (slova ili reči kojima prethodi -)
  3. argumenti (nazivi datoteka, direktorijuma, proizvoljni tekst)
Npr. ls -l /tmp

Prebacivanje datoteke sa i na udaljeni host računar

ftp <server> File Transfer Protocol Protokol za transfer fajlova
Komande nakon ftp-a
help Spisak prisutnih komandi
get <fajl> [<novo ime fajla>] preuzimanje fajla sa naloga
mget <lista fajlova> višestruki get (više datoteka) - mogu se koristiti i *, ?, [ i ] za selekciju
put <fajl> [<novo ime fajla> ] prenos datoteka na nalog
mput <lista fajlova> višestruki put
quit napuštanje ftp-a
!<komanda polaznog OS> omogućuje se izvršavanje zadate komande polaznog sistema (npr, ako se ftpuje iz DOS-a na alas, može se koristiti ma koja naredba DOS-a, npr. dir kucanjem !dir, nakon čega će biti izlistani fajlovi tekućeg direktorijuma
hash pri prenosu fajlova na svakih 2 KB se ispisuje taraba (#) (da bi se znalo da prenos nije stao)

Nedostatak ftp-a je da korisničko ime i lozinku šalje preko mreže nešifrirane. Ako lokalni ili host računar podržavaju SSH, onda možete koristitiprogram scp. On šifrira informacije koje se šalju preko mreže.

Za prebacivanje dataoteke na udaljeni računar preko SSH, može se koristiti komanda:

scp   datoteka   korisnik@host:putanja

datoteka
putanja koja je pridružena datoteci koja se prebacuje
korisnik
ime korisničkog naloga na udaljenom host-u
host
ime hosta ili IP adresa udaljenog hosta
putanja
putanja do odredišne datoteke

Napomene pri radu

^C u većini progama služi za prekid programa (ponekad i ^D).
<tab> dovršava pisanje imena fajla (ako je jednoznačno odre|en). Ako postoji više fajlova sa početkom koji smo napisali, napisaće se još i onaj deo tih komandi koji je zajednički za sve njih.
^D (negde i tab) za nekoliko napisanih slova (string) lista sve komande koje počinju tim stringom.
^D u slučaju da nije ništa napisano u komandnoj liniji, ima funkciju logout.
^<bckspc> je ponekad bolje koristiti nego sam backspace, na primer, pri logovanju ili ftpu.

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.

Pregled korisnika koji su prijavljeni

w izveštaj u vidu spiska o trenutnom statusu sistema i trenutno prijavljenim korisnicima na Unix sistem sa informacijama o zadacima koje korisnici izvršavaju (datum, odnosno vreme početka sesije,...)
w user kao i prethodno, ali se prikazuju samo podaci za zadatog korisnika
who spisak koga još ima na sistemu
who am i   ispis ličnih podataka za tekućeg korisnika
whoami   ispis samo username-a za tekućeg korisnika

Provera da li host radi

ping -c 3 host
Npr. ping -c 3 147.91.64.2

Ako mrežni programi host računara rade, ova komanda će prikazati izveštaj o vremenu koje je potrebno da jedan paket stigne do hosta. Merenje će se izvršiti tri puta, a nakon toga će se prikazati sumarni izveštaj.

Nešto više informacija o korisnicima

finger traži zadate podatke o korisniku i prikazuje informacije iz inicijalne konfiguracije korisnikovog naloga, kao i ostale sadržaje iz korisnikovih .plan i .project fajlova (ukoliko postoje). Prikazuje se i da li je korisnik prijavljen i koliko dugo traje sesija korisnika.

Iako su raspoložive verzije finger programa koje su zatvorile većinu sigurnosnih propusta, problem mogu predstavljati zahtevi koji dolaze izvan mreže, jer se prikazuje i koje mašine koriste korisnici za prijavljivanje na mrežu i koje su prijavljene, što mogu iskoristiti krekeri (ukoliko možda mašine nemaju stroge sigurnosne procedure) kao prikladna mesta za ilegalne aktivnosti.

Rad sa poštom pomoću pine

Pine je program za neposredan pristup elektronskoj pošti koji je projektovan da radi u tekst okruženju, a može da se koristi i sa konzole i u xterm prozoru.
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).

More i less pregled teksta

  • <komanda> | more Lista stranu po stranu.
  • more <fajl> Lista <fajl> stranu po stranu.
  • <komanda> | less Slično kao more.

U komandi more, akcije su:
h Help Spisak akcija.
space Pomeranje nadole za navedeni broj redova (otkuca se neki broj i pritisne space). Ako se ništa ne navede, po defaultu je to jedna strana.
b Backward Pomeranje za stranu ili za navedeni broj redova unazad.
q Quit Izlazak.

Akcije u komandi less:
b Vraćanje na prethodnu stranu.
u Vraćanje za pola strane unazad.
d Spuštanje za pola strane.
v Prelazak na sledeću stranu.
space Prelazak na sledeću stranu.
/<ime> Osvetljava sve pojave stringa <ime>. Ako se <ime> ne navede, to znači find next.
q Izlaz.

Stranice priručnika (manual)

Komanda man prikazuje stranicu sa uputstvom za određenu komandu ili program.

Sintaksa:

man [opcije] <ime komande ili programa>

man ime komande ili programa
prikazuje stranice priručnika za zadatu komandu/program i možete kroz nju da se pomerate i da je pretražujete na isti način, kao prilikom korišćenja naredbe less za prikazivanje teksta.

Opcije:

-a
pronalazi sve stranice uputstva koje sadrže nisku <ime komande ili programa>
-k
traži <ime komande ili programa> u tekstu svih stranica sa uputstvima, uključujući i naslov
-p
određuje izlistavanje stranica za stranice sa uputstvom; podrazumeva se less
Ako želite da se upoznate sa komandom man, pokrenite komandu:

man man

Stranice uputstva su u obliku numerisanih odeljaka.
<komanda> --help sažeti help sa kratkim opisom sintakse i argumenata koji se mogu pojaviti u specificiranoj komandi (postoji za većinu komandi)

talk <username>
interaktivni razgovor pozivaoca i pozvanog(username)- izlazak se realizuje posredstvom ^C
ytalk <username>
interaktivni razgovor sa više ljudi, a spisak raspoloživih opcije se prikazuje nakon pritiska na ESC (escape). (npr. a - za add user, d - za delete user) i ^C je za izlaz
write <username>
slanje poruke, a nakon ovog reda, moguće je pisati poruku i izlaz je sa ^C.
mesg n
onemogućuje se uznemiravaane posredstvom poruka (u naredbama write , talk).
mesg y
dozvoljava se uznemiravanje
mesg
ispisaće da li je trenutno dozvoljeno uznemiravanje (yes) ili nije (no)

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.

  • komanda < ULAZ       čita iz fajla ULAZ unos za program komanda (umesto korisnikovog unosa sa tastature).
  • komanda > IZLAZ       Umesto na ekran, piše u IZLAZ.
  • program1 | program2       Izlaz iz program1 (ne ide na ekran) je ulaz za program2.
  • program <ULAZ >IZLAZ       čita iz ULAZ i rezultat programa program upisuje na IZLAZ.

Rad sa fajlovima

Svako dobija po parče diska koje može da koristi: /home/<username>. Može se koristiti apsolutno ime (put)
(počinje sa /, npr: /home/mr02111) ili relativno (od tekućeg direktorijuma, npr: ../mr02111).

Promena tekućeg direktorijuma

pwd apsolutna putanja do tekućeg direktorijuma
cd <direktorijum> Change directory, tj. promena direktorijuma.
cd   .. Vraćanje u prethodni (parent) direktorijum.
cd /home/mr02685 Menjanje direktorijuma.
cd   . Tekući direktorijum.
cd   ̃ Vraćanje u home direktorijum (može i samo: cd).
cd   ̃<direktorijum> Pomeranje u direktorijum unutar home direktorijuma.

Kreiranje direktorijuma

  • mkdir <direktorijum> Make directory Pravljenje direktorijuma.

Uklanjanje direktorijuma

  • rmdir <direktorijum_ili_putanja> Remove directory Briše samo prazne direktorijume (u kojima nema drugih poddirektorijuma ili datoteka) .
Ako direktorijum nije prazan, onda se i on i njegov sadržaj može obrisati sa:

rm -rf putanja_do_direkt

Pregled sadržaja direktorijuma

ls   <lista direktorijuma ili fajlova> List- slično sa DOS naredbom dir
ls  * Lista i one fajlove koji su unutar poddirektorijuma (dir /s u DOSu).
ls  a[Bb]* Lista sve fajlove čije je prvo slovo je a, drugo slovo B ili b.
ls  -r  * Lista fajlove i direktorijume u obrnutom poretku (reverse order).
ls   [ 1-3]* Lista sve fajlove čije je prvo slovo 1, 2 ili 3.
ls  a?c000 ? zamenjuje bilo koje, ali tačno jedno, slovo.
ls  a*0 * je zamena za bilo koju nisku (i praznu) karaktera, pa se ovako listaju svi fajlovi koji počinju sa a, a završavaju se sa 0.
ls  -l Detaljnije informacije o fajlovima, npr. atributi.
ls  -a Spisak svih fajlova, tj. i onih koji počinju tačkom, a koji se inače ne prikazuju (slično hidden fajlovima u DOS-u) jer su ti fajlovi obično veoma važni.
ls  -la (isto kao: ls -l -a) Detaljnije informacije o svim fajlovima.
ls  -s pregledniji ispis (brojevi pored fajlova govore koliko je veliki fajl u kilobajtima).
ls  -R Ispis sadržaja tekućeg direktorijuma i poddirektorijuma.
ls  -p Da bi u screenu direktorijumi bili označeni kosom crtom (/).
ls  -o Da bi u screenu izvesni fajlovi bili osvetljeni.
  • cp [ <opcije>] <fajl> <fajl ili direktorijum> Copy Kopiranje fajla.
  • cp [<opcije>] <lista fajlova> <direktorijum> Kopiranje fajlova u <direktorijum>.
  • cp [<opcije>] <lista fajlova> . Kopiranje u tekući direktorijum.
  • cp [<opcije>] <lista fajlova> ̃ Kopira u home direktorijum.
  • cp -i <lista fajlova> <direktorijum> Za svaki fajl preko koga treba da piše pita da li je to u redu.
  • 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.
  • rm <lista fajlova> Remove Brisanje fajlova.
  • rm -i <lista fajlova> Pita za svaki fajl da li ga obriše.
  • rm -r <direktorijum> Briše ceo <direktorijum> bez daljih pitanja.
  • rm -r -i <direktorijum> Isto kao rm -r, ali postavlja pitanje za svaki poddirektorijum unutar direktorijuma da li da ga razmatra (tj. fajlove u njemu) (descent) i da li da ga briše (remove).
  • rm "axb" Briše sve fajlove čiji naziv ima tri karaktera a,x,b.
  • rm a?b Briše sve fajlove čiji naziv ima tri karaktera i počinje sa a i završava sa b (npr. aab, adb,...) .
  • rm a* Briše sve fajlove čije ime pocinje sa a.
  • rm a * Briše fajl koji se zove a (rm a), i sve fajlove u direktorijumu (rm *), u par reči briše sve fajlove u direktorijumu! Razlog je taj što shell interpretira *, ? i [.-.] i pravi listu fajlova za brisanje.

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.

  • rm "*" Briše fajl koji se zove *, a ne sve fajlove u direktorijumu.
  • rm -- -f Briše fajl -f. Ovde je neophodno navesti opciju -- koja označava da dalje ide lista fajlova, a ne neka nova opcija.
  • rm ./-f Drugi nacin da se izbrise fajl -f u tekućem direktorijumu. Ne postoje drugi načini osim ova dva prikazana da se ovakav fajl direktno izbriše.

Opcija -- postoji i za većinu drugih naredbi i služi pri radu sa fajlovima čije ime počinje minusom.


Maksimalna dužina imena fajlova, kao i direktorijuma bi trebalo da je 255.

cat [opcije] <lista fajlova> povezuje fajlove i koristi se za ispis sadržaja fajlova (kao type u DOS-u)
cat -b <lista fajlova> numerisanje svih ne-blanko linija izlaza naredbe cat i to počev od 1
cat -n <lista fajlova> numerisanje svih linija izlaza naredbe cat i to počev od 1
cat -s <lista fajlova> zamena svih višestrukih blanko linija jednom linijom
cat /etc/passwd | more spisak svih login-a na alasu
cat > <fajl> upis karaktera koji se unose sa tastature u fajl do pritiska ^C, ali se pri tom prethodni sadržaj fajla gubi
cat >> <fajl> dopisivanje karaktera koji se unose sa tastature na kraj fajla

joe [opcije] <fajl> Editor joe se smatra relativno prostijim po pitanju funkcionalnosti, mada nudi mogućnosti izrade makroa, bookmarkova, rad sa više prozora, kompajliranje. Pomoć se dobija sa ^KH. Izbor opcija se vrši kursorom. Uklanjanje dela ekrana sa uputstvom je sa ^KH.

Neke od opcija u editoru joe su:

^[. Next screen Sledeća strana helpa. Umesto ^[ može se koristiti i ESC.
^
[, Previous screen Prethodna strana helpa.
^U Previous screen.
^V Next screen.
^A Begin line.
^E End line.
^KU Begin file.
^KV End file.
^KL To line number.
^KE New file.
^- Undo.
^KX Save and Exit.
^KS Save As.
^C Exit without save (abort).
^R Refresh.
^KB Begin block.
^KK End block.
^KC Copy block. Blok mora biti prethodno selektovan sa ^ KB i ^KK.
^KM Move block.
^KY Delete block.
^KF Find string (
\n za new line, \\ za \, …).
^L Find next.
^Y Delete line.

 

Često se koriste i editori vi i emacs koji su standardni za UNIX, i smatraju su komplikovanijim po načinu rada od editora joe, a emacs nudi i više mogušnosti u radu.
Fajlovi iz home direktorijuma koji se po defaultu koriste: .login izvršava se prilikom svakog logovanja (prijavljivanja) .logout izvršava se prilikom svakog odjavljivanja .tcshrcizvršava se pri otvaranju novog shella ako se koristi tcsh (kao autoexec.bat u DOS-u). Tu se postavljaju mesg, alias, set… .bashrc isto kao .tcshrc samo za shell bash .forward omogućuje da primanje pošte bude preusmereno na drugi nalog. Sam fajl sadrži adrese (po jedna u svakom redu) kojima će se slati nove poruke. Ako želimo da pored slanja na druge, nove poruke ostanu i na tekućem nalogu, u .forward dodaćemo i adresu tekućeg naloga. Pri tom neće biti rekurzivne raspodele novih poruka. Ovo se najčešće radi kada imamo više naloga, a želimo da čitamo poštu samo na jednom od njih, i tada se na ostalim nalozima napravi po jedan .forward fajl u kome piše samo adresa ciljnog naloga. Da li se i gde nekoj osobi pošta forwarduje vidi se pomoću naredbe finger. .history fajl čuva izvestan broj komandi koje su poslednje korišćene, pa ako je podešeno set history=100, pamtiće se 100 poslednje otkucanih komandi .plan ovde se navode planovi, a plan za bilo koju osobu se vidi pomoću finger DEADJOEto je poslednji fajl čije editovanje nije uspešno privedeno kraju. Može se desiti iz raznih razloga da računar na kome se radi se blokira ili nestane struja, ali ono što je rađeno nije izgubljeno već se čuva u ovom fajlu. UNIX spada među stabilnije OS-e.
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).

Fajlovi koje koristi pine:
.pinerc Konfiguracija za pine. Učitava se prilikom svakog startovanja pinea.
.addressbook U njemu se čuvaju adrese poznanika.
.addressbook.lu Pomoćni fajl vezan za adrese.
.signature Sadržaj ovog fajla će se pojaviti kao deo svake poruke koju pišemo. Kao što mu i samo ime kaže, služi za potpis.
mail/sent-mail Tu se čuvaju poruke koje smo poslali.
mail/saved-messages Ovde su poruke koje čuvamo.
mail/postponed-messages Ovde su poruke koje još nismo završili.
dead.letter Sve neuspele (i prekinute) akcije u vezi pisanja pisama u pineu se čuvaju u ovom fajlu. Komentar je isti kao za DEADJOE.

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

  • echo "<poruka>" Ispisuje poruku.
  • echo "Neki tekst" > <fajl> Piše poruku u fajl. Prethodni sadržaj fajla biva obrisan.
  • echo "Neki novi tekst" >> <fajl> Dopisuje poruku na kraj fajla.

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.

  • echo Prvi red"\n"Drugi red Primer koji radi u shellu tcsh.
  • last Lista ko se kad radio na serveru počev od nekog datuma.
  • last <username> Isto to samo sa odre|enu osobu.
  • last mr0211 | more Primer.
  • last root | more Root i logovanja
  • alias <skraćenica> "<puna komanda>" Na ovaj način u shellu tcsh formiramo skraćenice za odre|ene komande koje kasnije koristimo. Skraćenice su aktivne dok se ne izlogujemo.
  • alias <skraćenica>="<puna komanda>" Isto to samo za shell bash.
  • alias l "ls -l" Pravimo skraćenicu l ako koristimo shell tcsh.
  • alias l="ls -l" Pravimo skraćenicu l ako koristimo shell bash.
  • l Sad je ovo isto kao da smo otkucali ls -l.
  • alias Spisak svih alijasa.
  • unalias <skraćenica> - Brisanje definicije za <skraćenicu>.

Aliasi su takođe mogući i za username. To ne menja proceduru pri logovanju, već samo drugim korisnicima olakšava slanje poruka ka tom username-u. Za jedan username moguće je imati više aliasa. Dobijanje alias-a za username, može odobriti root kome se treba obratiti u datom slučaju.

date
prikaz tekućeg sistemskog datuma i vremena
date "+%H:%M:%S"
prikazuje sate, minute i sekunde
cal
prikazuje kalendar za tekući mesec.
cal -y
prikazuje kalendar za tekuću godinu
cal -j
prikazuje Julijanski kalendar (a ne Gregorijanski kalendar)
bc
pokreće kalkulator iz kog se izlazi se sa quit. (deljenje je celobrojno)
bc[fajlovi]
pokreće kalkulator koji proračunava izraze iz zadatih fajlova, a zahteva se i da korisnik pruži izraze za poračune
bc -l
kalkulator sa standardnom matematičkom bibliotekom
wc <lista fajlova> brojač redova, reči i karaktera u fajlovima ili standardnom ulazu (ako nije navedena lista)
wc -L ispisuje dužinu najduže linije
wc -l <lista fajlova> broji prelaske u novi red
wc -w <lista fajlova> broji reči (niz znakova koji ne sadrži tzv. "bele karaktere" )
wc -c <lista fajlova> broji samo karaktere
du [opcije] < lista_fajlova_direktorijuma > disk usage - ispisuje informaciju o broju kilobajtima zauzetih od strane pojedinih direktorijuma i fajlova, a ako lista nije navedena, podrazumeva se tekući direktorijum
du -b ispisuje se veličina u u bajtovima, umesto u blokobima od 1 KB
du -a ispisuje svaki fajl sa njegovom veličinom
du -s ispisuje ukupni prostror, umesto prostora za svaki direktorijum
du ̃ ispis informacija za user-ov home direktorijum
du -x ignori&353;u se svi fajl sistemi sem tekućeg
df [opcije] [fajl_sistemi] disk free- ispisuje slobodan i zauzet prostor na montiranim particijama, a ukoliko se ne navedu fajl sistemi o kojima se traze podaci, onda se ispisju podaci o svim fajl sistemima koji su trenutno montirani na Linux-u
df -a ispisuje i fajl sisteme sa 0 blokova, koji se po default-u izostavljaju
df -k ispisuje veličinu u kilobajtima
df -tfs ispisuje informacije samo o fajl sistemima tipa fs
df -xfs ispisuje informacije o fajl sistemima koji nisu tipa fs
quota [-v]informacije o prostoru na hard disku koji je na raspolaganju

Značenje parametara u naredbi quota:
blocks Broj zauzetih kilobajta.
quota Ukupan raspoloživi prostor.
limit Maksimalan raspoloživi prostor. Svaki kilobajt preko kvote (quota) se mora izbrisati u roku od 7 dana, što čini grace period.

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.

  • head <fajl> Ispisuje pocetak fajla (prvih 10 redova)
  • head -num <fajl>     Ispisuje prvih num redova fajla
  • tail <fajl> Ispisuje kraj fajla (poslednjih 10 redova).
  • tail -num <fajl>     Ispisuje poslednjih num redova fajla
  • tail -f <fajl> Ispisuje kraj fajla, kao i redove koji se naknadno (recimo iz drugog procesa) dopisuju u fajl.
  • which <file> Gde je na disku fajl koji se startuje tim imenom.
  • which Ovako se dobija gde se nalazi program za promenu šifre.
  • tcsh Startuje se novi tcsh shell. Izlaz je sa exit.
  • bash Startuje se novi bash shell. Izlaz je sa exit.

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>
cat /etc/passwd |grep <username> informacije o osobi username
grep -a <uzorak> <lista> procesira binarni fajl kao da je tekstualni fajl
grep -b <uzorak> <lista> prikazuje i broj bajta fajla od kog počinje pronađena linija
grep -c <uzorak> <lista> prikazuje broj pronađenih linija u kojima se nalazi <uzorak>
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, te se razvijaju u listu, a da bi se to izbeglo koristi se opcija -F
grep -H <uzorak> <lista fajlova> ispred svake pronađene linije ispisuje i naziv fajla u kom je <uzorak> pronađen
grep -h <uzorak> <lista fajlova> za razliku od -H, uz prikaz pronađene linije, ne ispisuje i naziv fajla u kom je <uzorak> pronađen
grep -i <uzorak> <lista fajlova> pri pretrazi se zanemaruje veličina slova i u uzorku i u listi fajlova koji se pretražuju
grep -x ’<tekst>’ spisak svih linija koje sadrže jedino <tekst>
grep -n <uzorak> <lista fajlova> pored svake linije ispisuje i njen redni broj (prefiksuje sadrzaj)
grep -E ’<regularni izraz>’ prikazuje sve linija koje sadrže <regularan izraz>

Regularan izraz može da sadrži:
^ Početak linije.
$ Kraj linije.
. Bilo koji karakter.
[<lista karaktera>] Tačno jedan karakter iz skupa u zagradama: [1-2abc9-D].
[^<lista karaktera>] Tačno jedan karakter koji nije me|u navedenim.
<izraz>
{n} <izraz> se pojavljuje n puta.
<izraz>* Pojavljuje se 0, 1, ili više puta.
<izraz>+ Pojavljuje se bar jednom.
<izraz>? Pojavljuje se 0 ili jednom.

  • grep -E ’.’ <lista fajlova> Lista sve neprazne linije u fajlovima.
  • grep -Ev ’.’ <lista fajlova> Lista sve prazne linije u fajlovima.
  • grep -E ’i$’ <file> Ispisuje sve linije koje se završavaju slovom i.
  • grep -E ’^A’ <file>l Ispisuje sve linije koje počinju slovom A.
  • grep -E ’^ [WPM]’ <file> Ispisuje sve linije koje počinju sa W, P ili M.
  • grep -E ’^[^C-E]’ <file> Ispisuje sve linije koje ne počinju slovima C, D ili E.
  • grep -E ’[1-2] [0-2]’ <file> Ispisuje sve linije u kojima su brojevi 10, 11, 12, 20, 21 ili 22.

 

  • sort <lista fajlova> prikazuje sortirane redove jednog ili više fajla - ako nema zadatih fajlova, onda se sortiraju podaci sa standardnog ulaza i prikazuju se na standardni izlaz
  • sort +1 <lista fajlova> Sortira po drugom polju, tj. po polju posle prvog tabulatora, uključujući i beline (blankove). Po defaultu, separator je tabulator.
  • sort +1b <lista fajlova> Sortira po drugom polju. Ignoriše beline na početku drugog polja.
  • sort +2 -n <lista fajlova> Sortira po trećoj koloni. n oznacava da se sortira po brojevima, pa će broj 2 da stoji pre 10.
  • sort +2n <lista fajlova> Isto kao malopre, jedino je zapis kraći.
  • sort +2nr <lista fajlova> Slično, samo u obrnutom redosledu.
  • w | sort Sortira izlaz naredbe w.
  • w | sort +3 Sortira po četvrtoj koloni (bukvalno: sortira po koloni posle trećeg tabulatora).
  • sort f <lista fajlova> Pri sortiranju se ne razlikuju mala i velika slova (ignore case).
  • find [<direktorijum>] <expression> [tampaju se direktorijumi, fajlovi i poddirektorijumi.
  • find [<direktorijum>] -name <ime fajla> <akcija> Ime fajla se stavlja pod navodnike ako su u imenu neki od rezervisanih karaktera (npr. *). Ako se ne navede akcija, podrazumeva se štampanje na ekran.
  • find ̃ -name "*" Lista sve fajlove u home direktorijumu i njegovim poddirektorijumima.
  • find / -name <fajl> Lista sve pojave fajla u svim direktorijumima hard diska.
  • find . -name <fajl> Lista sve pojave fajla od tekućeg direktorijuma naniže.
  • find [<direktorijum>] -name <fajl> -print [tampanje (ovo je default akcija).
  • find [<direktorijum>] -name <ime fajla> -exec <komanda> Izvršava komandu koju navedemo nad fajlovima koje je pronašao kao argumentima (ako imamo pristup tim fajlovima).
  • find [<direktorijum>] -perm <ovlašćenje> Traži fajlove po ovlašćenju.
  • find -perm 700 Primer.
  • 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.

  • zip <arhiva> <lista fajlova> Kompatibilan sa pkzipom i Winzipom. Ovako se pakuje.
  • zip -T <arhiva> Testiranje ispravnosti zip arhive.
  • unzip <arhiva> Raspakivanje zip arhive. Ponekad je potrebno koristiti opciju -d da bi se raspakovali i direktorijumi.
  • unzip -a <arhiva> Kad se nešto zipuje u DOS-u, tada će tekst fajlove raspakovati kako treba (CR LF ce biti LF) (slično ascii prenosu podataka). Ne koristiti za raspakivanje binarnih fajlova.
  • unzip -l <arhiva> Lista sadržaj zipa.
  • unzip -t <arhiva> Testiramo ispravnost zipa.
  • unzip -x <arhiva> <lista fajlova> Raspakovaćemo samo fajlove koji su u listi.

Tekstualni browser-i

Nakon pravilnog povezivanja Linux sistema sa Internetom, možete krenuti na krstarenje World Wide Web-om

Iako mnogi misle 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 Manager ili neko desktop okruženje predstavlja Vaš izbor, postoje situacije kada i tekstualni web browser-i mogu biti korisni:

  • Tekstualni browser-i su korisni za pretragu HTML dokumenta/Web-a na sistemu na kome nema X Window (npr. sa konzole servera ili znakovnog terminala priključenog na mrežu pod Unixom)
  • Konzolni browser-i su izuzetno korisni, ako Vam je bitna brzina pretraživanja.
  • Brza transformacija HTMLa u ASCII.
    Svi konzolni pretraživači imaju mogućnost da konvertuju HTML fajlove u obične tekstualne fajlove iz komandne linije (što znači da možet povezati ASCII izlaz sa drugim programima zabog dalje obrade.
  • Ukoliko Vaša mašina nije dovoljno jaka da podrži grafičke web pretraživače.
    Grafički web pretraživači zahtevaju prilične resurse (i neizbežno je dodatno opterećenje sistema kada se pokreće grafički browser), dok su konzolni pretraživači veoma skromni (oko 1 do 2 MB RAM-a i gotovo nikakvo zauzeće procesora).
  • Ukoliko ne želite da koristite X okruženje.
    Ukoliko X-ovi ne rade ili ne možete da ih podesite, dobro je imati pretaživač kojim možete surfovati po Internetu i bez prozora. Recimo, upravo ste izašli iz X okruženja, a zaboravili ste da nešto pogledate na www.matf.bg.ac.yu. Umesto da ponovo startujete X-ove, možete koristiti konzolni pretraživač.
  • Sami kreirate web stranice.
    Konzolni pretraživači vam mogu prikayati da li vaše web stranice imaju smisla u konzolnim pretraživačima tj. bez grafike. Ne zaboravite da neki ljudi koriste konzolne pretraživače jer im je to jedini način da se kreću po Internetu. Ali još je važnije da ako stranica ima smisla i dobro se prikazuje u konzolnom pretraživaču, velika veravatnoća je da je dobro strukturisana što opet znači da će posetioci imati najviše koristi od toga.
  • lynx Služi kao browser za Internet Izlaz je sa Q (quit).
  • Informacije o brauzeru Lynx mogu da se dobiju na:

    Lynx (čita se slično reči <>EM>links, iako znači ris) 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).

Lynx je stariji po poreklu od Netscape-ovih proizvoda. Potiče iz vremena kada je upotreba Web tehnologije bila usmerena ka prenosu relativno manjih količina naučnih podataka isključivo u tekstualnom formatu u jednostavnom sistemu sa hipertekst vezama.

Lynx je postao standard za sve tekstualne browser-e pod Unix-om i njegov razvoj je nastavljen i isporučuje se gotovo uz svaku distribuciju Linux-a.

Slike se mogu gledati nekim pokazivačima slika, i to samo jedna po jedna ili na pojedinačan način. Čak može da se prikaže i sadržaj Web prezentacije koje su napisane uz pomoć frejmova. (bez obzira na upozorenja tipa da "Vaš brauzer ne podržava frejmove",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. Ako je Lynx pokrenut u prozoru xterm, možete ga podesiti tako da slike gledate u posebnom prozoru pomoću programa xv.

Ako Lynx pokrenete komandom lynx bez argumenata, on će pokušati da otvori Web stranu koja je zadata kao podrazumevana. Ako ste sami preveli Lynx, to će, verovatno, biti http://lynx.browser.org

Lynx prihvata i više opcija koje utiču na njegovo ponašanje, a potpuni spisak se može doboti pomoću opcije -?
lynx -?

Tokom krstarenja Web-om posredstvom Lynx-a, najčešće nije potrebno da se upotrebljavaju ove opcije za komandnu liniju.


Naredbe za lynx za kretanje po Web-u koju su u vezi za određene tastere su navedene u poslednja dva reda ekrana. Neke od najbitnijih su:
G
Go - postavlja se zahtev da unesete URL (upišete adresu koju želite da posetite) i pritisnete <ENTER> da biste otvorili stranu.
<-
Strelica ulevo za vraćanje na prethodni link.
->
Strelica udesno nas šalje na novi link (gde smo pozicionirani kursorom na ekranu).
H
Lynx sistem za pomoć

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.

Links može da se nađe na ovoj adresi:

Mnogi smatraju da je Links naslednik Lynx browser-a. On poseduje i opcije za ispravno prikazivanje horizontalnih tabela i frejmova, ograničenu podršku za JavaScript, padajuće menije a poslednja verzija poseduje i osnovni grafički mod za X-ove.

Links se startuje kao i Lynx:

links www.matf.bg.ac.yu

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. Zato koristite <SPACE> .
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.

Pritisnite <ESC> taster da bi aktivirali meni bar (ili kliknite na prvu liniju u terminalu sa vašim mišem) i koristite tastere sa strelicama za navigaciju. Podmeniji se aktiviraju sa tasterom <ENTER> a zatvaraju sa tasterom <ESC>. 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.

Kao i Lynx, Links poseduje '-dump' opciju za konvertovanje 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.

Postoji i 'eksperimentalna' verzija Links-a, ELinks sa poboljšanim rukovanjem Cookie-ja i još nekim poboljšanjima.

Raspored tastera je prikazan u README fajlu u '/usr/share/doc/links-version', a ostale informacije možete skupiti pomoću naredbe man links i Links User Reference Manual.

  • ps   (process status) spisak procesa koji se izvršavaju
    (ako se zada konkretan proces, onda se prikaz odnosi na njega, ali ako nisu zadate ni opcije, ni argumenti, prikaz se odnosi na tekuce procese kojima upravlja korisnik)
  • ps a     kao prethodno, ali za sve procese (all).
  • ps u <username> Prikaz svih pokrenutih procesa za <username>. Kod nekih verzija UNIX-a ps daje samo spisak procesa u screenu.
  • ps l Kompletan prikaz procesa koji se izvršavaju (sa prioritetima).
  • ps ax Prikazuje trenutne procese svih ljudi (i od roota) i procese koji nisu vezani za terminal. Opcija x se najviše koristi za otkrivanje procesa koji su se otrgli kontroli.
  • ps ax | more Lista stranu po stranu.
  • ps auvx Ovako ćemo naći sve procese koji su pokrenuti, čak i one koji trenutno spavaju.

U nekim verzijama UNIX-a ispred ovih opcija potrebno je navesti crtu (-).

Statusi procesa u komandi ps:
D Uninteruptible sleeping.
R Runnable.
S Sleeping.
T Stopped or Traced (suspended).
Z Zombie.

Suspendovanje procesa vrši se pritiskom na ^Z.

  • jobs Prikazuje suspendovane procese i one u pozadini sa njihovim brojem.
  • bg %<job> Prebacuje suspendovani proces čiji je broj joba <job> u pozadinu (background), pa proces počinje da se izvršava (ne ceka).
  • fg %<job> Prebacuje supsendovani proces čiji je broj joba <job> u foreground (isto kao pre pritiska ^Z).

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).

UNIX korak dalje

U DOS-u environment se setuje sa: set. U UNIX-u je slično.

  • set <promenljiva> = <string> Ako koristimo shell tcsh.
  • <promenljiva> = <string> Ako koristimo shell bash.

U oba slučaja, kad ne navedemo <string>, <promenljiva> postaje prazan string.

  • echo $<promenljiva> Ispisuje vrednost promenljive.
  • set direktorijum = /etc Definisanje promenljive direktorijum.
  • cat $direktorijum/passwd Ispisuje fajl /etc/passwd.
  • set nalozi = $direktorijum/passwd Vrednost promenljive direktorijum se odmah zamenjuje, tako da naknadna promena vrednosti te promenljive ne utiče na promenljivu nalozi.
  • echo $nalozi Ispis promenljive nalozi.
  • cat $nalozi Ispisuje fajl /etc/passwd.
  • set catnalozi = "cat $nalozi" Ovde moraju da stoje navodnici zbog blanka.
  • $catnalozi Izvršava komandu.
  • set Spisak svih setovanih promenljivih.
  • set vreme = ’date’ Promenljivoj vreme dodeljujemo string date.
  • set vreme = ‘date‘ Ovi navodnici znače da će se prvo izvršiti komanda date, pa će se tek onda novi string dodeliti promenljivoj.
  • echo $vreme Ispis vremena u koje smo definisali promenljivu vreme.
  • set ja=‘who am i | cut -d" " -f1 | cut -d! -f2‘ Kad navedemo ovakav apostrof (‘), prvo se izvršava komanda pod apostrofom, pa se tek onda izvršava naredba set. To važi i za sve ostale naredbe.
  • echo $ja Ispis ranije izvršene komande, jer je izlaz te komande zapamćen u promenljivoj ja.
  • 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 %.
  • set prompt="%B%m%b%/>" Ovo je preporuka za prompt. Ova linija se stavi u .tcshrc.

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.

  • 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.
  • groupadd -g <gid> <ime grupe> Dodavanje grupe sa identifikacionim brojem <gid>.
  • useradd <opcije> <login> Dodavanje korisnika <login>.

Opcije pri dodavanju korisnika su:
-d <home dir> Postavljanje home direktorijuma.
-s <shell> Postavljanje shella.
-u <uid> User ID Postavljanje identifikacionog broja korisnika.
-G <group> - Svrstavanje korisnika u navedenu grupu.

  • passwd -i <broj dana> <login> Broj dana dok ne istekne password.
  • date MMDDhhmm[ [ CC]YY] [.ss] - Setovanje datuma.

Oznake u naredbi date su:
MM Month Mesec.
DD Day within month Dan u mesecu.
hh Hour Sati.
mm Minute Minuti.
CC Početne dve cifre godine.
YY Poslednje dve cifre godine.
ss Second Sekunde.

  • 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.
strelica Instalacija Mandrake 9.0

strelicaLevo Start strelicaDesno Programiranje 1