background image

ARR1303 Sieci komputerowe 

 

- 1/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

SIECIOWY SYSTEM OPERACYJNY UNI

SIECIOWY SYSTEM OPERACYJNY UNI

SIECIOWY SYSTEM OPERACYJNY UNI

SIECIOWY SYSTEM OPERACYJNY UNIKS 

KS 

KS 

KS ---- WIADOMOSCI PODSTAWOWE

 WIADOMOSCI PODSTAWOWE

 WIADOMOSCI PODSTAWOWE

 WIADOMOSCI PODSTAWOWE    

Tekst nie zawiera polskich znakow diakrytycznych 

 

Spis tresci: 

 

1. Poczatek pracy............................................................................................................................. 1 
2. Ogolne zasady wpisywania polecen w systemie uniks ............................................................... 2 
3. Dostep do danych -  katalogi i pliki. ........................................................................................... 3 
4. Polecenia dzialajace na katalogach ............................................................................................. 4 
5. Polecenia dzialajace na plikach................................................................................................... 4 
6. Bazowy katalog uzytkownika ..................................................................................................... 6 
7. Prawa dostepu ............................................................................................................................. 6 
8. Miejsce na dysku ......................................................................................................................... 7 
9. Opisy polecen ('man') .................................................................................................................. 8 
10. Edytor "vi"................................................................................................................................. 9 
11. Wyswietlanie danych o innych uzytkownikach ...................................................................... 12 
12. Wysylanie komunikatow do innych uzytkownikow ............................................................... 13 
13. Interaktywna komunikacja z innymi uzytkownikami ............................................................. 13 
14. Wysylanie listow ..................................................................................................................... 14 
15. Procesy .................................................................................................................................... 15 
16. Skrypty .................................................................................................................................... 16 
17. Konfigurowanie srodowiska uzytkownika.............................................................................. 18 
18. Aliasy ...................................................................................................................................... 18 
19. Komunikacja pomiedzy komputerami. ................................................................................... 19 

 
 

 

Prace  AT&T's  Bell  Laboratories    oraz  Uniwersytetu  Berklay  (Kalifornia  USA)  nad 

pierwsza  wersja  systemu  operacyjnego  UNIX  zostaly  zakonczone  pod  koniec  lat  60-tych.  Data 
oficjalnej  dystrybucji  systemu  1  styczen  1970  rok  okre
ślana  jest  data  jego  „narodzin”. 
Od 1 stycznia 1970 roku „odliczany” jest w sekundach czas tzw „Unix time” lub „POSIX time” 
wspolny  dla  wszystkich  wspolczesnych  wersji  systemu.  Pierwotna  nazwa  systemu  UNIX  zostala 
zastrzezona  przez  Uniwersytet  Berklay,  stad  pozniejsze  i  obecne  dystrybucje  tego  systemu 
przyjmuja  rozne  nazwy  handlowe  np:  HP-UX  firmy  Hewlett-Packard,  SCO  Unix  firmy  IBM, 
Solaris firmy Sun Microsystems, Suse Enterprise firmy Novell oraz wiele systemow okreslanych 
wspolna  nazwa  „linux”  np:  Red  Hat,  Debian,  Open  Suse,  Ubuntu,  Slackware,  Mandriva, 
Knoppix,  Aurix  i  inne.  W  konspekcie  wykorzystane  jest  spolszczone  wyrazenie  „uniks”,  ktore  
reprezentuje dowolna z wymienionej wyzej dystrybucji tego systemu. 
 

1. Poczatek pracy 

 

Logowanie (rejestracja) do systemu. W systemach uniks  nalezy wprowadzic:

 

 

nazwe uzytkownika – ( login

 ) 

 

haslo uzytkownika   - ( password). Haslo nie jest wyswietlane na ekranie

  

Sprawdz  u  administratora  swojego  systemu  jaka  jest  Twoja  nazwa  uzytkownika  oraz  jakie  posiadasz 
haslo. Sprobuj sie zalogowac popelniajac celowe pomylki w nazwie uzytkownika lub hasle. Zwroc uwage 
na  tresc  komunikatow  o  bledach.  Przy  wprowadzaniu  danych  autoryzacyjnych  nie  mozna  poprawiac 
wpisywanych  znakow  (np.  poprzez  kasowanie  lub  nadpisywanie).  W  przypadku  wpisania  blednych 
wartosci, cala procedure autoryzacji nalezy powtorzyc. 
 
UWAGA: 
1.  Administrator  systemu  w  ramach  przyjetej  polityki  bezpieczenstwa  i  ochrony  serwera  moze  ustalic 
dopuszczalna liczbe prob dostepu do systemu. Przekroczenie tej liczby moze spowodowac w zaleznosci 

background image

ARR1303 Sieci komputerowe 

 

- 2/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

od  zastosowanego  rozwiazania  albo  wlaczenie  okreslonego  czasu  kwarantanny  autoryzacji  albo 
dezaktywacje  konta.  W  kazdym  przypadku  o  zaistnieniu  danego  zdarzenia  informowany  jest 
Administrator systemu. 
 
2. W ponizszym tekscie uzywane sa wymiennie synonimy struktur plikowych nazywanych katalogami lub   
    kartotekami 

 

Nazwa uzytkownika:

 

Male i duze litery sa traktowane jako rozne znaki. W nazwie moga wystapic litery, cyfry oraz 
znaki specjalne: _    $

 

Haslo uzytkownika:

 

zestaw znakow - jak dla nazwy uzytkownika plus inne znaki dopuszczone w konkretnej 
implementacji systemu uniks

 

Podczas tworzenia konta uzytkownika przez administratora systemu definiowane sa nastepujace obiekty:

 

 

nazwa uzytkownika

  

 

haslo

  

 

unikalny numer uzytkownika (UID: User Identification Number

 ) 

 

grupa standardowa do ktorej nalezy uzytkownik (GID: Group Identification Number)

  

 

ewentualne ograniczenia na dopuszczalna ilosc zajmowanego miejsca na dyskach 

 

(file quota) - o ile system „quota” jest aktywny

  

 

'dluga' nazwa uzytkownika - pozwalajaca na identyfikacje uzytkownika wedlug jego 
rzeczywistych danych np. imienia i nazwiska

  

 

katalog  domowy  -  kartoteka  bazowa  uzytkownika,  przeznaczona  na  pliki  i  podkatalogi 
zakladane przez uzytkownika. Do katalogu tego kopiowane sa  zwykle standardowe pliki 
konfiguracyjne

  

 

nazwa standardowej powloki jakiej uzywac bedzie w swoich sesjach uzytkownik. Zwykle 
ta powloka (shell) sa: bash, sh, ksh ,csh lub tcsh 

 

 

w systemach uniksowych  nazwa „root” jest zarezerwowana dla administratora systemu - 
tzn. uzytkownika posiadajacego specjalne uprawnienia 

 

2. Ogolne zasady wpisywania polecen w systemie uniks 

 

duze i male litery w nazwach polecen sa traktowane jak rozne znaki -  
wiekszosc polecen systemow uniksowych posiada nazwy zawierajace wylacznie male 
litery

  

 

standardowa linia polecenia uniksa moze miec do 128 znakow. Najczesciej uzywane 
znaki edycyjne:

  

(prawidlowe dzialanie znakow klawiaturowych zalezy od konfiguracji aplikacji,  urzadzenia 
terminalowego lub programu komunikacyjnego) 

usun ostatni znak

 

Backspace lub Ctrl-H

 

usun cala linie polecenia

 

Esc

 

 

ostatnio wprowadzone polecenia sa pamietane w historii polecen uzytkownika. 

 

Na tak zapamietanym zbiorze mozemy wykonywac polecenia: 

 

wyswietl liste wczesniej wykonywanych polecen

 

history

 

powtorz wykonanie ostatniej Polecenia

 

!!

 

powtorz wykonanie ostatniej Polecenia zaczynajacej sie 
od podanego lancucha

 

!lancuch

 

powtorz wykonanie ostatniej Polecenia zawierajacej w 
sobie (w dowolnym miejscu) lancuch

 

!?lancuch

 

wykonaj ponownie n-ta polecene (Polecenia sa 
numerowane od 1)

 

!n

 

background image

ARR1303 Sieci komputerowe 

 

- 3/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

przyklad powtarzania polecen:

 

nowak> history

 

aby powtorzyc:

 

1: pwd

 

!pwd

 

2: mkdir test

 

!?dir

 

3: cd test

 

!3

 

4: ls –l

 

!!

 

 

3. Dostep do danych -  katalogi i pliki. 

 
Nazwa pliku lub katalogu

 

 

do 255 znakow

  

 

duze i male litery, cyfry, znaki specjalne: _ - $  i inne w zaleznosci od systemu.

  

 

duze i male litery sa traktowane jako rozne znaki

  

 

kropki moga wystepowac w nazwach wielokrotnie

  

 

nazwy podkartotek sa oddzielane slashem (/

 

nazwa katalogu korzenia to „/”  - jest to tzw. katalog glowny (root-a, administratora) 

 

nie jest zaimplementowana interpratacja funkcjonalna tzw. rozszerzenia nazwy)

 

Katalogi tworza drzewo katalogow. Oprocz zwyklych plikow w katalogach moga sie pojawic:

 

 

pliki 'ukryte' - kazdy plik, ktorego nazwa zaczyna sie od kropki jest plikiem 'ukrytym'. Jego 
nazwa nie jest podczas listowania zawartosci katalogu wyswietlana.

 

Zwykle sa to pliki 

konfiguracyjne i nie powinny byc usuwane ani modyfikowane przez uzytkownika

 

 

pliki 'specjalne' - wszystkie pliki w kartotece /dev oznaczaja  urzadzenia dolaczone do 
komputera - twarde dyski, urzadzenia peryferalne, itp. 
Nie wolno usuwac plikow z katalogu /dev 

 

Oprocz nazw plikow i katalogow mozemy uzywac wzornikow. We wzornikach moga wystapic - oprocz  
zbioru znakow: [ litery, cyfry, _  $  . (kropki) ]  -  znaki specjalne:

 

 

* - oznacza dowolny lancuch dowolnych znakow

  

 

? - oznacza pojedynczy dowolny znak

  

 

[znak, ..., znak] - dowolny z wymienionych znakow

  

 

[od-do] - dowolny znak o kodzie w podanym zakresie

  

Przyklady wzornikow: 

 

*a

 

dowolna nazwa konczaca sie litera a

 

a??b*c*

 

dowolna nazwa zaczynajaca sie od litery a po ktorej wystepuja dwa dowolne znaki a 
nastepnie litera b, dowolny ciag dowolnych znakow, litera c i dowolny ciag dowolnych 
znakow konczacych nazwe

 

[0-9]*[xyz]

 

dowolna nazwa zaczynajaca sie od cyfry po ktorej wystepuje dowolny ciag dowolnych 
znakow. Nazwa konczy sie jedna z liter xy lub z

 

 
Jezeli chcemy, zeby wzornik obejmowal nazwy zaczynajace sie od kropki ('ukryte') - musimy jawnie 
wymienic kropke we wzorniku 

 

*z

 

dowolna nazwa konczaca sie litera z - z wyjatkiem nazw zaczynajacych sie od kropki

 

.*z

 

dowolna nazwa zaczynajaca sie od kropki po ktorej wystepuje dowolny ciag 
dowolnych znakow zakonczonych litera z

 

 
 
Nie mozna
 zdefiniowac wzornika obejmujacego zarowno nazwy 'ukryte' (zaczynajace sie od kropki) jak i 
nazwy 'nie ukryte'. 

 
 
 
 
 

background image

ARR1303 Sieci komputerowe 

 

- 4/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

4. Polecenia dzialajace na katalogach 

 
mkdir nazwa

 

tworzy (pod)katalog o podanej nazwie

 

pwd

 

wyswietl nazwe biezacego katalogu – sciezki bezwzglednej do biezacej pozycji w strukturze 
plikow

 

rmdir [wzornik | nazwa ]

 

usuwanie katalogu o podanej nazwie. Uwaga! Katalog moze zostac usuniety tylko wtedy, kiedy 
jest pusty (wczesniej usunieto z niego wszystkie pliki i podkatalogi) – w zaleznosci od systemu 
uniks, mozna rowniez wykorzystac tzw. wariantowe uruchamianie polecen z parametrami, ktore 
umozliwiaja usuwanie niepustych katalogow w strukturze drzewa

 

cd nazwa

 

przejscie  do  podkatalogu  o  podanej  nazwie.  Zamiast  nazwy  mozna  podac  wzornik  -  dowolny 
fragment  nazwy  zakonczony  *.  W  tym  przypadku  wzornik  musi  wyznaczac  dokladnie  jeden 
katalog

 

 

istnieja rowniez 'nazwy specjalne':

  

 

..  - katalog nadrzedny 

 

 

.   - katalog biezacy 

 

- katalog korzenia (root-a) 

 

jezeli nazwa (lub wzornik) wystepujaca w poleceniu „cd” zaczyna sie od „/” (slash) – 
uniks szuka katalogu poczawszy od korzenia. Bez „/” przeszukiwanie podkatalogow 
rozpoczynane bedzie zawsze od biezacego katalogu.

  

 

polecenie cd bez nazwy katalogu - powoduje powrot do katalogu 'bazowego' 
("domowego") uzytkownika. 

 

5. Polecenia dzialajace na plikach 

 
ls [ parametry ]
 [ wzornik | nazwa]

 

wyswietla  informacje  o  plikach,  ktorych  nazwy  sa  zgodne  z  wzornikiem.  Jezeli  nie  podamy 
wzornika  -  wyswietla  informacje  o  wszystkich  plikach  -  z  wyjatkiem  plikow  ukrytych.  Najczesciej 
uzywane parametry: 

-F

 

wyswietlaj * po nazwach programow, / po nazwach kartotek

 

-R

 

wyswietlaj rowniez informacje o plikach znajdujacych sie w 
podkatalogch

 

-a

 

wyswietlaj rowniez pliki ukryte (zaczynajace sie od kropki

 

-d 

wyswietlaj tylko nazwy katalogow (bez ich zawartosci) 

-g

 

jak -l (zob.) ale bez wyswietlania informacji o wlascicielu pliku

 

-l

 

'pelny listing' - wyswietlane sa nastepujace informacje o 
plikach:

  

 

typ pliku (katalog, plik, link)

  

 

prawa dostepu, ilosc linkow do pliku

  

 

nazwa wlasciciela i wlasciciela grupowego

  

 

wielkosc pliku (w bajtach)

  

 

czas ostatniej modyfikacji pliku

  

 

nazwa pliku

  

-p

 

wyswietla / po nazwach kartotek

 

-r

 

odwraca porzadek sortowania nazw

 

-s

 

podaje wielkosci plikow, w jednostkach 512 bajtow

 

-t

 

sortuje nazwy wedlug czasu ostatniej modyfikacji ('najstarszy 
najpierw
')

 

-u

 

sortuje wedlug czasu ostatniego dostepu do pliku

 

 

background image

ARR1303 Sieci komputerowe 

 

- 5/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

przyklad: ls -aFsl

 

drwxr-xr-x

 

5

 

tedd

 

users

 

1024

 

Nov 5

 

22:31

 

./

 

drwxr-xr-x

 

8

 

root

 

root

 

1024

 

Nov 3

 

02:42

 

../

 

-rw-r--r--

 

1

 

tedd

 

users

 

144

 

Nov 5

 

22:30

 

.cshrc

 

-rw-r--r--

 

1

 

tedd

 

users

 

163

 

Nov 24 

   

.kermrc

 

-rw-r--r-- 

 

1

 

tedd

 

users

 

34

 

Jun 6 

 

 

.less

 

-rw-r--r--

 

1

 

tedd

 

users

 

114

 

Nov 24

   

.lessrc

 

drwxr-xr-x

 

2

 

tedd

 

users

 

1024

 

Nov 3

 

01:11

 

.term/

 

drwxr-xr-x

 

2

 

tedd

 

users

 

1024

 

Nov 5

 

22:33

 

KURS.Unix

 

 
przyklad: 
cp plik nowy_plik

 

cp wzornik [ ... wzornik] katalog

 

kopiuje  pliki.  W  pierwszej  postaci  kopiuje  plik  na  nowy  plik  tworzac  jego  kopie.  W  drugim 
przypadku  (ostatnia  nazwa  musi  byc  nazwa  katalogu)  kopiuje  grupe  plikow  do  wskazanego 
katalogu. 

 

mv nazwa_stara nazwa_nowa

 

mv wzornik [ ... wzornik] katalog

 

w pierwszej postaci - zmienia nazwe pliku lub katalogu. Pojedyncze nazwy (nie wzorniki) moga 
wystapic. Jezeli plik o nazwie nazwa_nowa  juz istnieje i nie jest zabezpieczony przed zapisem - 
jest usuwany bez ostrzezenia

 

w drugiej postaci - przenosi pliki o nazwach zgodnych z wzornikami do katalogu, ktorego nazwa 
wystepuje jako ostatni parametr. 

. (kropka) jako nazwa katalogu oznacza zadanie przeniesienia plikow do biezacego katalogu. 

rm [-f] [-r] -i] wzornik

 

usuwa  pliki  o  nazwach  zgodnych  z  wzornikiem.  Jezeli  plik  byl  zabezpieczony  przed  zapisem  - 
zada potwierdzenia przed usunieciem pliku. Mozliwe parametry: 

 

-f

 

kasuj pliki bez ostrzezenia, nawet gdy byly zabezpieczone 
przed zapisem

 

-r

 

jako wzornik musi wystapic wzornik wskazujacy na nazwy 
kartotek. Kasowane sa wszystkie pliki i podkatalogi w 
katalogch o nazwach zgodnych z wzornikiem 

 

-i

 

interaktywnie - wyswietla nazwe kazdego pliku przed 
skresleniem - pyta czy plik ma byc skreslony

 

-R 

dane polecenie bedzie takze obejmowalo podkatalogi 

 
cmp plik

1

 plik

2

 

porownuje dwa pliki, wyswietlajac napotkane roznice

 

more nazwa

pliku

 

wyswietla zawartosc pliku, strona (ekran) po stronie. W czasie wyswietlania dzialaja nastepujace 
klawisze:

 

space

 

nastepna strona

 

Enter

 

nastepna linia

 

q

 

koniec wyswietlania

 

 

Cwiczenie:

 

 

zaloz wlasny katalog

 

 

wyswietl wszystkie nazwy plikow z wlasnego katalogu

  

 

przekopiuj kilka plikow z Twojego bazowego katalogu do tej nowo utworzonego

  

 

przejdz do nowego katalogu

  

 

wylistuj i usun wszystkie pliki z nowo utworzonego katalogu

  

background image

ARR1303 Sieci komputerowe 

 

- 6/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

6. Bazowy katalog uzytkownika 

 

Kazdy uzytkownik posiada swoj katalog 'bazowy' – tzn. taki katalog w ktorym znajduje sie bezposrednio 
po  zalogowaniu.  Katalogi  zakladane  przez  uzytkownika  sa  podkatalogami  jego  katalogu  bazowego.  Do 
katalogu  bazowego  mozemy  zawsze  'wrocic'  z  dowolnego  polozenia  w  strukturze  katalogow  wykonujac 
polecenie: 

 

cd

 

polecenie cd bez nazwy katalogu powoduje powrot do katalogu bazowego

 

sprawdz jakie sa zdefiniowane zmienne Twojej powloki 

set 

otoczenie powloki najblizszej (biezacej uzytkownika) 

env 

otoczenie powloki biezacej uzytkownika + 
otoczenie wszystkich powlok nadrzednych 

 

cd $HOME

 

zmienna systemowa - HOME – przechowujaca nazwe katalogu bazowego. 
Odczytanie wartosci zmiennej poprzez dodanie znaku „$” tutaj: $HOME 

 

cd ~username

 

polecena powoduje przejscie do katalogu bazowego uzytkownika username

 

 
Odwolania  " ~username " mozemy rowniez uzywac do kopiowania danych – np: 

cp ~nowak/* . 

uwaga: tutaj drugi parametr (kropka) okresla katalog biezacy 

 

Polecenie cp skopiuje wszystkie pliki uzytkownika nowak do biezacego katalogu.  

 

7. Prawa dostepu  

 

(szczegolowy opis uprawnien standardowych i specjalnych znajduje sie w konspekcie "Uprawnienia_ACL") 

Kazdy plik i katalog w systemie uniks posiada atrybuty, okreslajace prawa dostepu do obiektu.  

Poczatkowe prawa dostepu sa definiowane podczas tworzenia obiektu - wedlug maski ustawionej przez 
administratora systemu. Wlascicielem obiektu jest ten, kto go utworzyl. Wlasciciel obiektu moze w kazdej 
chwili zmienic prawa dostepu do obiektu - zarowno dla siebie jak i dla innych uzytkownikow.

 

Prawa dostepu sa zdefiniowane na trzech poziomach:

 

 

dla wlasciciela obiektu (u)

  

 

dla grupy, do ktorej nalezy wlasciciel obiektu (g)

  

 

dla pozostalych uzytkownikow (o)

  

 

 

Prawa te sa kombinacja nastepujacych praw dostepu: 

 

r

 

prawo do czytania obiektu

 

w

 

prawo do wpisywania danych do obiektu. Pozwala to 
rowniez na usuniecie obiektu

 

x

 

prawo wykonania obiektu (program lub katalog)

 

 
Do zmiany praw dostepu sluzy polecena

 

chmod prawa  [wzornik | nazwa] 

gdzie:

 

 

prawa - dowolna kombinacja liter ug i o (lub litera zastepujaca u+g+o) oznacza kolejno 
wlasciciela pliku, czlonkow grupy do ktorej nalezy wlasciciel pliku (z wylaczeniem wlasciciela 
obiektu) i  pozostalych uzytkownikow oraz jeden ze znakow +- lub = oznaczajacych kolejno:

  

 

+

 

dodaj wymienione w polecenzie chmod prawa do juz 
istniejacych praw dostepu

 

-

 

usun wymienione w polecenzie chmod prawa dostepu ze 
zbioru praw dostepu do obiektu

 

background image

ARR1303 Sieci komputerowe 

 

- 7/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

=

 

usun wszystkie wczesniej ustawione prawa dostepu do 
obiektu, po usunieciu - nadaj wylacznie te prawa, ktore sa 
wymienione w polecenzie chmod

 

 

 

 

 

prawa  - dowolna kombinacja uprawnien rwx

 

 

nazwa - okreslenie obiektu(ow)  dla nowych uprawnien

 

 

Przyklady (wersja symboliczna):

 

chmod u-w *a

 

odbierz wlascicielowi prawa zapisu i kasowania do wszystkich plikow i podkartotek z 
biezacego katalogu, ktorych nazwy koncza sie litera "a"

 

chmod g=r .*z

 

odbierz uzytkownikom, nalezacym do tej samej grupy co uzytkownik wydajacy polecene 
chmod, wszystkie prawa z wyjatkiem praw do czytania dla obiektow z biezacego 
katalogu, ktorych nazwy zaczynaja sie od „kropki” a koncza litera „z”

 

chmod go-wx ~nowak/*

 

odbierz wszystkim uzytkownikom - z wyjatkiem wlasciciela obiektow - prawa do zapisu i 
wykonywania wszystkich plikow i podkartotek z katalogu bazowego uzytkownika nowak. 
Zmiana ta nie dotyczy obiektow w kartotece ~nowak ,  ktorych nazwy zaczynaja sie od 
kropki 

Uwagi:

 

 

biezaco ustawione prawa dostepu mozemy wyswietlic uzywajac Polecenia ls -l

  

 

programem (plikiem wykonawczym) jest plik o atrybucie x - niezaleznie od tego jaka ma nazwe 

 

 

w uniksie nie ma zadnych standardowych typow (rozszerzen) nazw dla plikow 

 

 

katalog  nie posiadajacy atrybutu x - jest katalogiem niedostepnym dla polcenia "cd"

 

 
 

Cwiczenie:

 

 

wylistuj prawa dostepu do plikow w katalogu bazowym

 

 

odbierz sobie prawo pisania do pliku a nastepnie sprobuj go usunac

 

 

wyswietl  informacje  o  Twoich  prawach  dostepu  do  katalogu  innego  uzytkownika. 
Popros  go  o  odebranie  praw  dostepu  dla  "grupy  i  innych".  Ponownie  wyswietl  swoje 
prawa  dostepu  do  jego  obiektow.  Zrob  to  samo  dla  innego  uzytkownika  -  odbierz  mu 
prawa dostepu do Twoich plikow

  

 

ukryj swoj katalog przed innymi uzytkownikami 

 

 

wyswietl zawartosc katalogu /usr/bin  ; ktore z nich sa programami

  lub skryptami ? 

 

8. Miejsce na dysku 

 

Dowolnie  duzy  dysk  twardy  po  pewnym  czasie  staje  sie  za  maly.  Miejsce  na  dysku  dla  Twoich  plikow 
moze  zostac  ograniczone  przez  administratora  systemu.  Aby  sprawdzic,  czy  takie  ograniczenie  istnieje 
mozemy uzyc polecenia

 

quota -v

 

polecenie to wyswietli informacje o tym ile miejsca mozemy maksymalnie zajac na dysku oraz ile z tego 
miejsca juz zostalo przez nas zajete 

 

Sumaryczna wielkosc plikow - polecena

 

du -s wzornik | katalog ]

 

wyswietla informacje o tym, ile miejsca na dysku - w kilobajtach - zajely sumarycznie pliki, ktorych nazwy 
sa zgodne z wzornikiem. O ile nie podamy wzornika - wyswietlona zostanie informacja o tym, ile miejsca 
zajmuja wszystkie pliki w biezacym katalogu. 

background image

ARR1303 Sieci komputerowe 

 

- 8/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

 

du -s /

  

1

 

/TMP

 

1637 

 

/bin

 

121 

 

/boot

 

 

/cdrom

 

21 

 

/dev

 

385 

 

/etc

 

162 

 

/home

 

647 

 

/lib

 

du -s

  

2
1
 
.

   

106259 

 

/usr

 

 
Fizyczna ilosc wolnego miejsca na dysku: 

 

Po wykonaniu polecenia

 

df

 

podawana  jest  nazwa  urzadzenia  (/dev/...),  fizyczna  ilosc  miejsca  na  nosniku,  ilosc  wykorzystanych  i 
wolnych „kilobajtow”, procentowa ilosc wolnego miejsca oraz nazwa katalogu do ktorego 'dolaczony' jest 
nosnik

 

df

 

Filesystem

 

1024-blocks

 

Used

 

Available

 

Capacity

 

Mounted on

 

/dev/hda3

 

201176

 

126269

 

64172

 

66%

 

/

 

/dev/hda1

 

235592

 

231464

 

4128

 

98%

 

/dos_c

 

/dev/hda5

 

235592

 

164284

 

71308

 

70%

 

/dos_d

 

 
Jak uzyskac  informacje o ilosci wolnego miejsca na dysku, na ktorym zapisywane sa nasze pliki? 

 

 

najpierw nalezy odszukac informacje o tym, gdzie zapisywany jest nasz bazowy katalog  

      cd 

pwd

 

Jezeli po wykonaniu polecenia pwd otrzymamy nazwe katalogu bazowego np: /home/nowak ,to 

na podstawie tej informacji i wykonaniu polecenia 

            

df 

mozemy odczytac nazwe urzadzenia (dysku, partycji)  oraz ilosc wolnego miejsca 

Filesystem

 

1024-blocks

 

Used

 

Available

 

Capacity

 

Mounted on

 

/dev/hda3

 

201176

 

126269

 

64172

 

66%

 

/

 

/dev/hda1

 

235592

 

231464

 

4128

 

98%

 

/home

 

/dev/hda5

 

235592

 

164284

 

71308

 

70%

 

/usr/local

 

w powyzszym przykladzie nasz katalog bazowy znajduje sie na dysku /dev/hda1 na ktorym pozostalo 
okolo 4.1 MB wolnego miejsca

 

9. Opisy polecen ('man') 

 

Podczas otwartej sesji, uzytkownik moze otrzymac angielskojezyczny opis polecenia systemu uniks.  
 

man nazwa_polecenia

 

wyswietla pelny opis polecenia o podanej nazwie dzielac ten opis na strony (ekrany monitora). Podczas 
wyswietlania takiego opisu dzialaja nastepujace klawisze kontrolne: 

 

spacja

 

wyswietl nastepny ekran (strone)

 

Enter

 

wyswietl nastepna linie

 

q

 

przerwij wyswietlanie opisu Polecenia

 

 

 
 

background image

ARR1303 Sieci komputerowe 

 

- 9/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

przyklad:

 

man chmod

 

CHMOD(1V) USER COMMANDS CHMOD(1V)

  

 

NAME

 

chmod - change the permissions mode of a file

 

 

SYNOPSIS

 

chmod [ -fR ] mode filename ...

 

 

DESCRIPTION

 

Change the permissions (mode) of a file or files. Only the

 

owner of a file (or the super-user) may change its mode.

  

 
Jezeli nie pamietamy nazwy polecenia mozemy za pomoca 

 

man -k slowo_kluczowe

 

spowodowac wyswietlenie nazw wszystkich polecen ktore w naglowkach swych opisow posiadaja 
podane przez nas slowo kluczowe

 

man -k files

 

 

install_openwin (8)

 

- install OpenWindows system files

 

makeafb (1)

 

- create bitmap files from scalable Folio format files

 

makedepend (1)

 

- create dependencies in makefiles

 

mkfontdir (1)

 

- create fonts.dir file from directory of font files.

 

printtool (1)

 

- OpenWindows tool for printing files

 

ttcp (1)

 

- copy files in a ToolTalk-safe way.

 

ttmv (1)

 

- move or rename files in a ToolTalk-safe way.

 

ttrm, ttrmdir (1)

 

- remove files or directories in a ToolTalk-safe way.

 

tttar (1)

 

- (de)archive files and ToolTalk objects

 

 

:

 

 

10. Edytor "vi" 

vi  jest standardowym edytorem w systemie uniks. Pozwala na tworzenie i edycje plikow tekstowych. 

 

vi [parametry] nazwa 

"parametry specjalne" 

-r plik

 

jezeli nastapila awaria komputera podczas poprawiania przez vi 
jakiegos  pliku  mozemy  -  po  ponownym  uruchomieniu  uniksa 
odzyskac ten plik uruchamiajac vi z parametrem r nazwa_pliku 
poprawianego podczas awarii

 

-R

 

wczytaj plik w trybie read only - to zabezpiecza nas przed 
przypadkowa zmiana zawartosci tych plikow

 

 
vi
 moze pracowac w jednym z 3 stanow: 

 

1.

  tryb  klawiszowy  -  w  tym  trybie  kazdy  klawisz  na  klawiaturze  powoduje  wykonanie  jakiejs  akcji 

na edytowanym pliku

  

2.

  tryb  edycji  tekstu  -  po  wykonaniu  (w  trybie  klawiszowym)  Polecenia  inicjujacej  wpisywanie 

tekstu  -  przechodzimy  do  trybu  edycji  tekstu.  W  tym  trybie  tekst  wpisywany  z  klawiatury  jest 
wstawiany  do  edytowanego  pliku  -  az  do  nacisniecia  klawisza  Esc  -  co  spowoduje  powrot  do 
trybu klawiszowego

  

3.

  tryb polecen liniowych - jezeli w trybie klawiszowym nacisniemy : (dwukropek) - przechodzimy 

do  trybu  polecen  liniowych. W  ostatniej  linii  na  ekranie  pojawia  sie  :  po  ktorym  mozemy  wpisac 
polecene  'liniowe'.  Polecenie  takie  dziala  zwykle  na  grupie  linii.  Po  jego  wykonaniu  vi  wraca  do 
trybu klawiszowego

  

 

background image

ARR1303 Sieci komputerowe 

 

- 10/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

Uwaga!  Najczesciej  popelnianym  bledem  jest  proba  wpisywania  tekstu  w  trybie  klawiszowym  bez 
wczesniejszego wykonania polecenia inicjujacego wpisywanie tekstu. Powoduje to interpretowanie przez 
vi  kazdego  nacisnietego  klawisza  jako  polecenia  vi  ,  i  moze  doprowadzic  do  nieoczekiwanych  przez 
uzytkownika „modyfikacji tekstu”.  
------------------------------------------------------------------------------------------------------------------------------------------- 
Jezeli jestes poczatkujacym uzytkownikiem tego edytora, to rozpoczynaj wprowadzanie tekstu dopiero po 
nacisnieciu klawisza "i" lub "R" 

------------------------------------------------------------------------------------------------------------------------------------------- 

 

(1po uruchomieniu vi przechodzi w tryb polecen klawiszowych - kazde nacisniecie klawisza na 
klawiaturze powoduje wykonanie polecenia, zwiazanego z tym klawiszem

  

 

(1 -> 3-> 1) z trybu klawiszowego, po nacisnieciu : przechodzimy do trybu polecen liniowych. 
Mozemy wpisac polecene - po nacisnieciu klawisza Enter vi wykonuje polecene i wraca do trybu 
klawiszowego (2)

  

 

(1 -> 2) jezeli w trybie klawiszowym wykonamy polecenie wstawiajace tekst - przechodzimy do 
trybu edycji tekstu. W tym trybie znaki wpisywane z klawiatury sa wstawiane do edytowanego 
pliku. Nacisniecie klawisza ESC powoduje powrot do trybu klawiszowego (1) - zakonczenie 
wstawiania tekstu

  

 

(3) jezeli pracujac w trybie liniowym wykonamy polecenie konczace prace vi (q - zakoncz, nie 
zmieniaj pliku, x - zakoncz, zapisz zmieniony plik) - wrocimy do systemu 

 

 

Wybrane polecenia trybu klawiszowego powodujace przejscie do trybu wpisywania tekstu: 

 

a

 

wpisuj tekst za kursorem

 

i

 

wpisuj tekst przed kursorem

 

A

 

wpisuj tekst na koncu linii

 

nadpisuj tekst "pod " kursorem w tym samym wierszu 

I

 

wpisuj tekst na poczatku linii

 

S

 

zastap cala biezaca linie wpisywanym tekstem

 

C

 

zastap znaki od polozenia kursora do konca linii wpisywanym tekstem

 

 

 

ESC 

zakoncz edycje tekstu, przejdz do trybu klawiszowego 

 

Wybrane polecenia sterujace trybu klawiszowego: 

 

dd

 

skasuj cala linie w ktorej znajduje sie kursor

 

x

 

skasuj znak za kursorem

 

X

 

skasuj znak przed kursorem

 

J

 

polacz biezaca i nastepna linie w jedna linie

 

u

 

anuluj ostatnia zmiane ('undo')

 

Y

 

anuluj wszystkie zmiany w biezacej linii

 

.

 

powtarzaj ostatnie polecenie zmieniajace tekst

 

 
Polecenia zmiany pozycji: 

 

? ? 

 

znak w lewo, znak w prawo

 

- ? 

 

linia w gore, linia w dol

 

0

 

przejdz na poczatek biezacej linii

 

$

 

przejdz na koniec biezacej linii

 

fc

 

skocz wprzod do znaku c

 

Fc

 

skocz w tyl do znaku c

 

w

 

skocz do poczatku nastepnego slowa

 

b

 

skocz do poczatku poprzedniego slowa

 

H

 

przejdz na gore ekranu

 

M

 

przejdz na srodek ekranu

 

L

 

przejdz na dol ekranu

 

^F

 

przesun o ekran w przod

 

^B

 

przesun o ekran w tyl

 

^R

 

przerysuj ekran

 

 
zapis ^F oznacza jednoczesne nacisniecie klawisza Ctrl i klawisza F.

 

 
 

background image

ARR1303 Sieci komputerowe 

 

- 11/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

Kopiowanie i przenoszenie tekstu: 

 

Wszystkie  polecenia  usuwajace  lub  kopiujace  tekst  wpisuja  ten  tekst  do  wewnetrznego  bufora  vi.  Tekst 
ten moze byc potem wielokrotnie wstawiany w rozne miejsca pliku. Nizej wymienione polecenia rowniez 
dzialaja na buforze vi

 

m

 

zaznacz biezaca linie

 

y

 

skopiuj zaznaczony tekst do bufora vi

 

p

 

wstaw tekst z bufora vi za kursorem

 

P

 

wstaw tekst z bufora vi przed kursorem

 

 
Wybrane polecenia trybu liniowego: 

 

/wzornik

 

wyszukaj tekst zgodny z wzornikiem, przesun tam kursor

 

/

 

wyszukaj nastepne wystapienie ostatnio uzytego wzornika

 

s/t_old/t_new/

 

zamien tekst t_old

 

na t_new

 

w

 

zapisz biezacy plik na dysk

 

fname

 

zapisz biezaco poprawiany tekst na plik fname

 

fname

 

wczytaj zawartosc pliku fname i wstaw go za kursorem

 

number

 

przejdz do linii numer number

 

 

n

 

zakoncz poprawianie biezacego pliku, zacznij poprawiac nastepny plik, ktorego nazwa 
pasuje do wzornika z linii polecenia uruchamiajacej vi

 

q

 

zakoncz prace vi - jezeli zmienilismy zawartosc pliku vi nie pozwoli nam zakonczyc 
pracy

 

q!

 

zakoncz prace z vi nie zapisujac zmienionego pliku na dysk

 

x

 

zapisz edytowany plik na dysk i zakoncz prace z vi

 

 
Polecenia s i w standardowo przeszukuja i zapisuja caly plik. Jezeli poprzedzimy je dwoma numerami linii 
oddzielonymi przecinkiem - beda dzialac tylko na tych liniach.

 

Jako numery linii mozna uzyc liczb calkowitych lub konstrukcji postaci: 

 

-liczba

 

linia o liczba linii wczesniej niz biezaca

 

+liczba

 

linia o liczba linii pozniej niz biezaca

 

.

 

biezaca linia

 

$

 

ostatnia linia pliku

 

 

Przyklady: 

 

1,20s/ala/ola/

 

zamien kazde wystapienie tekstu ala na ola w liniach od 1 do 20

 

.+5,$-10w part1

 

wpisz na plik part1 czesc biezaco poprawianego pliku - od linii o 5 dalej niz biezaca do 
linii o 10 mniej niz ostatnia linia w pliku 

 

Cwiczenie: 

uzywajac  vi  utworz  we  wlasnym  katalogu  plik  zawierajacy  podanie  o  powtarzanie  kursu  "Sieci 
komputerowe". Najpierw utworz i zapisz plik zawierajacy naglowek takiego podania. Zakoncz prace z vi
Nastepnie uzyj ponownie vi , aby dopisac do pliku uzasadnienie powtarzania kursu. 

 

 
 

 
 

 

background image

ARR1303 Sieci komputerowe 

 

- 12/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

11. Wyswietlanie danych o innych uzytkownikach 

 

zanim sprobujemy skomunikowac sie z jakims uzytkownikiem powinnismy sprawdzic czy jest on aktualnie 
zalogowany  -  mozemy  wtedy  nie  tylko  wyslac  mu  list  lecz  rowniez  'porozmawiac'  z  nim  w  ramach 
otwartych sesji. 
  
Polecenia: 

who

 

wyswietlaja informacje o uzytkownikach, ktorzy sa zalogowani do serwera uniksowego 

 

2:55pm up 3 min, 2 users, load average: 0.02, 0.05, 0.01

 

User

 

tty

 

from

 

login@

 

idle

 

JCPU

 

PCPU

 

what

 

root

 

tty2

 

 

2:53pm

 

 

 

 

w

 

tedd

 

tty1

 

 

2:52pm

 

 

2

 

 

-tcsh

 

 
dodatkowo otrzymujemy informacje o tym kiedy zalogowali sie poszczegolni uzytkownicy('login@'),  z 
jakiego komputera ('from' - w tym przypadku nie bylo uzytkownikow zalogowanych spoza naszego 
serwera) oraz jakie polecenie zostalo przez nich ostatnio wykonane ('what') 

 

Pelniejsze dane o uzytkownikach otrzymamy uzywajac polecenia 

 

finger [ nazwa_uzytkownika ] 

 

jezeli  nie  podamy  nazwy  uzytkownika,  otrzymamy  skrotowa  informacje  o  biezaco  zalogowanych 
uzytkownikach: 

 

Login

 

Name

 

Tty

 

Idle

 

Login Time

 

Office

 

Phone

 

dawid

 

Dawid Kedzierski - r

 

4

 

1

 

Nov 8 19:41

   

 

t_user

 

Uzytkownik 'testowy'

 

3

 

1

 

Nov 8 19:41

 

Comp

 

229622

 

tedd

 

'Tedd' T. Kedzierski

 

1

 

 

Nov 8 19:40

   

 

 
 
natomiast podanie nazwy uzytkownika spowoduje wyswietlenie 'pelnej' informacji o uzytkowniku: 

 

finger dawid 

 

Login: dawid Name: Dawid Kedzierski – rowerzysta

 

Directory: /home/dawid Shell: /bin/tcsh

 

Last login Tue Nov 7 19:05 (MET) on tty1

 

No mail.

 

No Plan.

 

 
mozna  rowniez  wyswietlac  dane  o  uzytkowniku  z  innego  komputera  (musi  tam  byc  uruchomiony  odpo-
wiedni proces np. fingerd) 

 

finger user@adres_sieciowy_komputera

 

lub wyswietlic informacje o wszystkich uzytkownikach aktualnie zalogowanych na 'innym' komputerze: 

 

finger @adres_sieciowy_komputera 

 

 

background image

ARR1303 Sieci komputerowe 

 

- 13/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

12. Wysylanie komunikatow do innych uzytkownikow 

 

Kazdy uzytkownik moze wlaczyc lub wylaczyc przyjmowanie komunikatow poprzez polecenie "mesg" 

mesg y   - system przyjmowania komunikatow zostanie wlaczony 

mesg n   - system przyjmowania komunikatow zostanie wylaczony 

mesg      - sprawdzenie aktualnego statusu systemu przyjmowania komunikatow 

 
 
Aby wyslac komunikat do biezaco zalogowanego uzytkownika mozemy uzyc polecenia

 

write nazwa_uzytkownika [nazwa_terminala] 

 

nazwa_uzytkownika sluzy do wskazania do kogo ma byc wyslany komunikat. Jezeli uzytkownik jest 
zalogowany na kilku terminalach mozemy jawnie wskazac na ktory terminal ma byc przeslany komunikat 
wpisujac nazwa_terminala jako ostatni parametr polecenia write.

 

Po wpisaniu Polecenia write uzytkownik wysylajacy komunikat wpisuje w kolejnych liniach tekst, ktory 
zostanie przeslany. Tekst moze byc wieloliniowy - przechodzimy do nowej linii naciskajac klawisz Enter
Konczymy wpisywanie naciskajac Ctrl-D jako pierwszy znak nowej linii. 

 
U

zytkownik do ktorego wysylamy komunikat zobaczy na swoim ekranie wiadomosc postaci: 

 

Message from root@teddPC on tty at 14:56 ...

 

Koniec pracy - zamykamy!!!

 

Twoj PC.

 

EOF

 

 

13. Interaktywna komunikacja z innymi uzytkownikami 
 

Kazdy uzytkownik moze wlaczyc lub wylaczyc przyjmowanie komunikatow poprzez polecenie "mesg" 

mesg y   - system przyjmowania komunikatow zostanie wlaczony 

mesg n   - system przyjmowania komunikatow zostanie wylaczony 

mesg      - sprawdzenie aktualnego statusu systemu przyjmowania komunikatow 

 

Aby 'porozmawiac' z innym uzytkownikiem uzyjemy polecenia 
 
talk user[@adres_komputera] [nazwa_terminala] 
 
polecenie  to  pozwala  na  'rozmowe'  z  uzytkownikiem,  ktory  jest  aktualnie  zalogowany  i  ma 
wlaczony  system  przyjmowania  komunikatow  (mesg  y).  Podanie  po  nazwie  uzytkownika 
adresu_komputera  umozliwi  'rozmowe'  z  uzytkownikiem  zalogowanym  na  innym  niz  nasz 
serwer. 
Przyklad nawiazania polaczenia pomiedzy dwoma uzytkownikami: 
 
Uzytkownik  „nowak”  zalogowany  na  komputerze  „alfa”  chce  porozmawiac  z  uzytkownikiem 
„kowalski” pracujacym na komputerze „beta” 
 

 

nowak wysyla komunikat

  

talk kowalski@beta

 

 

na ekranie komputera kowalskiego pojawia sie komunikat:

  

 
 

background image

ARR1303 Sieci komputerowe 

 

- 14/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

 

Message from TalkDaemon@beta

 

talk: connection requested by nowak@alfa

 

talk: respond with talk nowak@alfa

 

 

 

kowalski wykonuje polecene

  

talk nowak@alfa  

lub na tym samym serwerze  

talk nowak

 

 
polaczenie zostaje nawiazane. Ekrany komputerow nowaka i kowalskiego zostaja podzielone dwa pola 
-  jedno  z  nich  przeznaczone  jest  na  komunikaty  wysylane,  a  drugie  na    odbierane  -  polaczenie  zostalo 
nawiazane. 

 
A

by zakonczyc polaczenie jeden z uzytkownikow naciska Ctrl-C -  przerwanie polaczenia. 

 

14. Wysylanie listow 

 

Wymienione  wczesniej  metody  komunikacji  pomiedzy  uzytkownikami  wymagaja  otwartych  sesji 
terminalowych.  To  nie  zawsze  jest  mozliwe.  Aby  wymienic  informacje  z  uzytkownikiem  ktory  nie  jest 
aktualnie  zalogowany  -  nalezy  uzyc  polecenia  "mail"  (wyslanie  listu).  Polecenie  to  dostepne  jest  we 
wszystkich systemach uniks.  

 

mail [ uzytkownik[@adres_komputera]] 

 

jezeli nie podamy nazwy uzytkownika - mail sprawdzi czy sa do nas jakies listy. Jezeli nie ma zadnych 
listow po wypisaniu komunikatu 'no mail messagesmail zakonczy dzialanie. 

 
J

ezeli sa jakies listy do nas - mail wyswietli naglowki tych listow: 

 

Mail version 5.5 6/1/90. Type ? for help.

 

"/var/spool/mail/root": 2 messages

 

> 1 root Thu Sep 15 02:23 132/4322 "Register with the Lin"

 

2 vol@mhd1 Thu Sep 15 02:53 65/2683 "Welcome to Linux!"

 

&

 

 
jestesmy teraz w trybie wykonywania polecen maila.: 

 

num

 

wyswietl list numer num

 

num

 

usun list numer num

 

num

 

'nie usuwaj' list numer num. Do momentu zakonczenia pracy z 
mailem wszystkie skreslone listy moga byc odzyskane - 
polecena u

 

num fname

 

dopisz ('append') list numer num do pliku o nazwie fname

 

num

 

wyslij odpowiedz na list numer num - tylko do nadawcy tego listu

 

num

 

wyslij odpowiedz na list o numerze num do wszystkich, ktorzy go 
otrzymali

 

user [@adres_komp]

 

zacznij tworzyc list ktory zostanie wyslany do uzytkownika user

 

h

 

ponownie wyswietl naglowki listow

 

q

 

zakoncz prace z mailem

 

 
 
jako  "num"  mozemy  uzyc  pojedynczego  numeru  (polecena  dotyczy  wtedy  pojedynczego  listu),  dwoch 
numerow  oddzielonych  myslnikiem  (polecena  dotyczy  wszystkich  listow  o  numerach  od  -  do)  lub  * 
(gwiazdki) - w tym ostatnim przypadku polecena dotyczy wszystkich listow. 
Jezeli zaczniemy wysylac list - podajac nazwe adresata - bedziemy proszeni o wpisanie: 

 

background image

ARR1303 Sieci komputerowe 

 

- 15/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

 

cc - pole do ktorego wpisujemy nazwy uzytkownikow (z ewentualnymi adresami komputerow) 
ktorzy powinni otrzymac kopie naszego listu.  
Polecena r wysyla odpowiedz do nadawcy listu oraz wszystkich uzytkownikow wymienionych w 
polu cc

  

 

nastepnie wpisujemy tresc listu. Tresc moze byc dowolnie dluga - konczymy wpisywanie 
naciskajac Ctrl - D lub wpisujac . (kropke) na poczatku pustej linii.

  

 

 

Cwiczenia

 

wyswietl informacje o aktualnie zalogowanych uzytkownikach

  

 

wyslij komunikat do jednego z uzytkownikow

  

 

nawiaz lacznosc (talk) z wybranym uzytkownikiem

  

 

wyslij list do grupy uzytkownikow - odpowiedz na list ktory doszedl do Ciebie

  

 

zapamietaj tresc wybranego listu na pliku

  

 

15. Procesy 

 

kazdy  uruchomiony  w  uniksie  program  jest  traktowany  jak  niezalezny  proces.  Uniks  pozwala  uruchomic 
wiele  procesow  jednoczesnie.  Kazdy  z  uruchomionych  procesow  posiada  3  standardowe  strumienie 
danych:

 

 

input - stad wczytywane sa dane do programu; standardowo(default): z klawiatury

  

 

output - na ten strumien wypisywane sa wyniki i komunikaty; default: ekran terminala

  

 

error - strumien na ktory wysylane sa komunikaty o bledach; default: ekran terminala

  

 

Uniks pozwala przedefiniowac miejsce, skad pobierane sa dane wejsciowe oraz miejsca gdzie 
wyswietlane sa komunikaty za pomoca nastepujacych konstrukcji: 

 

 

proces < fname - pobieraj dane z pliku fname zamiast z klawiatury

  

 

proces > fname - wpisuj wyniki, ktore normalnie bylyby wyswietlane na ekran terminala, do pliku 
fname

  

 

process >> fname - dopisz ('append') wyniki, ktore normalnie bylyby wyswietlane na ekran 
terminala, do pliku fname

  

 

process >& fname -wpisuj wyniki, normalnie kierowane na strumienie output i error do pliku o 
nazwie fname

  

 

process >>& fname - dopisuj ('append') wyniki, normalnie kierowane na strumienie output i 
error do pliku o nazwie fname

  

 

Przyklad: 

 

ls -ls a*z > pliki

 

zapamietaj w pliki dane o wszystkich plikach z biezacego katalogu posiadajacych nazwy 
zaczynajace sie od a i konczace sie na 

 

Uniks pozwala rowniez wykonywac kilka procesow tak, ze ich wykonanie jest powiazane ze soba: 

 

proc1 ; proc2 ; ...

 

-  wykonanie  sekwencyjne:  najpierw  wykonany  zostanie  proces  proc1,  po 
jego zakonczeniu uruchomiony zostanie proces proc2, itd.

 

proc1 & proc2 & ...

 

- wykonanie rownolegle: wszystkie procesy proc

n

 zostana uruchomione 

jednoczesnie i beda sie wykonywac wspolbieznie

 

proc1 | proc2 | ...

 

- wykonanie potokowe: najpierw zostanie uruchomiony proces proc1. Wyniki 
ktore ten proces wyswietla na ekranie  zostana przeslane do procesu proc2
Proces  proc2  zostanie  uruchomiony  po  zakonczeniu  procesu  proc1.  Dane 
przekazane z procesu proc1 sa przesylane do procesu proc2 tak jakby byly 
wpisywane  z  klawiatury.  To  samo  bedzie  sie  powtarzalo  dla  pozostalych 
procesow uruchomionych potokowo

 

 
wszystkie te sposoby uruchamiania procesow mozna laczyc ze soba. Dodatkowo uruchamiane procesy 
moga byc laczone w grupy za pomoca nawiasow np: 

background image

ARR1303 Sieci komputerowe 

 

- 16/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

(p1 ; p2 ) & (p3 | p4 )

 

uruchom wspolbieznie:

 

 

wykonywane sekwencyjnie procesy p1 i p2

  

 

proces p3, po jego zakonczeniu uruchom p4 przekazujac mu jako dane 
wejsciowe dane wytworzone przez p3

  

Czesto uzywane polecenia uniksowe ulatwiajace sterowanie procesami: 

 

cat [ wzornik ]

 

czyta zawartosc wszystkich plikow ktorych nazwy sa zgodne z wzornikiem, laczy ich zawartosc i 
wysyla  na  ekran.  Jezeli  nie  podamy  wzornikow  -  czytaj  dane  ze  standardowego  wejscia 
(klawiatura)

 

grep [ opcje ] tekst wzorzec

 

wyszukuje  w  plikach  ktorych  nazwy  sa  zgodne  z  wzorcem  wszystkie  linie  w  ktorych  wystepuje 
tekst. Wyszukane linie sa przesylane na standardowe wyjscie

 

Najczesciej uzywane parametry:

 

-v

 

wyswietlane sa linie ktore nie zawieraja tekstu

 

-c

 

wyswietla tylko ilosc wyszukanych linii

 

-l

 

wyswietla tylko nazwy plikow w ktorych znaleziono tekst

 

-n

 

wyswietla numery linii przed wyswietlanymi liniami

 

 
Przyklady: 

 

 

polacz w jeden plik wszystkie pliki o nazwach zaczynajacych sie od x w jeden plik o nazwie wynik

  

cat x* > wynik

 

 

wyswietl  informacje  o  aktualnie  zalogowanych  uzytkownikach,  ktorzy  w  informacji  o  sobie  maja 
slowo 'programista'

  

finger | grep programista

 

 

16. Skrypty 

 

Umozliwiaja uruchamianie polecen w trybie wsadowym. W programach skryptowych mozemy uzywac  
wszystkich polecen systemu operacyjnego oraz polecen specjalnych dla tego przetwarzania: 

 

 

parametry - symbole $1, ... , $9 sa zastepowane wartosciami parametrow wystepujacych w linii 
uruchamiajacej skrypt

  

 

 

zmienne - sa to obiekty, tworzone przez programiste lub zdefiniowane w systemie uniks. Kazda 
zmienna ma swoja nazwe - poprzez te nazwe odwolujemy sie do zmiennej.

  

wartosc zmiennej nadajemy poprzez instrukcje

 

nazwa = wartosc

 

natomiast wartosc zmiennej pobieramy uzywajac konstrukcji $nazwa_zmiennej

 

 
Jezeli wartoscia zmiennej alfa jest lancuch beta to polecena

 

echo Wartosc zmiennej alfa: $alfa

 

wyswietli na monitorze komunikat 

 

Wartosc zmiennej alfa: beta

 

W systemie zdefiniowanych jest  wiele zmiennych globalnych - najczesciej uzywane z nich to: 

 

HOME

 

nazwa katalogu bazowego uzytkownika

 

PATH

 

ciag nazw kartotek, oddzielonych : - katalogi te beda przeszukiwane 
przez system w czasie szukania programu do wykonania 

 

background image

ARR1303 Sieci komputerowe 

 

- 17/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

 
We wszystkich omawianych ponizej instrukcjach uzywane sa  nastepujacych oznaczenia: 

 

warunek

 

wykonanie  dowolnego  ciagu  instrukcji  systemowych  -  uruchomienie 
procesow;  polecenia  wbudowane  "warunek"  przyjmuje    wartosc  TRUE 
o  ile  uruchomione  programy  wykonaly  sie  bez  bledow  -  dokladniej 
dopoki beda zwracac wartosc 0

 ; 

dodatkowo jako warunek moze wystapic instrukcja "f  fname" ,przyjmuje 
ona wartosc TRUE, jezeli plik o nazwie "fname" istnieje

 

 

ciag instrukcji

 

dowolny ciag instrukcji systemu uniks

 

 

 

 
Najwazniejsze z dodatkowych instrukcji, ktore mozna uzywac w skryptach: 

 

while warunek; 
do 
ciag instrukcji; 
done

 

wykonuj krotnie ciag instrukcji - tak dlugo jak dlugo spelniony  bedzie 
warunek

 

for zmienna in 
lista_wartosci 
do 
ciag instrukcji 
done

 

lista_wartosci  to ciag nazw oddzielonych spacja; zmienna otrzymuje 
kolejno wartosci z listy_wartosci - dla kazdej z nich wykonywany jest 
ciag instrukcji.

  

Jako lista_wartosci mozne wystapic rowniez wzornik - wartoscia 
zmiennej beda nazwy plikow zgodnych z wzornikiem

 

if [ warunek ]; 
then 
ciag instrukcji_1

 

else 
ciag instrukcji_2

 

fi

 

jezeli spelniony jest warunek - wykonaj ciag instrukcji_1, jezeli nie jest - 
wykonaj ciag instrukcji_2

 

 
 
Uwaga! Przed wykonaniem pliku ze skryptem musimy mu nadac atrybut 'executable' - polecena 
 

  "chmod u+x nazwa_skryptu" 

 

Przyklad:

 

 

sprawdz czy plik o podanej jako parametr skryptu nazwie istnieje. Jezeli tak - sprawdz czy w tym 
pliku  wystepuje  linia  z  tekstem  bedacym  drugim  parametrem  skryptu.  Jezeli  oba  warunki  sa 
spelnione  -  utworz  plik  o  nazwie  zgodnej  z  nazwa  pliku  bazowego  oraz  rozszerzeniem 
'.tekst_szukany.RESULT'.  W  pliku  tym  powinny  znajdowac  sie  wylacznie  linie  zawierajace 
szukany tekst

Plik: do_find

 

for fname in $1;

 

do

 

if [ -f $fname ];

 

then

 

if grep $2 $fname

 

then

 

grep $2 $fname > $fname.$2.RESULT

 

echo Zalozono plik $fname.$2.RESULT ...

 

else

 

echo W pliku $fname nie ma szukanych linii $2

 

fi

 

else

 

echo Plik $fname nie istnieje

 

fi ;

 

done

 

 

 

background image

ARR1303 Sieci komputerowe 

 

- 18/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

Cwiczenie:

 

 

utworz  za  pomoca  vi  -  plik  zawierajacy  skrypt  do_find.  Dodaj  do  skryptu  instrukcje 
sledzace  jego  wykonanie  (instrukcje  echo  wyswietlajace  wartosci  zmiennych  podczas 
wykonywania skryptu)  

 

17. Konfigurowanie srodowiska uzytkownika 

 

w kartotece bazowej kazdego uzytkownika znajduja sie pliki konfigurujace jego sesje. Do najwazniejszych 
z tych plikow naleza: 

 

.cshrc

 

plik zawierajacy instrukcje wykonywane w czasie uruchamiania sesji uzytkownika. 
Znajduja sie tu najczesciej instrukcje definiujace aliasy (zob. dalej), redefiniujace 
zmienna systemowa PATH oraz uruchomienie programow , ktore uzytkownik chce 
wykonywac kazdorazowo podczas uruchamiania jego sesji

 

 

.login

 

plik ten jest uruchamiany kazdorazowo podczas otwarcia przez uzytkownika 
nowego okienka w biezacej sesji. 

 

 

.logout

 

instrukcje wykonywane bezposrednio przed zakonczeniem sesji uzytkownika. 
Zwykle zawieraja Polecenia 'robiace porzadki' - usuwanie plikow tymczasowych, 
odtwarzanie stanu systemu, itp. Moze nie wystapic.

 

 
Kolejnosc uruchamiania plikow .cshrc i .login jest nastepujaca: 

 

 

uzytkownik wykonuje polecene login zeby uruchomic swoja sesje w systemie Unix. Wykonywane 
sa instrukcje z pliku .cshrc. Poniewaz jednoczesnie otwiera sie okienko - po .cshrc wykonywany 
jest plik .login

  

 

kazdorazowo gdy - pracujac w biezacej sesji - uzytkownik otwiera nowe okienko - wykonywany 
jest plik .login

  

 

kiedy uzytkownik wykona polecene logout (konczaca sesje) wykonywany jest plik .logout

  

 
Dodatkowymi plikami konfiguracyjnymi, ktore moga byc ustawiane przez uzytkownika sa: 

 

.forward

 

jezeli taki plik istnieje w kartotece bazowej uzytkownika 
wszystkie przychodzace do niego listy (email) sa 
automatycznie odsylane na adres (lub adresy) zapisane 
wewnatrz pliku .finger

 

.plan

  

.project

 

jezeli te pliki istnieja w kartotece bazowej uzytkownika ich 
zawartosc jest wyswietlana przez polecene finger - 
przekazujaca informacje o uzytkowniku. Pozwalaja 
zdefiniowac informacje ktore uzytkownik chce przekazac o 
sobie

 

 
18. Aliasy 

 

alias nazwa 'wartosc' 

 

wystepujace w plikach .cshrc i .login definiuja aliasy. Od momentu zdefiniowania aliasu kazde wpisanie 
przez uzytkownika tekstu nazwa bedzie traktowane tak jakby uzytkownik wpisal tekst wartosc. Pozwala 
to  definiowac  'nowe'  polecenia  systemie.  wartosc  ujmujemy  w  apostrofy  jezeli  wewnatrz  tekstu 
tworzacego wartosc wystepuja spacje. Polecene alias mozemy rowniez wprowadzac z linii polecen.

 

 
Przyklady:

 

alias md mkdir 
alias dir 'ls -aFsl' 
alias del 'rm -i'

 

background image

ARR1303 Sieci komputerowe 

 

- 19/19 - 

 

doc. dr inz. J.Szymanda & Zespol dydaktyczny 

Polecenie

 

alias

 

pozwala wylistowac biezaco zdefiniowane aliasy a polecena

 

unalias nazwa 

 

usuwa definicje aliasu nazwa.

 

 
 

19. Komunikacja pomiedzy komputerami. 

 

Do komunikacji pomiedzy komputerami w sieci uzywane sa m.in. dwa polecenia: 
 
putty 

bezpieczne sesje terminalowe 

 

 transmisje plikow pomiedzy komputerami.

  

 
wybrane polecenia wewnetrzne 

prompt

 

przelacza  (jezeli  nie  byl  wlaczony  -  to  wlacza,  jezeli  byl  wlaczony  - 
wlacza) tryb pytania o kazdy plik podczas transmisji wielu plikow

 

status

 

wyswietla informacje o biezaco ustawionych parametrach transmisji 
(prompt)

 

lcd katalog

 

zmienia biezaca kartoteke na naszym komputerze

 

cd katalog

 

zmienia biezaca kartoteke na komputerze do ktorego sie 
dolaczylismy

 

get nazwa_pliku 
 [ nazwa_lokalna ]

 

skopiuj  jeden  plik  o  nazwie  nazwa_pliku  z  komputera  zdalnego  na 
nasz komputer. Jezeli wystapi parametr nazwa_lokalna plik zostanie 
zapisany pod ta nazwa. Jezeli nie wystapi - pod nazwa jaka mial na 
komputerze zdalnym

 

put nazwa_pliku 
 [ nazwa_zdalna ]

 

operacja odwrotna do get - skopiuj plik z naszego komputera na 
komputer zdalny ewentualnie zmieniajac mu nazwe na 
nazwe_zdalna

 

mget wzornik

 

skopiuj  wszystkie  pliki  ktorych  nazwy  sa  zgodne  z  wzornikiem  ze 
zdalnego komputera na nasz komputer. Jezeli prompt jest wlaczony 
- nazwa kazdego pliku ktory ma byc przesylany bedzie wyswietlana 
a uzytkownik bedzie pytany czy ten plik ma byc przetransmitowany

 

mput wzornik

 

polecena  odwrotne  do  mget  -  kopiuje  wszystkie  pliki  o  nazwach 
zgodnych z wzornikiem z naszego komputera na komputer zdalny

 

help

 

wyswietl opis polecen psftp 

 

psftp adres_ip 
lub 
symboliczny

 

quit

 

zakoncz prace z psftp