3.0 Osnove UNIX konzole i sistem direktorijuma


Početna strana

   
3.6 Dozvole
    Dozvole su jedna od odlika višekorisničkih operativnih sistema. Pomoću njih se određuje ko može čitati, pistati(mijenjati) i izvršavati datoteke tj. svaka datoteka, kao i direktorijum, koja postoji na sistemu ima određeni skup dozvola koje se odnose kako na vlasnika tako i na druge korisnike, kao i grupe kojima oni pripadaju.
    Postoje četiri skupa dozvola, a svakom skupu odgovara određena pozicija oktalne cifre koja može imati različite vrijednosti. Prve tri pozicije su za skupove dozvola koje se odnose na vlasnika, druge tri se odnose na grupu kojoj pripada vlasnik, a zadnje tri na sve druge korisnike. Četvrta oktalna cifra se koristi za postavljanje tkz. specijalnih dozvola tj. ID korisnika, ID grupe i ljepljivog (sticky) bita. Oktalne vrijednosti koje se odnose na dozvole (takođe postoje i odgovarajuća slova) su :

Tip dozvole
Oktalna vrijednost
Slovo dozvole
"sticky" bit
1
t
ID korisnika
4
s
ID grupe
2
s
čitanje
4
r
pisanje
2
w
izvršavanje
1
x

Da biste dobili oktalan broj koji reprezentuje skup dozvola, sabirate pojedinačne vrijednosti dozvola u skupu (vrijednosti navedene u gornjoj tabeli). Npr. dozvola za "čitanje" i "pisanje" bila bi 6.

xy@debian:~$ls -l /bin/bash                                      #izlistavamo dozvole za datoteku "bash" koja se nalazi u /bin direktorijumu
-rwxr-xr-x  1 root root 625228 2004-12-19 17:53 /bin/bash

Prva kolona tj. -rwxr-xr-x definiše dozvole za datoteku bash. U slučaju da se radi o direktorijumu, prva crtica bi bila zamjenjena slovom "d". Potom su prikazane tri grupe dozvola koje predstavljaju dozvole za vlasnika, grupu kojoj datoteka pripada i za sve druge korisnike na sistemu.

-rwxr-xr-x
rwx
r-x
r-x
Dozvole za vlasnika.
Vlasnik može da čita (r), mijenja (w) i izvršava (x) datoteku.
Dozvole za korisnike koji su pripadnici grupe kojoj i sama datoteka pripada.
Pripadnici grupe mogu da čitaju(r) i izvršavaju(x) datoteku, ali ne mogu da je mijenjaju (-).
Dozvole za sve ostale korisnike na sistemu.
Ostali korisnici mogu da čitaju (r) i izvršavaju (x) datoteku, ali ne mogu da je mijenjaju (-).

Kako bi bolje razumjeli kako dozvole funkcionišu, napravićemo proizvoljnu datoteku i postaviti joj dozvole kao i za datoteku bash.

xy@debian:~$touch primjer                           #pravimo datoteku koju ćemo nazvati "primjer"
xy@debian:~$ls -l primjer                           #izlistavamo trenutne dozvole za datoteku "primjer"
-rw-r--r--  1 xy xy 0 2006-03-24 21:09 primjer
xy@debian:~$chmod 755 primjer                       #mijenjamo dozvole za datoteku "primjer" komandom chmod
xy@debian:~$ls -l primjer
-rwxr-xr-x  1 xy xy 0 2006-03-24 21:09 primjer
 
Koristili smo komandu chmod kako bi postavili dozvole za datoteku koju smo napravili. Komandu chmod je prilično jednostavno koristiti - potrebno je samo navesti oktalne brojeve dozvola koje želimo postaviti, a potom i ime direktorijuma ili datoteke na koju se odnose (kao u prethodnom primjeru).
    U prethodnom primjeru iskoristili smo broj 755 kako bi postavili odgovarajuće dozvole za novu datoteku. Prvi broj (7) se odnosi na dozvole vlasnika i taj broj smo dobili sabiranjem oktalnih vrijednosti dozvola. Pošto vlasnik određene datoteke treba da ima pravo da čita, piše i izvršava tu datoteku sabrali smo oktalne vrijednosti koje se odnose na navedene dozvole (4, 2 i 1) i na taj način dobili broj koji određuje dozvole za novu datoteku, a koje se odnose na vlasnika. Drugi broj se odnosi na grupu kojoj datoteka pripada tj. na korisnike koji pripadaju toj grupi, dok se treći broj odnosi na sve druge korisnike na sistemu. Takođe, drugi i treći broj smo dobili na identičan način kao i broj za dozvole vlasnika (sabiranjem brojeva 4 i 1 tj. oktalnih vrijednosti koje se odnose na dozvole za čitanje i izvršavanje).
    Pored brojeva za postavljanje dozvola pomoću komande chmod, možemo koristiti i slova.

Dozvola se odnosi na:

vlasnika
u
grupu
g
druge korisnike
o
sve(gore navedene)
a

Da bismo postavili iste dozvole za datoteku, kao i u prethodnom primjeru, potrebno je nešto više kucanja :

xy@debian:~$chmod a+rx primjer                     #dozvoljavamo vlasniku,drugim korisnicima,kao i pripadnicima grupe čitanje i izvršavanje datoteke
xy@debian:~$chmod u+w primjer                      #dozvoljavamo vlasniku pisanje tj. mijenjanje datoteke

Kada komandu chmod koristimo za postavljanje dozvola pomoću slova, prvo navodimo slovo koje govori komandi na koga se navedene dozvole odnose, potom znak plus (+), a zatim i željene dozvole. Npr. a+rx govori komandi da dozvole za pisanje (r) i izvršavanje (x) postavi za vlasnika datoteke, pripadnike grupe kojoj datoteke pripada, kao i sve druge korisnike na sistemu. Dok u+w govori komandi chmod da za vlasnika datoteke (u) postavi dozvolu za pisanje tj. mijenjanje (w).
    Razlika između postavljanja dozvola pomoću oktalnih brojeva i slova je prvenstveno u brzini, ali na kraju je rezultat isti. Pomoću oktalnih brojeva moguće je postaviti dozvole za određenu datoteku/direktorijum znatno brže nego upotrebom slova, međutim i slova imaju svoje prednosti. Na primjer, ako želimo da promjenimo samo jedan skup dozvola (npr. dozvole koje se odnose samo na vlasnika datoteke/direktorijuma) pomoću slova ćemo to znatno lakše učiniti, jer upotrebom oktalnih brojeva znatno je teže promjeniti jedan skup dozvola a da se druge očuvaju.
    Kada pokrećete određenu datoteku, ona se izvršava pod vašim korisničkim imenom, odnosno sa dozvolama koje vi posjedujete. Isto važi i za vašu grupu tj. ako na sistemu pripadate nekoj grupi, kada pokrećete određenu datoteku čiji niste vlasnik a koja pripada istoj grupi kao i vi, ova datoteka će se izvršiti sa dozvolama koje su postavljene za tu grupu.
     Postavljanjem ID korisnika podešavamo datoteku da se uvijek pokreće sa pravima vlasnika te datoteke. Postavljanjem "ID grupe" radimo isto kao i za "ID korisnika", samo što se odnosi na grupu kojoj datoteka pripada. Takođe, postavljanjem sticky bita, postavljamo dozvolu koja dozvoljava samo vlasniku da briše svoje datoteke i direktorijume, bez obzira na dozvole koje važe za grupu i druge korisnike.
    Sa postavljanjem specijalnih dozvola treba biti posebno oprezan, prevenstveno zbog mogućih bezbjednosnih propusta. Npr. postavljanjem ovih dozvola za datoteke koje se nalaze u vlasništvu administratora sistema (root) dozvoljavate praktično svakom korisniku da pokreće tu datoteku kao administrator tj. korisnik koji nema ograničenja na sistemu. Stoga, specijalne dozvole prvenstveno treba postavljati na "obične" datoteke tj. datoteke koje ne mogu ugroziti bezbjednost sistema (npr. programe, igrice itd.).
    Postavljanje specijalnih dozvola je identično postavljanju drugih dozvola. Znači, korištenjem oktalnih brojeva ili korištenjem slova, upotrebom komande chmod. S tim da kod postavljanja specijalnih dozvola upotrebom oktalnih brojeva, prvo navodimo oktalni broj koji se odnosi na specijalne dozvole, a potom oktalne brojeve za druge skupove dozvola.

xy@debian:~$touch primjer0
xy@debian:~$ls -l primjer0
-rw-r--r--  1 xy xy 0 2006-03-24 22:41 primjer0
xy@debian:~$chmod 1755 primjer0                      #postavljamo sticky bit za datoteku primjer0
xy@debian:~$ls -l primjer0                          
-rwxr-xr-t  1 xy xy 0 2006-03-27 19:12 primjer0      #postavili smo sticky bit,koji je u definiciji dozvola označen slovom t
xy@debian:~$chmod 7755 primjer0                      #postavljamo ID korisnika i ID grupe i sticky bit
xy@debian:~$ls -l primjer0
-rwsr-sr-t  1 xy xy 0 2006-03-27 19:19 primjer0      #postavili smo ID korsinika i ID grupe,koje su u definiciji dozvole označene slovom s

Ponovićemo prethodan primjer, s tim da ćemo sad dozvole postaviti upotrebom slova :

xy@debian:~$chmod a+trx primjer0                       #postavljamo sticky bit uz neke druge dozvole
xy@debian:~$chmod u+w primjer0                         #dozvoljavamo vlasniku pisanje tj. mijenjanje datoteke
xy@debian:~$ls -l primjer0
-rwxr-xr-t  1 xy xy 0 2006-03-27 19:12 primjer0        #rezultat je identičan
xy@debian:~$chmod a+rx primjer0                        #dozvoljavamo vlasniku,drugim korisnicima,kao i pripadnicima grupe čitanje i izvršavanje datoteke
xy@debian:~$chmod u+sw primjer0                        #postavljamo dozvole za vlasnika i specijalnu dozvolu ID korisnika
xy@debian:~$chmod g+s primjer0                         #postavljamo specijalnu dozvolu ID grupe
xy@debian:~$ls -l primjer0
-rwsr-sr-t  1 xy xy 0 2006-03-27 19:19 primjer0        #pošto smo već postavili sticky bit,nije bilo potrebno da ga ponovo navodimo

3.7 Procesi
    Svaki program koje pokrenete naziva se proces. U procese možemo svrstati sve programe od npr. najobičnijih igara do sistemskih programa (daemon) koji se pokreću kad se i sam sistem pokreće. Svaki proces ima svog vlasnika tj. onog korisnika koji ga je pokrenuo. Sistemski procesi su uvijek u vlasništvu administratora sistema (root korisnika). Procese koje vi pokrenete sistem će staviti pod vaše vlasništvo, dok procesi koje pokrenu drugi korisnici biće pod njihovim vlasništvom. Takođe, svaki korisnik je u mogućnosti da kontroliše procese koje je pokrenuo pomoću određenih komandi, dok administrator sistema je u mogućnosti da kontroliše sve procese, u svako vrijeme i bez obzira na njihovo vlasništvo.
    Kada pokrećete određeni program u konzoli, on se nalazi u prvom planu. Tako u većini slučajeva niste u mogućnosti raditi nešto drugo dok taj program radi. Iz tog razloga, u konzoli je moguće pokrenuti program tako da on i dalje radi ono za šta je namijenjen, a da pritom ne ometa vaš dalji rad (jer radi u pozadini).
   Jedan od načina da neki proces postavimo u pozadinu je pomoću znaka ampersand (&) koji se navodi poslije komande koju pokrećemo. Npr. ako čitate man stranice za neku komandu za koju su navedeni primjeri i želite da isprobate te primjere, ali da ne izlazite iz man stranica, možete pristupiti komandoj liniji postavljanjem man stranica u pozadinu, a kasnije se ponovo možete vratiti na isto mjesto na man stranicama.

xy@debian:~$vim &                  #pokrećemo editor vim i stavljamo proces u pozadinu
xy@debian:~$                       #možemo dalje nastaviti sa radom bez obzira na proces u pozadini

Napomena:
Kada pokrećete neki program u pozadini, konzola nam često ne prikaže odmah komandnu liniju. U tom slučaju pritisnuti tipku ENTER.

    Drugi način da postavimo određeni program u pozadinu je kombinacijom tipki CTRL+Z. Prvo pokrenemo program na normalan način, kucanjem njegovog imena. Potom kombinacijom tipki CTRL+Z suspendujemo, odnosno pauziramo djelovanje tog programa. Pristupanjem komandoj liniji i kucanjem komande bg taj proces postavljamo u pozadinu.

xy@debian:~$man cp               #kada se man stranice otvore pritisnite kombinaciju tipki - CTRL+Z
xy@debian:~$bg                   #postavljamo suspendovani proces u pozadinu
    Ako treba da pristupite nekom procesu u pozadini taj proces morate postaviti u prvi plan. Npr. ako imate samo jedan proces u pozadini, da bi ga stavili u prvi plan potrebno je otkucati komadnu fg.

xy@debian:~$man cp               #kada se man stranice otvore pritisnite kombinaciju tipki - CTRL+Z
xy@debian:~$bg                   #postavljamo suspendovani proces u pozadinu
xy@debian:~$fg                   #postavljate pozadinski proces u prvi plan

Ako se rad programa koji postavljate u prvi plan nije završio, taj program će ponovo preuzeti kontrolu nad vašom komandnom linijom. Međutim, često će određeni proces koji ste postavili u pozadinu završiti sa svojim radom, pa ćete dobiti poruku o zavšenom procesu u sledećem obliku :

[1]   Done           naziv_procesa
      
Nekad se može desiti da u pozadini radi više procesa u isto vrijeme. U tom slučaju potrebno je navesti koji tačno proces želite vratiti u prvi plan, jer kucanjem komande fg u prvi plan stavljate onaj proces koji ste zadnji postavili u pozadinu. Iz tog razloga u konzoli postoji komanda jobs koja izlistava sve procese koji se nalaze u pozadini.

xy@debian:~$vim &                       #postavljate editor vim u pozadinu
xy@debian:~$man cp &                    #postavljate man stranice za komandu cp u pozadinu
xy@debian:~$jobs                        #izlistavate sve procese koji se nalaze u pozadini
[1]-  Stopped                 vim
[2]+  Stopped                 man cp
xy@debian:~$fg 2                        #postavljate u prvi plan proces pod red.brojem 1,odnosno editor vim,upotrebom komande fg

Komanda jobs nam prikazuje listu svih procesa koji se trenutno nalaze u pozadini (kao što se može vidjeti u prethodnom primjeru, svi su stopirani). Svaki proces ima svoj redni broj, pa tako i oni procesi koji se nalaze u pozadini. Pored rednog broja samo jedan proces može imati znak plus (+), koji označava onaj proces koji je zadnji postavljen u pozadinu. Stoga kucanjem same komande fg bez navođenja rednog broja procesa, možete ga postaviti u prvi plan.
    Pozadinski procesi su posebno korisni kada imate pristup samo jednoj virtualnoj konzoli (npr. pristupom nekom sistemu preko interneta). Na taj način, upotrebom pozadinskih procesa možete pokrenuti nekolicinu programa i prelaziti sa jednog na drugi bez potrebe za prekidanjem rada nekog bilo kojeg od njih.
Komanda ps se koristi za prikazivanje procesa koji rade u tom trenutku. Ako otkucamo samo komandu ps, konzola će nam izlistati sve procese u prvom planu (uključujući i proces koji smo pokrenuli izdavanjem komande ps), kao i pozadinske procese koji se odvijaju na pokrenutoj virtualnoj konzoli. Kucanjem same komande ps, bez navođenja dodatnih opcija, u većini slučajeva dobićemo relativno kratku listu, jer se prikazuju samo procesi u tekućoj virtualnoj konzoli.

xy@debian:~$ps
  PID TTY          TIME CMD
 5558 tty2    00:00:00 bash
 5562 tty2    00:00:00 ps

Lista koju nam izlistava komanda ps je podjeljena u nekoliko kolona, u cilju lakšeg snalaženja među informacijama. Objašnjenje tih kolona je sledeće :

PID
TTY
TIME
CMD
Identifikacioni broj procesa.Svaki proces ima svoj ID broj, koji može biti u rangu 1 - 32767. Kada se proces završi on predaje svoj PID.
Ova kolona se odnosi na virtualnu konzolu u kojoj je pokrenut određeni proces. tty2 označava da je proces pokrenut na 2. virtualnoj konzoli.
Ova kolona prikazuje koliko se CPU (procesorskog) vremena proces izvršava. Ovo vrijeme ne treba mješati sa vremenom izvršavanja procesa. Takođe, CPU vrijeme procesa je nešto manje od vremena izvršavanja procesa i ne bi trebalo imati vrijednost veću od nekoliko minuta.
Ova kolona govori o kom programu je riječ. U osnovi ona samo prikazuje osnovni program (komandu) bez ikakvih dodatnih opcija i informacija.

Potpunu listu svih proces koji se odvijaju na vašem računaru možete dobiti korištenjem određenih opcija. Broj procesa koji se odvijaju u tom trenutku može biti prilično veliki, stoga je poželjno koristiti neku od komandi prikazivača (more i less).

xy@debian:~$ps -ax                            #dodavanjem opcije -ax izlistavamo sve procese koji se odvijaju na računaru
 PID TTY      STAT   TIME COMMAND
    1 ?        S      0:00 init [2]
    2 ?        SN     0:00 [ksoftirqd/0]
    3 ?        S      0:00 [watchdog/0]
    4 ?        S<     0:00 [events/0]
    5 ?        S<     0:00 [khelper]
    6 ?        S<     0:00 [kthread]
    8 ?        S<     0:00 [kblockd/0]
    9 ?        S<     0:00 [kacpid]
  146 ?        S      0:00 [pdflush]
  147 ?        S      0:00 [pdflush]
  149 ?        S<     0:00 [aio/0]
  148 ?        S      0:00 [kswapd0]
  733 ?        S<     0:00 [kseriod]
  770 ?        S      0:00 [w1_control]
  792 ?        S<     0:00 [ata/0]
  795 ?        S<     0:00 [scsi_eh_0]
  796 ?        S<     0:00 [scsi_eh_1]
  811 ?        S<     0:00 [khubd]
  982 ?        S      0:00 [shpchpd_event]
 1050 ?        S      0:00 [kjournald]
 1100 ?        S<s    0:00 udevd
 2753 ?        S<     0:00 [reiserfs/0]
 5556 ?        S      0:00 gnome-terminal
 5557 ?        S      0:00 gnome-pty-helper
 5579 pts/0    R+     0:00 ps -ax
       ...                                     #skraćena lista

Većina ovih procesa se pokreće prilikom pokretanja samog sistema. Takođe, korištenjem komande ps na ovaj način u listingu, u koloni CMD(COMMAND) pored naziva samog programa, biće prikazane i opcije komande koja je pokrenula proces (ps -ax). U zadnje vrijeme, ranjivost kernela doprinijela je da komanda ps ne prikazuje sve opcije za određene komande, stoga su te komande u koloni COMMAND uokvirene ugličastim zagradama ( [ ] ).
    U prethodnom listingu komande ps možete primjetiti mnoštvo procesa koji u koloni TTY imaju znak upitnik (?). Razlog za to je što nijedan od tih procesa nije dodjeljen nekoj određenoj virtualnoj konzoli, jer su to uglavnom procesi koji se pokreću pri pokretanju sistema (deamoni).
    Takođe, pojavila se i nova kolona - STAT. Ova kolona daje neke informacije o stanju procesa tj. njegovom statusu. Npr. slovo S označava da proces "spava" tj. čeka da se nešto dogodi; Z označava "zombi" proces tj. onaj proces koji je prvobitno pokrenut od nekog drugo procesa (roditeljskog procesa), ali je po prekidu njegovog rada ostao da radi, što svakako nije dobro; D se odnosi na procese koji su u neprekidnom "spavanju" tj. nemoguće ih je prekinuti; X označava proces koji je prekinut; T označava da je proces stopiran; R znači da je proces pokrenut.
     Ako želite da dobijete još više informacija o procesima koji se odvijaju na vašem sistemu, koristite komandu ps uz opcije -aux.

xy@debian:~$ps -aux                                                                
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  1588  516 ?        S    15:59   0:00 init [2]
root         2  0.0  0.0     0    0 ?        SN   15:59   0:00 [ksoftirqd/0]
root         3  0.0  0.0     0    0 ?        S    15:59   0:00 [watchdog/0]
root         4  0.0  0.0     0    0 ?        S<   15:59   0:00 [events/0]
root         5  0.0  0.0     0    0 ?        S<   15:59   0:00 [khelper]
root         6  0.0  0.0     0    0 ?        S<   15:59   0:00 [kthread]
root         8  0.0  0.0     0    0 ?        S<   15:59   0:00 [kblockd/0]
root         9  0.0  0.0     0    0 ?        S<   15:59   0:00 [kacpid]
root       146  0.0  0.0     0    0 ?        S    15:59   0:00 [pdflush]
root       147  0.0  0.0     0    0 ?        S    15:59   0:00 [pdflush]
root       149  0.0  0.0     0    0 ?        S<   15:59   0:00 [aio/0]
root       148  0.0  0.0     0    0 ?        S    15:59   0:00 [kswapd0]
root       733  0.0  0.0     0    0 ?        S<   16:00   0:00 [kseriod]
root       770  0.0  0.0     0    0 ?        S    16:00   0:00 [w1_control]
root       792  0.0  0.0     0    0 ?        S<   16:00   0:00 [ata/0]
root       795  0.0  0.0     0    0 ?        S<   16:00   0:00 [scsi_eh_0]
root       796  0.0  0.0     0    0 ?        S<   16:00   0:00 [scsi_eh_1]
root       811  0.0  0.0     0    0 ?        S<   16:00   0:00 [khubd]
root       982  0.0  0.0     0    0 ?        S    16:00   0:00 [shpchpd_event]
root      1050  0.0  0.0     0    0 ?        S    16:00   0:00 [kjournald]
root      1100  0.0  0.0  1576  412 ?        S<s  16:00   0:00 udevd
root      2753  0.0  0.0     0    0 ?        S<   16:00   0:00 [reiserfs/0]
kuki      5470  0.1  2.0 20056 10744 ?       S    16:06   0:03 /usr/lib/gnome-pa
kuki      5473  0.0  0.1  2268  752 ?        S    16:06   0:00 /usr/lib/nautilus
kuki      5475  0.0  2.1 19856 10964 ?       S    16:06   0:00 /usr/lib/gnome-ap
kuki      5477  0.0  1.4 18052 7620 ?        S    16:06   0:00 /usr/lib/gnome-pa
kuki      5479  0.0  1.7 20204 8960 ?        S    16:06   0:00 /usr/lib/gnome-ap
kuki      5481  0.0  1.8 20376 9460 ?        S    16:06   0:00 /usr/lib/gnome-pa
kuki      5483  3.3  7.8 104136 40432 ?      S    16:06   1:30 /usr/lib/mozilla/
    ...                                                                                #skraćena lista
      
Na ovaj način dobijate gomilu informacija o svim procesima koji su pokrenuti na vašem sistemu. Nove kolone vam daju informacije o korisniku koji je pokrenuo proces (kolona USER), informacije o korištenju sistemskih resursa (kolone %CPU, %MEM, VSZ i RSS), kao i tačno vrijeme pokretanja procesa (kolona START). Prikaz liste sa informacijama o procesima sada prelazi ivicu ekrana (u širinu), zbog čega se najčešće zadnja kolona ne vidi u potpunosti. Iz tog razloga,potrebno je koristiti -w opciju kojom govorimo komandi ps da prelama duge linije.
    Ovo nisu sve informacije koje možete dobiti o procesima, ali su svakako one najpotrebnije, koje se najčešće koriste. Ako ipak želite da saznate još o opcijama za komandu ps, pogledajte njene man strane.
Komanda kill služi za prekidanje procesa. Korištenjem ove komande bukvalno ukljanjamo određeni proces sa sistema. Ovu komandu koristimo kada imamo situaciju da se određeni program ne ponaša onako kako treba - koristi previše sistemskih resursa ili nam onemogućuje normalan rad. Da bi prekinuli određeni proces potrebno je znati njegov PID i biti vlasnik tog procesa (nijedan drugi korisnik na sistemu ne može uticati na procese koji su pod vašim vlasništvom, niti vi na njegove. Izuzetak je administrator sistema koji može kontrolisati sve procese koji se odvijaju na sistemu, pa tako i one koji su u vlasništvu drugih korisnika) :

xy@debian:~$ps
  PID TTY          TIME CMD
 5558 tty2    00:00:00 bash
 5562 tty2    00:00:00 ps
 5635 tty2    00:00:00 vim
xy@debian:~$kill 5635        #prekidamo proces sa PID-om 5635

Komanda killall je varijacija komande kill, koja služi za prekidanje svih procesa određenog naziva i koristi se onda kada imamo više pokrenutih procesa identičnog imena. Inače u suprotnom, nema smisla. Killall se koristi identično komandi kill , s tim što se umjesto vrijednosti kolone PID, koristi vrijednost kolone CMD :

xy@debian:~$ps
  PID TTY          TIME CMD
 5558 tty2    00:00:00 bash
 5562 tty2    00:00:00 ps
 5635 tty2    00:00:00 vim
 5643 tty2    00:00:00 vim
xy@debian:~$killall vim        #prekidamo sve procese sa imenom "vim"

Ponekad korištenjem komande kill ili killall bez dodatnih opcija, nećete uspjeti prekinuti određeni proces. Tada se koristi opcija -9.

xy@debian:~$kill -9 5635

Nemogućnost same komande kill u nekim situacijama, ogleda se u slanju različitih signala procesima. Korištenjem same komande kill, određenom procesu šaljemo SIGTERM signal koji tom procesu govori da završi ono što je započeo, a potom prekine svoj rad. Dodavanjem opcije -9 šaljemo SIGKILL signal kojim nasilno prekidamo proces, stoga često dolazi do gubitka ili oštećenja podataka sa kojim je radio taj proces u tom trenutku.
    Listing svih signala koje može slati komanda kill možete dobiti na sledeći način :

xy@debian:~$kill -l
 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL
 5) SIGTRAP      6) SIGABRT      7) SIGBUS       8) SIGFPE
 9) SIGKILL     10) SIGUSR1     11) SIGSEGV     12) SIGUSR2
13) SIGPIPE     14) SIGALRM     15) SIGTERM     17) SIGCHLD
18) SIGCONT     19) SIGSTOP     20) SIGTSTP     21) SIGTTIN
22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO
30) SIGPWR      31) SIGSYS      33) SIGRTMIN    34) SIGRTMIN+1
35) SIGRTMIN+2  36) SIGRTMIN+3  37) SIGRTMIN+4  38) SIGRTMIN+5
39) SIGRTMIN+6  40) SIGRTMIN+7  41) SIGRTMIN+8  42) SIGRTMIN+9
43) SIGRTMIN+10 44) SIGRTMIN+11 45) SIGRTMIN+12 46) SIGRTMIN+13
47) SIGRTMIN+14 48) SIGRTMIN+15 49) SIGRTMAX-15 50) SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7  58) SIGRTMAX-6
59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX

Sa komandom kill koristi se broj određenog signala, dok sa komandom killall koristi se ime signala, ali bez prefiksa SIG.

xy@debian:~$killall -KILL vim

Još jedna upotreba komande kill je resetovanje određenog procesa upotebom signala SIGHUP(1). Upotreba ovog signala je od velike važnosti kada sistem treba ponovo da učita konfiguracione datoteke nakon njihovog uređivanja, čime se izbjegava ponovno pokretanje računara.
Komanda top služi za prikazivanje ažuriranih informacija o pokrenutim procesima na sistemu.

xy@debian:~$top
top - 18:11:17 up  2:11,  3 users,  load average: 0.43, 0.14, 0.04
Tasks:  92 total,   1 running,  91 sleeping,   0 stopped,   0 zombie
Cpu(s): 11.6% us,  3.3% sy,  0.0% ni, 82.1% id,  0.0% wa,  3.0% hi,  0.0% si
Mem:    515632k total,   400552k used,   115080k free,    63360k buffers
Swap:  1461872k total,        0k used,  1461872k free,   181656k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5018 root      15   0 51516  28m 8040 S 13.3  5.7   1:24.29 XFree86
 5556 kuki      15   0 33312  14m 9248 S  1.3  2.8   0:07.42 gnome-terminal
    1 root      16   0  1588  516  452 S  0.0  0.1   0:00.48 init
    2 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/0
    4 root      10  -5     0    0    0 S  0.0  0.0   0:00.12 events/0
    5 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 khelper
    6 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kthread
    8 root      10  -5     0    0    0 S  0.0  0.0   0:00.03 kblockd/0
    9 root      20  -5     0    0    0 S  0.0  0.0   0:00.00 kacpid
  146 root      20   0     0    0    0 S  0.0  0.0   0:00.00 pdflush
  147 root      16   0     0    0    0 S  0.0  0.0   0:00.01 pdflush
  149 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 aio/0
  148 root      17   0     0    0    0 S  0.0  0.0   0:00.00 kswapd0
  733 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kseriod
  770 root      15   0     0    0    0 S  0.0  0.0   0:00.00 w1_control
  792 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 ata/0
  795 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_0
  796 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_1
  811 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 khubd
  982 root      20   0     0    0    0 S  0.0  0.0   0:00.00 shpchpd_event
 1050 root      15   0     0    0    0 S  0.0  0.0   0:00.00 kjournald
 1100 root      11  -4  1576  412  344 S  0.0  0.1   0:00.02 udevd
 2753 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 reiserfs/0
 2800 root      19   0     0    0    0 S  0.0  0.0   0:00.00 kjournald
 3259 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 hda_codec/0
 4114 daemon    15   0  1688  344  264 S  0.0  0.1   0:00.00 portmap

      ...                                                                         #skraćena lista

Pored informacija o procesima (PID, korisnici, prioriteti, procesorsko i memorijsko zauzeće, vremena izvršavanja i ime programa), ova komanda će prikazati i sveobuhvatne informacije o sistemu (prosječno opterećenje, broj procesa, stanje procesora, slobodna memorija). Ova komanda izlistava procesorski najintezivnije procese na vrhu (zbog čega se i zove top). Prilično je korisna prilikom otkrivanja procesa koji se loše izvršavaju, stoga je potrebno prekinuti njihov rad.
    U slučaju da želite samo vidjeti informacije o procesima koji su u vašem vlasništvu ili samo procesa koji su vlasništvu nekog drugog korisnika, komandi top ćete dodati opciju -u i kao argument, korisničko ime korisnika.

xy@debian:~$top -u kuki              #komandi top dodajemo opciju -u i navodimo ime korisnika čije procese želimo vidjeti
top - 18:25:19 up  2:25,  3 users,  load average: 1.13, 0.34, 0.11
Tasks:  92 total,   1 running,  91 sleeping,   0 stopped,   0 zombie
Cpu(s): 21.3% us,  3.3% sy,  0.0% ni, 71.8% id,  0.0% wa,  3.7% hi,  0.0% si
Mem:    515632k total,   409168k used,   106464k free,    64512k buffers
Swap:  1461872k total,        0k used,  1461872k free,   187940k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5556 kuki      15   0 33316  14m 9248 S 15.3  2.8   0:08.53 gnome-terminal
 5422 kuki      15   0 15180 8264 6504 S  1.0  1.6   0:03.72 metacity
 4874 kuki      15   0  2944 1164  796 S  0.0  0.2   0:00.06 famd
 5350 kuki      16   0 19608 9736 7280 S  0.0  1.9   0:00.57 gnome-session
 5395 kuki      16   0  3076  504  312 S  0.0  0.1   0:00.00 ssh-agent
 5397 kuki      16   0 11964 8320 1824 S  0.0  1.6   0:00.56 gconfd-2
 5400 kuki      25   0  2328  744  560 S  0.0  0.1   0:00.00 gnome-keyring-d
 5402 kuki      15   0  7452 2916 2156 S  0.0  0.6   0:00.10 bonobo-activati
 5404 kuki      15   0  3760 1608 1368 S  0.0  0.3   0:00.95 gnome-smproxy
 5406 kuki      16   0 20852 8912 7004 S  0.0  1.7   0:00.43 gnome-settings-
 5416 kuki      16   0  4972 2076 1600 S  0.0  0.4   0:00.69 xscreensaver
 5432 kuki      16   0 23200  13m 9740 S  0.0  2.7   0:02.24 gnome-panel
 5434 kuki      16   0 40120  19m  11m S  0.0  4.0   0:02.87 nautilus
 5436 kuki      16   0 17164 6616 5436 S  0.0  1.3   0:00.19 gnome-volume-ma
 5462 kuki      16   0 46604 5204 4100 S  0.0  1.0   0:00.06 gnome-vfs-daemo
 5470 kuki      16   0 20056  10m 8168 S  0.0  2.1   0:07.33 wnck-applet
 5473 kuki      16   0  2268  752  668 S  0.0  0.1   0:00.00 mapping-daemon
 5475 kuki      15   0 19856  10m 7932 S  0.0  2.1   0:02.01 gnome-keyboard-
 5477 kuki      16   0 18052 7620 6268 S  0.0  1.5   0:00.22 notification-ar
 5479 kuki      15   0 20204 8960 7004 S  0.0  1.7   0:00.30 mixer_applet2
 5481 kuki      15   0 20376 9660 7768 S  0.0  1.9   0:00.59 clock-applet
 5483 kuki      15   0  107m  44m  18m S  0.0  8.9   3:27.01 mozilla-bin
 5502 kuki      15   0 19756  11m 8628 S  0.0  2.3   0:00.85 gnome-ppp
 5504 kuki      15   0  6188 2136 1832 S  0.0  0.4   0:00.03 wvdial
 5517 kuki      16   0 41900  20m  12m S  0.0  4.1   0:04.26 opera
 5557 kuki      16   0  2276  664  572 S  0.0  0.1   0:00.00 gnome-pty-helpe
 5596 kuki      15   0  5076 1712 1272 S  0.0  0.3   0:00.00 bash
 5599 kuki      15   0  5564 1508 1188 S  0.0  0.3   0:00.06 wget
 5720 kuki      15   0  5076 1688 1244 S  0.0  0.3   0:00.01 bash
 5742 kuki      16   0  2136 1072  832 R  0.0  0.2   0:00.00 top


Ovo je prilično najosnovnije korištenje komande top. Ova komanda posjeduje još mnogo opcija koje omogućavaju pregled procesa na više načina i prema različitim kriterijumima. Za naprednije korištenje ove komande, pogledajte njene man stranice.

3.8 Arhivske datoteke
    Arhivske datoteke nastaju kompresovanjem određene datoteke (smanjenjem veličine koju zauzima na memorijskoj jedinici), u cilju oslobođanja prostora ili jednostavnije i brže distribucije. Na Linux operativnim sistemima ove datoteke često imaju jedan od sledećih nastavaka (ekstenzija): .gz , .bz2 . Neke arhivske datoteke se još nazivaju paketi, jer sadrže više datoteka i/ili direktorijuma, a ponekad i cijela stabla direktorijuma. Nastavci za ove datoteke su najčešće tar.gz i tar.bz2. Takođe, moguće je sresti ove datoteke i sa nastavcima koji su inače karakteristični za Windows operativne sisteme : zip i rar. Glavna karakteristika arhivskih datoteka je da njihov sadržaj ne možete koristiti sve dok se ne izvrši dekompresija.
Gzip je jedan od programa koji se koristi za kompresiju na Linux operativnim sistemima. Jednostavno, da bi smanjili veličinu nekoj datoteci, dovoljno je da uraditi sledeće:

xy@debian:~$gzip arhiva      #kompresujemo datoteku sa imenom arhiva

Poslije kompresovanja, datoteka koju smo željeli kompresovati dobija nastavak .gz, a veličina koju ona zauzima na hard disku je znatno manja nego prije kompresije. Ovaj program se prvenstveno primjenjuje kod kompresovanja velikih tekstualnih datoteka, dok kod kompresovanja slika (.jpeg) ili muzike (.mp3) efekat kompresije se ne primjećuje (te datoteke su već kompresovane).
    Program
gzip posjeduje stepene kompresije tj. koliko sam program može smanjiti veličinu datoteke koju kompresuje. Što je veći stepen kompresije, samo kompresovanje duže traje. Gzip posjeduje devet(9) stepeni kompresije. Ako želimo postići maksimalnu kompresiju uradićemo sledeće:

xy@debian:~$gzip -9 arhiva        #kompresujemo datoteku sa imenom arhiva sa uključenom opcijom za maksimalnu kompresiju

U zavisnosti od veličine datoteke koja se kompresuje, rad programa gzip može potrajati. Brzinu kompresije povećavamo smanjenjem stepena kompresije, unošenjem nižih vrijednosti umjesto broja 9, ali samim tim se povećava veličina kompresovane datoteke.
    Postoje dvije metode dekompresije
gzip-ovanih datoteka. Sve datoteke koje imaju nastavak (ekstenziju) - .gz , .z i .Z možemo dekompresovati uz pomoć programa gzip. Prvi metod je uz pomoć opcije -d :

xy@debian:~$gzip -d arhiva.gz      #dekompresujemo datoteku sa imenom arhiva.gz

Drugi metod je upotrebom komande gunzip, koja je ustvari dio programa gzip i identična je sa gzip -d :

xy@debian:~$gunzip arhiva.gz      

Korištenjem bilo koje od ove dvije metode dobićete dekompresovanu verziju ulazne datoteke sa uklonjenim nastavkom .gz.
Bzip2 je alternativni program za kompersiju. Za razliku od gzip programa, bzip2 koristi drugačiji algoritam kompresije zbog čega kompresovanje pomoću ovog alata ima određene prednosti, ali i mane u odnosu na gzip. Kao glavna prednost ističe se efikasnost kompresije tj. veličina kompresovane datoteke koja je kompresovana pomoću bzip2 programa uvijek će biti manja od kompresovane datoteke koja je kompresovana uz pomoć gzip-a,  a ponekad ta razlika zna poprilična. Kao glavna mana, može se okarakterisati zahtjevnost bzip2 programa. Korištenje ovog alata zahtijeva više vremena prilkom kompresije, a samim tim i veće opterećenje procesora, što posebno dolazi do izražaja na slabijim računarima. Bzip2 komanda se koristi identično gzip komandi :

xy@debian:~$bzip2 arhiva            #kompresujemo datoteku sa imenom arhiva
xy@debian:~$bzip2 -9 arhiva         #kompresujemo datoteku sa imenom arhiva sa uključenom opcijom za maksimalnu kompresiju
xy@debian:~$bunzip arhiva.bz2       #dekompresujemo datoteku sa imenom arhiva.bz2
xy@debian:~$bzip2 -d arhiva.bz2     #dekompresujemo datoteku sa imenom arhiva.bz2 uz pomoć komande bunzip
Gzip i bzip2 programi nisu u mogućnosti da kompresuju više datoteka ili direktorijume. Iz tog razloga postoji tar komanda koja služi za pravljenje paketa, kao i njihovo raspakivanje. Pomoću ove komande možemo izabrati mnoštvo datoteka i direktorijuma i smjestiti ih u jednu veliku datoteku (paket), a potom tu datoteku možemo kompresovati.
    Tar
komandu ćete najčešće koristi za dekompresiju tj. raspakivanje datoteka sa nastavcima tar.gz i tar.bz2. Datoteke sa tim nastavcima se nazivaju tarball i označavaju pakete čiji je sadržaj arhiviran pomoću tar komande, a potom kompresovan gzip-om ili bzip2-om. Na Internetu nešto češće se sreću tar.bz2 datoteke, jer je njihova veličina znatno manja od tar.gz datoteka čime se vrijeme potrebno za njihovo preuzimanje znatno umanjuje.
    Raspakivanje paketa zapakovanih pomoću tar komande, a kompresovanih gzip-om možemo izvršiti na sledeći način :

xy@debian:~$tar -xvzf arhiva.tar.gz      #možete izostaviti crticu kod navođenja opcija

Na ovaj način paket će biti dekompresovan, potom raspakovan, a njegov sadržaj spreman za korištenje. Opcije koje ste izdali komandi tar, govore joj šta tačno treba da uradi sa ulaznom datotekom :

-x
-v
-z
-f
Ova opcija označava ekstrahovanje tj. raspakivanje sadržaja paketa. Pomoću ove opcije razdvajamo ulaznu datoteku na njene početne elemente (datoteke i direktorijume od kojih je paket sačinjen).
Ova opcija izlistava sve datoteke i direktorijume koji se raspakuju. Ovu opciju je moguće izostaviti.
Ova opcija govori tar komandi da prvo dekompresuje arhivsku datoteku pomoću gzip-a.
Ova opcija ide na kraj i govori komandi tar da se sledeći niz unešenih znakova odnosi na datoteku nad kojom se vrši operacija.

Raspakivanje paketa zapakovanih pomoću tar komande, a kompresovanih gzip-om možemo izvršiti na sledeći način :

xy@debian:~$tar -xvjf arhiva.tar.bz2      #možete izostaviti crticu kod navođenja opcija

Opcije koje se navode tar komandi kod raspakivanja paketa kompresovanih bzip2-om su identične, izuzev -z opcije koja je zamjenjena sa -j. Ta opcija govori tar komandi da prvo dekompresuje arhivsku datoteku pomoću bzip2-a.
    Važno je naglasiti da bez obzira koji od navedene dvije vrste paketa raspakujete, njihov sadržaj po uspješnom raspakivanju biće smješten u trenutni (tekući) direktorijum. Da bi raspakovali paket u neki drugi možete koristiti neku od sledećih metoda (npr. neka se paket nalazi u /tmp direktorijumu, a želite ga raspakovati u vaš lični direktorijum) :
  1. Paket možete premjestiti u vaš lični direktorijum, a potom izdati naredbu za raspakivanje paketa.
xy@debian:~$cd                              #pristupate ličnom direktorijumu
xy@debian:~$cp /tmp/arhiva.tar.gz ./        #kopirate paket iz /tmp direktorijuma u trenutni direktorijum,koji se označava pomoću ./ ili samo tačke(.)
xy@debian:~$tar xvzf arhiva.tar.gz
  1. Možete navesti punu putanju do paketa.
xy@debian:~$cd
xy@debian:~$tar xvzf /tmp/arhiva.tar.gz          #raspakujete u vaš lični direktorijum paket koji se nalazi u /tmp direktorijumu
  1. Možete koristiti opciju -C kojom govorite komandi tar gdje tačno želite raspakovati paket.
xy@debian:~$tar xvzf /tmp/arhiva.tar.gz -C ~/    #raspakujete paket u vaš lični direktorijum(~)

Iako ćete komandu tar u većini slučajeva koristiti za raspakivanje paketa koje preuzmete sa Interneta, CD/DVD-ROM-a i slično, nekad će vam ona zatrebati i za pravljenje vaših ličnih paketa tj. arhivskih datoteka. Pravljenje paketa je prilično jednostavno i gotovo identično njihovom raspakivanju - opciju -x (koja govori tar komandi da treba napraviti paket) zamjeniti sa -c. Takođe, u zavisnosti da li želite brzu ili učinkovitiju kompresiju, tako ćete koristiti opciju -z (kompresija gzip-om; brža metoda) ili -j (kompresija bzip2-om; učinkovitija metoda).

xy@debian:~$tar -cvzf arhiva.tar.gz ./       #pakujete sadržaj trenutnog direkotorijuma i kompresujete ga gzip-om
xy@debian:~$tar -cvjf arhiva.tar.b2 ./       #pakujete sadržaj trenutnog direkotorijuma i kompresujete ga bzip2-om

Umjesto naziva paketa koji se otpakuje, navodi se proizvoljan naziv novog paketa tj. paketa koji vi pravite, sa odgovarajućim nastavkom ( tar.gz za -z opciju; tar.bz2 za -j opciju). Iza naziva novog paketa morate navesti i putanju direktorijuma čiji sadržaj želite smjestiti u arhivsku datoteku ( ./ za trenutni direktorijum; ../ za roditeljski direktorijum; ~/ za vaš lični direktorijum; ostale putanje potrebno je navesti u potpunosti npr. /tmp/ ).
Arhivske datoteke sa nastavkom .zip su takođe paketi, kao i tar arhivske datoteke, ali se prvenstveno primjenjuju na Windows operativnim sistemima. Međutim, na Linux operativnim sistemima postoje dvije alatke koje služe za manipulaciju ovim datotekama: zip - program za kompresiju arhivskih datoteka sa nastavkom .zip ; unzip - program za dekompresiju arhivskih datoteka sa nastakom .zip. Pakete sa nastavkom .zip pravite na sljedeći način :

xy@debian:~$zip arhiva *       #pakuje samo datoteke iz tekućeg direktorijuma i kompresuje ih
xy@debian:~$zip -r arhiva *    #pakuje datoteke i direktorijume iz tekućeg direktorijuma i kompresuje ih

Takođe, kada pravite pakete pomoću zip programa nema potrebe da navodite nastavak .zip. Sasvim dovoljno samo unijeti naziv za vaš novi paket. Ako želite zapakovati datoteke koje se ne nalaze u trenutnom direktorijumu, potrebno je navesti punu putanju do direktorijuma čiji se sadržaj pakuje, a potom staviti zvjezdicu(*) na kraj npr. /tmp/* .
    Dekompresija zip arhivskih datoteka je prilično jednostavna :

xy@debian:~$unzip arhiva.zip

Na ovaj način se vrši dekompresija arhivske datoteke, a potom se raspakuje sav njen sadržaj (uključujući i direktorijume) u tekući direktorijum.

3.9 Editori

    Postoji nekoliko editora odnosno uređivača teksta koje imate na raspolaganju u konzoli. S vremena na vrijeme trebat ćete urediti neku konfiguracionu datoteku ili možda napisati neki programski kod. U suštini postoje tri "glavna" editora, od kojih bar jedan možete pronaći na gotovo svakom Linux operativnom sistemu : Vi (Vim) , nano (pico) i emacs. Na Debian GNU/Linux-u dobijate samo prva dva, znači - Vi i nano, a treći možete naknadno instalirati.
    Vi je moćan editor, tradicionalno odbojan za početnike. Danas na svakoj modernoj Linux distribuciji dobijate njegovu poboljšanu verziju - Vim. U suštini, najveći problem kod ovog editora predstavlja navigacija (kretanje pomoću slova), postojanje dva režima rada(uređivanje i unošenje teksta), kao i komandovanje (izdaju se slovne komande, nema menija). Uglavnom, ovaj editor ima veoma široku primjenu i danas je prvi na listi velikog broja programera koji razvijaju programe za Linux/BSD. Pokrećete ga tako što izdate komandu vi ili vim, a da bi naučili osnove rada u ovom editoru ukucajte vimtutor, čime pristupate odličnom tutorijalu za ovaj editor.
    Nano editor je jednostavan editor. Samim tim i najpreporučljiviji za početnike. Navigacija je jednostavna (tipke za navigaciju na tastaturi), dok komandovanje u ovom editoru vrši se prečicama na tastaturi (najčešće kombinacija CTRL tipke i nekog slova). Spisak prečica smješten je pri dnu ekrana. Ovaj editor pokrećete izdavanjem komande nano ili pico.
    Emacs editor je takođe moćan editor, poput Vi-a. Tvorac ovog editora je ujedno i tvorac GNU pokreta (Ričard M. Stalman), inače zaslužnog za nastanak samog Linux i zajednice otvorenog programskog koda. Ovaj editor takođe ima široku primjenu, ali kao i u Vi-u rad u njemu je prilično težak za početnike.
    Bez obzira koji editor izaberete, važno je da znate kako otvarate neku datoteku u ovim editorima. Najednostavniji način, koji bi trebali uvijek koristiti, je navođenjem imena datoteke pored komande za pokretanje editora.

xy@debian:~$vim tekst    #otvarate datoteku tekst u editoru Vim
xy@debian:~$nano tekst   #otvarate datoteku tekst u editoru nano


Početna strana