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
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
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'.
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
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
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
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.
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
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
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.
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.
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
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:
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:
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:
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
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
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'
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