8 Unix polecenia systemowe

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 x, y 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

4

w

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

2

x

prawo wykonania obiektu (program lub katalog)

1


Do zmiany praw dostepu sluzy polecena

chmod prawa [wzornik | nazwa]

gdzie:

prawa - dowolna kombinacja liter u, g i o (lub litera a 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 r, w, x.

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

1

/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"

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

(1) po 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

R

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

w fname

zapisz biezaco poprawiany tekst na plik fname

r 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:

w

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 messages' mail 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

d num

usun list numer num

u num

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

s num fname

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

R num

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

r num

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

m 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 z

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


Wyszukiwarka

Podobne podstrony:

więcej podobnych podstron