You are on page 1of 7

Програмирање и алгоритми Аудиториски вежби

ШТО Е UNIX?

Оперативен систем
 ја контролира работата на хардверот на компјутерот со цел да обезбеди негова полесна
експлоатација од страна на корисникот и апликативните програми; ја контролира алокацијата и
користењето на хардверските ресурси како меморијата, достапноста на процесорот за
процесите, периферните уреди, системот на датотеки.
 ги дава препознатливите карактеристики на компјутерот (два различни компјутери изгледаат
сосема исти, ако имаат ист ОС, и обратно)
 Повеќекориснички, повеќепроцесен (multitasking) ОС.
 Многу популарен во научните и академските средини, а исто така и во владините и бизнис
круговите.

Историјат
 создаден во доцните 1960-ти години во AT&T Bell Laboratories (1969).
 во 1973 година пренесен на програмскиот јазик C
 од 1974 даван бесплатно на универзитетите
 Berkeley универзитетот во доцните 70-ти дистрибуира повеќе верзии на подобрен UNIX (BSD 4.x)
 AT&T издава комерцијална верзија на UNIX System III (од која произлегол XENIX)
 UNIX e de-facto стандард пред почетокот на PC ерата
 Linus Torvalds во 1991 почнува да развива UNIX clone за PC како хоби

Слоеви на UNIX
 слоеви на интеракција помеѓу хардверот и корисникот
1. Јадро (kernel) - директна врска со хардверот
2. Апликации (програми) и команди - интеракција со јадрото, а не директно со
хардверот
3. Интерпретер на команди (Comand-Interpreter Program - Shell) - интеракција помеѓу
корисникот и неговите програми со Unix командите
4. Систем на прозорци (Windowing System) на пр X; (не мора да го има) - интеракција
најчесто со Shell, но може и директно со Програмите
5. Корисникот - интеракција единствено со Shell или со комбинација од windowing
системот и shell.

1
Програмирање и алгоритми Аудиториски вежби

Основни елементи на UNIX


 команди
 датотеки - колекции од податоци со единствено име
 именици, директориуми - колекции од датотеки и други директориуми
 работна околина - тука се сместени основните нагодувања на ОС за секој корисник посебно
(каде се наоѓаат командите, на кој печатач ќе се печати)
 процеси - команда или програма што е активна во моментот
 работи (активности - job) - множество инструкции зададени на компјутерот за да се изврши
одредена задача

Активирање на сесија во UNIX


 најавување на системот (активирање на сесија)
o локално
o далечински
 повеќекориснички систем
o корисничко име (login) - единствено на системот
 login prompt  login:
 password prompt  password:
o корисничка лозинка (password)
o секој корисник свој посебен дел во системот
o механизам за контрола на пристап
 одјавување од системот (крај на сесијата ) - команда logout(exit, CTRL+D)

Кориснички дел (Shell) во UNIX


 најважниот програм во Unix од гледна точка на корисникот
 интерфејс помеѓу корисникот и јадрото
 Shell е програма од типот Интерпретер
 работи како бесконечна јамка
o прифаќа команда
o ја интерпретира командата
o ја извршува командата
o чека нова команда (прикажува prompt знак)

 повеќе типови на Shell: Bourne, C, Korn, Bash


 Shell препознава ограничен број команди

2
Програмирање и алгоритми Аудиториски вежби

Структурата на File системот во Unix

 Сите зачувани информации на Unix компјутер се сместени во т.н. filesystem


 Корисничкиот интерфејс (Shell) претпоставува локација на корисникот во некој дел од file-
системот
 Локацијата во file-системот каде моментално работи корисникот се нарекува тековен работен
именик (current working directory)
 Хиерархиска (дрво) структура на file-системот
 Почеток на дрвото: root  “/”
 Елементи на дрвото
o Датотеки
o Именици
 Родители и деца во file-системот
o Еден именик  повеќе деца
o Еден именик  еден родител

Концепт на патека (path)


 ја покажува локацијата на корисникот во хиерархиската дрво структура
 апсолутна патека: од коренот (root) до новиот именик
 релативна патека: од тековната локација до новиот именик
 патеката се добива следејќи го патот до именикот низ дрвото
 секој именик се одвојува со коса црта “/”
 “.” - тековен именик
 “..” - родител на тековен именик
 пр: апсолутната патека до именикот jon
 /users/admin/jon
 пр: релативната патека до именикот jon, ако тековен директориум е student
 ../admin/jon

3
Програмирање и алгоритми Аудиториски вежби

КОМАНДИ ВО UNIX

Синтакса на Unix команди:

command –flag options file/expression

Секоја команда се состои од:


o Име на командата
o Аргументи (опции, имиња на датотеки или изрази)
o ENTER

Помош во Unix - команда man (manual)


- man command_name (man ls)
- man man

Команди во Unix за датотеки и именици

Имиња на датотеки
Имињата на датотеките и имениците можат да бидат составени од мали и големи букви (кои системот
ги разликува), цифри и некои специјални знаци (_ # @), не смее да содржи празни места или некои од
мета-знаковите на школката ( * ? > < | / ; & ! [ ] $ \ ’ “ ), не смее да почнува со знаците + или - и не смее
да биде исто како системска команда. Датотеките чие име почнува со знакот . се скриени (не се
гледаат во пописот добиен со ls или ls –l (се гледаат со ls -a).

1. Прелистување датотеки во именик: ls (list)


 ls ги прикажува сите датотеки од работниот именик (без специјалните што почнуваат со
точка [.])
 ls -a ги прикажува сите датотеки од работниот именик вклучувајќи ги и специјалните
што почнуваат со точка [.]
 ls -s ја прикажува содржината на работниот именик и големините на датотеките во
блокови.
 ls | more ако има повеќе датотеки во именикот, да ги прикаже страна по страна.
 ls –l ги прикажува датотеките од работниот именик во т.н. долг формат: вклучувајќи ги и
дозволите за датотеките, големината и датумот на креирање

4
Програмирање и алгоритми Аудиториски вежби
пр. ls –l
(1) (2) (3) (4) (5) (6)
total 109
-r-------- 1 dejan 1382 Oct 18 13:15 Ne_me.brisi
-rwxr-xr-x 1 dejan 68064 Mar 23 2001 a.out
-rw-r--r-- 1 dejan 1144 Oct 18 13:01 aaa.txt
drwxr-xr-x 2 dejan 512 Oct 18 13:17 dat
-rwxr-xr-- 1 dejan 28672 Oct 18 13:03 kmml
-rw-r--r-- 1 dejan 374 Oct 30 2000 kmml.p
-rw-r--r-- 1 root 299 Oct 25 1999 pj
-rw-rw-r-- 1 dejan 188 Oct 18 13:07 prijava.txt
drwxr-x--- 2 dejan 1024 Apr 19 2000 prog
-rw-r--r-- 1 dejan 432 Mar 23 2001 record1.p
-rw-r----- 1 dejan 872 Mar 31 1995 rezultati.txt
drwxr-xr-x 2 dejan 512 Apr 19 2000 string
lrwxr-xr-x 1 dejan 15 Oct 18 13:10 strlib.h -> string/strlib.h
-rw------- 1 dejan 106 Mar 20 1997 tajna.txt

(1) го прикажува типот и дозволата за пристап до датотеката

T Wxr wxr wxr


Type User group other

type - тип на датотека:


‘-‘ обична датотека;
‘d’ именик;
‘l’ врска (link); (има и други видови)
user - права на пристап до датотеката за сопственикот на датотеката;
group - права на пристап до датотеката за корисниците од истата група на коридници на
која припаѓа сопственикот на датотеката;
other - права на пристап до датотеката за сите останати корисници на системот;
Дозволи за пристап до датотеката:
r- дозвола за читање;
 датотека - дозвола да се гледа содржината на датотеката
 именик - дозвола да се прелистува содржината на именикот
w- дозвола за запишување;
 датотека - дозвола да се менува содржината на датотеката
 именик - дозвола да се менува неговата содржина (додаваат нови именици и датотеки)
x- дозвола за извршување;
 датотека - дозвола за извршување на датотека
 именик - дозвола да тој стане работен именик (може да се дојде до него)

(2) број на врски кон датотеката


(3) сопственик на датотеката (owner)
(4) должина на датотеката во бајти
(5) време на последната промена на датотеката
 доколку датумот е од тековната година датум и време
 доколку датумот не е од тековната година датум и година
(6) име на датотеката

2. Копирање датотеки: cp (copy)


 cp izvor odrediste  креира копија на датотеката од изворот на одредишната дестинација

Пр1. cp star nov  во истиот именик се прави копија на star под ново име nov
Пр2. cp star.txt /users/student  star.txt од работниот именик се копира во именик со патека
/users/student под истото име
5
Програмирање и алгоритми Аудиториски вежби

3. Преместување датотеки и именици: mv (move)


 mv izvor odrediste  изворот може да биде и датотека и именик. Дестинацијата е патека
(апсолутна или релативна) до новиот именки каде се врши преместувањето. Ако се наведе
ново име на датотеката (именикот), таа ќе биде преместена под новото име.

Пр1. mv moj.txt /users/student  moj.txt се преместува во /users/student под истото име.


Пр2. mv moj.txt /users/student/mojnov.txt  moj.txt се преместува во /users/student под ново
име mojnov.txt
Пр3. mv student /users/admin  именикот student се преместува во /users/admin под истото
име.

4. Преименување датотеки и именици: mv (move)


 mv staroime novoime  важи и за датотеки и за именици

Пр1. mv proba.txt moj.txt  proba.txt се преименува во moj.txt

5. Бришење датотеки и именици: rm (remove)


 rm ime  за датотеки и празни именици

Пр1. rm moj.txt  moj.txt се брише


 rm -r imeimenik  за оваа команда е потребно да се наоѓаме во именикот родител на оној што
се брише. Со ова ќе се избришат и сите подименици и датотеки на конкретниот именик

Пр2. rm –r student  именикот student се брише

6. Прикажување на патеката на работниот именик: pwd (print working directory)


 pwd

Пр1. pwd
/home/users/userid

7. Промена на работниот именик: cd (change directory)


 cd destinacija  тековниот работен именик се променува во destinacija
Пр1. cd proekti (или cd /home/userid/proekti)
pwd
/home/userid/proekti
Пр2. cd ..
pwd
/home/userid  се променува работниот именик така што се качуваме едно ниво погоре (кај
родителот на претходниот тековен именик)
cd ~ или cd (без параметри) позиционира во домашниот именик на корисникот

8. Креирање именик: mkdir (make directory)


 mkdir destinacija(ime)  се креира именик со даденото име на дадената дестинација. Ако се
креира нив именик во работниот именик, делот за дестинација може да се изостави
Пр1. mkdir /users/tome  креира именик tome во именикот users
Пр2. mkdir tome  креира именик tome, во работниот (тековен) именик

6
Програмирање и алгоритми Аудиториски вежби

Џокер знаци – wildcards


Употребата на т.н. џокер знаци овозможува копирање, листање, преместување, бришење, … на
повеќе датотеки со слични имиња одеднаш (со единствена команда).

1. Симболот ? заменува кој било знак во името на датотеката на неговото место.


2. Симболот * заменува 0 или повеќе произволни знаци на неговото место.
3. Знаците наведени во средни загради [ ] заменуваат кој било од нив на даденото место.
Дозволено е дефинирање на опсези

Примери:
cp ?ab2 nov - во именикот нов ќе ги ископира сите датотеки од тековниот именик чии имиња
имаат 4 знаци а завршуваат на ab2
mv ab* nov - во именикот нов ќе ги премести сите датотеки од тековниот именик чии имиња
почнуваат на ab (вклучувајќи ја и датотеката со име ab)
mv a*b nov - во именикот нов ќе ги премести сите датотеки од тековниот именик чии имиња
почнуваат на a и завршуваат на b (вклучувајќи ја и датотеката со име ab)
rm s[aqz] - ќе ги избрише датотеките sa, sq и sz.
rm s[2-4]x - ќе ги избрише датотеките s2x, s3x и s4x.

Останати корисни команди во Unix


1. Печатење на тековното време и датум: date
bash-2.05$ date
Mon Oct 17 17:15:59 CEST 2005

2. Печатење на календар: cal


o cal  печати календар за тековниот месец
bash-2.05$ cal
o cal godina  печати календар за бараната година
o cal mesec godina  печати календар за баран месец

3. Печатење на името на хостот (компјутерот): hostname


- bash-2.05$ hostname
naniza3
4. Информации за хостот (компјутерот на кој сме приклучени) и корисничкото име: who am i
bash-2.05$ who am i
marijaef pts/2 Oct 17 17:02 < … .feit.ukim.edu.mk>
5. Прикажување на датотека на екран: cat
cat file
пр. as1> cat proveri.c

Можни опции:
-b ги игнорира празните линии и го нумерира секој ред
-n ги нумерира сите линии (вклучувајќи ги и празните)
-s ги отфрла дуплите празни редови
6. Прикажување на датотека, екран по екран: more
more file
(Enter следен ред; Space следен екран; q крај)

You might also like