Instytut Mikroelektroniki i Optoelektroniki PW
System operacyjny UNIX
wprowadzenie, system plikow i podstawowe
polecenia
Material pomocniczy do przedmiotu
Podstawy Techniki Komputerowej
Opracowal: mgr inz. Krzysztof Markiewicz
Warszawa 17.02.1995
Literatura pomocnicza
- S.Prata, D.Martin: Biblia systemu UNIX V. Polecenia i
programy uzytkowe. LT&P, Warszawa 1994, stron 458
- P.Silvester: System operacyjny UNIX. WNT, Warszawa
1991, wyd. 2, ISBN 83-204-1086-x
- M.Young, J.Levine: UNIX dla opornych. IDG Books,
Warszawa 1994
Wprowadzenie
System operacyjny jest w ogolnosci zestawem programow nadzorujacych
prace komputera. W sklad tego zestawu moga wchodzic rowniez
programy o charakterze czysto uzytkowym (np. edytory tekstu,
kompilatory, itd.)
UNIX to system operacyjny, ktory jest:
- Wielodostepny - tzn. moze nadzorowac rownoczesna prace
wielu uzytkownikow komputera. Uzytkownik jest rozpoznawany przez
identyfikator swojego konta w systemie (userid). Konto
uzytkownika jest chronione prywatnym haslem (password).
- Wielozadaniowy - tzn. kazdy uzytkownik moze zlecac
wykonanie wielu zadan rownoczesnie (dokladniej - z podzialem
czasu).
Bezpieczenstwo systemu wymaga aby mogli w nim pracowac tylko
zarejestrowani uzytkowicy. Rejestracja uzytkownikow i ogolnym
nadzorem zajmuje sie uzytkownik root, zwany rowniez
administratorem systemu. Jest on uzytkownikiem majacym
najszersze uprawnienia w systemie.
W strukturze logicznej systemu UNIX mozna wyodrebnic nastepujace
pojecia:
Jadro
- Zbior najwazniejszych podprogramow, zarzadzajacych zasobami
systemu. Od momentu uruchomienia komputera jadro sprawuje nad nim
pelna kontrole. Uzytkownik komunikuje sie z jadrem przez
powloke.
Powloka
- Interpreter polecen uzytkownika. Powloka posredniczy pomiedzy
uzytkownikiem a jadrem. Kiedy uzytkownik rozpoczyna prace
(loguje sie do sytemu podajac poprawny identyfikator konta
i haslo) system operacyjny uruchamia program powloki, ktory pobiera
polecenia do wykonania z klawiatury terminala uzytkownika.
W sytemie UNIX istnieje wiele roznych powlok (np. sh,
ksh, zsh, csh itd.). Administrator
przydziela kazdemu uzytkownikowi jego powloke standardowa
(uruchamiana w chwili logowania sie do systemu); uzytkownik moze
tez uruchomic dowolna powloke zainstalowana w systemie.
Komendy
- Sa to programy, dostarczane wraz z systemem operacyjnym lub
zainstalowane przez administratora, niekoniecznie nalezace do
samego systemu. Komendy wywoluje sie podajac ich nazwe i ew. opcje
i argumenty.
Przyklady:
- ls -l
- vi plik
- cat p1 p2 >p3
- sort p
- mail
- sh
Komendy na ogol wspolpracuja ze soba (poprzez mechanizm
potokow) i z jadrem systemu.
Pliki
- Plik jest porcja informacji (np. tekst napisany pod edytorem)
zapisana na dysku. Uzytkownik gromadzac pliki tworzy swoje wlasne
zasoby i moze nimi zarzadzac w ramach systemu plikow.
Nazwa pliku moze skladac sie z dowolnych znakow
majacych reprezentacje graficzna (litery i cyfry, znaki
interpunkcji itp.) oraz niektorych znakow specjalnych. Dlugosc
nazwy pliku jest zwykle ograniczona do 255 znakow (w starszych
implementacjach UNIX'a - do 14 znakow). Wszystkie dane o pliku,
poza nazwa, sa przechowywane w strukturze systemowej zwanej
i-wezlem (ang. i-node).
Katalogi
- Katalog jest specjalnym rodzajem pliku, w ktorym jest zapisana
informacja o innych plikach (i/lub katalogach). Pozwala to utworzyc
hierarchiczna, przypominajaca drzewo, strukture katalogow z
umieszczonymi w katalogach plikami. Glowny katalog drzewa oznaczany
jest znakiem /
Uzytkownik wraz z kontem otrzymuje swoj prywatny
katalog (ang. HOME directory), gdzie ma wszystkie
prawa (moze tworzyc, modyfikowac i usuwac pliki/katalogi).
W chwili zalogowania sie do systemu prywatny katalog
uzytkownika staje sie katalogiem roboczym (nazywanym takze
katalogiem aktualnym lub biezacym - ang.
working or current directory). Katalog roboczy mozna
zmienic komenda cd.
Sciezka dostepu do pliku
- Opis lokalizacji pliku w drzewie katalogow: lista nazw
katalogow oddzielonych znakiem / zakonczona nazwa pliku.
Istnieja dwa rodzaje sciezek dostepu do pliku:
- sciezka bezwzgledna, zaczynajaca sie od glownego
katalogu, np.
/home/student/ula/doc/sales.95.raport
- sciezka wzgledna, podajaca polozenie pliku wzgledem
katalogu roboczego. Np., jesli katalogiem roboczym jest
/home/student/ala, to sciezka wzgledna do podanego wyzej
pliku bedzie:
../ula/doc/sales.95.raport
Sciezka przeszukiwan
- Ciag nazw katalogow zapisanych w zmiennej
srodowiskowej PATH. Jezeli uzytkownik napisze z
klawiatury nazwe komendy, to system opracyjny bedzie poszukiwal
programu o podanej nazwie w kolejnych katalogach tworzacych sciezke
przeszukiwan. W odroznieniu od niektorych innych sytemow
operacyjnych, katalog roboczy w ogole nie jest przeszukiwany
(chyba, ze wystepuje w sposob jawny w sciezce przeszukiwan).
Prawa dostepu do pliku/katalogu
- Prawo wykonania przez uzytkownika lub grupe uzytkownikow
okreslonych operacji na pliku lub katalogu. Prawa dostepu sa zwykle
zapisywane w postaci dziewiecioznakowego kodu:
- rwxrwxrwx
Znaczenie poszczegolnych kodow jest nastepujace:
Kod | Plik | Katalog
|
r | prawo odczytu pliku | prawo odczytu
zawartosci katalogu
|
w | prawo zapisu do pliku | prawo zmiany
zawartosci katalogu (utworzenia lub usuniecia pliku)
|
x | prawo wykonania pliku | prawo przejscia
przez katalog
|
Pierwsza grupa znakow rwx odnosi sie do praw wlasciciela,
druga grupy, a trzecia - pozostalych uzytkownikow.
Katalogi systemowe
Ponizej przedstawiono typowy uklad katalogow systemu UNIX.
- /bin, /usr/bin
- Komendy dla uzytkownikow.
- /etc, /usr/etc, /sbin,
/usr/sbin
- Pliki systemowe i konfiguracyjne, programy systemowe i
narzedzia dla administratora.
- /dev
Pliki specjalne reprezentujace urzadzenia.
- /tmp, /usr/tmp
- Katalog na pliki tymczasowe.
- /lib, /usr/lib
- Biblioteki, pliki naglowkowe.
- /lost+found
- Pliki odzyskane podczas sprawdzania spojnosci systemu plikow.
- /usr/local
- Dodatkowe oprogramowanie zainstalowane w systemie.
- /var
- Zmieniajace sie pliki systemowe (logi, kolejki itp.).
- /home
- Prywatne katalogi uzytkownikow.
Wybrane polecenia systemu UNIX
Dokumentacja elektroniczna
Uzytkownik systemu UNIX ma do dyspozycji systemy dokumentacji
elektronicznej, ktore dostarczaja wyczerpujace opisy skladni i
zastosowan wszystkich polecen dostepnych w tym systemie.
Podstawowym podrecznikiem elektronicznym sa man
pages. Podrecznik ten wywoluje si poleceniem:
- man [-s nr_sekcji]
temat
- gdzie:
- temat jest nazwa komendy, funkcji systemowej,
struktury danych, o ktorej chcemy sie uzyskac informacje,
- nr_sekcji jest numerem rozdzialu UNIX
Reference Manual, i podajemy go w przypadku gdy
temat moze miec wiele znaczen.
- Przyklady:
- man man
- man ls
- man -s l zsh
Dla uzytkownikow pracujacych w srodowisku graficznym
X-Windows dostepne sa dwa podreczniki: xman oraz
answerbook. Wystarczy je wskazac myszka i postepowac
zgodnie z wyswietlanymi wskazowkami.
Operacje na plikach i katalogach
- ls
- wyswietla liste plikow z katalogu roboczego
- ls kat
- wyswietla zawartosc katalogu kat
- ls -l
- wyswietla liste plikow w postaci dlugiej
- ls -F
- zaznacza rodzaj pliku (dodajac znak / po nazwie
katalogu, * po nazwie pliku wykonywalnego, @ po
nazwie lacznika itp.
- ls -a
- wyswietla wszystkie pliki z katalogu biezacego, lacznie z
plikami ukrytymi
- ls -d
- wyswietla tylko nazwy podkatalogow w katalogu biezacym
- cd kat
- zmienia katalog roboczy na kat
- pwd
- wyswietla nazwe katalogu roboczego
- mkdir kat
- zaklada w katalogu roboczym podkatalog kat
- rmdir kat
- usuwa katalog kat (jezeli jest pusty)
- cp pl1 pl2
- kopiuje zawartosc pliku pl1 do nowego pliku
pl2
- cp pl1 pl2 pl3 kat
- kopiuje pliki pl1, pl2,
pl3 do katalogu kat
- rm pl1 pl2
- kasuje pliki pl1, pl2
- mv pl1 pl2
- zmienia nazwe pliku pl1 na pl2
- mv pl1 pl2 pl3 kat
- przenosi pliki pl1, pl2,
pl3 do katalogu kat
- ln pl1 nazwa2
- tworzy lacznik (tzw. "twardy") nazwa2 do pliku
pl1
- ln pl1 pl2 pl3 kat
- tworzy lacznik do plikow pl1,
pl2, pl3 w katalogu
kat
- ln -s sciezka skr
- tworzy lacznik symboliczny ("miekki") o nazwie
skr, zastepujacy sciezke dostepu
sciezka
- find kat -name pl -print
- wyszukanie plikow o nazwie pl w drzewie
katalogow zaczynajacym sie od katalogu kat
Prawa dostepu
- chown piotr pl1 pl2 pl3
- przekazuje prawa wlasnosci do plikow pl1,
pl2, pl3 uzytkownikowi
piotr
- chgrp stud pl1 pl2 pl3
- zmiana identyfikatora grupy plikow pl1,
pl2, pl3 na stud
- umask
- wyswietla aktualna maske praw dostepu dla nowo tworzonych
plikow
- umask 022
- zmienia maske praw dostepu dla nowo tworzonych plikow wg
znaczenia 3-cyfrowej liczby osemkowej bedacej argumentem komendy -
bity reprezentacji dwojkowej tej liczby okreslaja maskowane prawa
dostepu. W powyzszym przykladzie uzytkownicy inni niz wlasciciel
nie beda mieli prawa zapisu w do nowo tworzonych plikow i
katalogow:
- 000 010 010
- rwx rwx rwx
- chmod 744 pl1
- chmod u=rwx og=r pl1
- ustawienie praw dostepu do pliku lub katalogu nalezacego do
uzytkownika (prawa rwx dla wlasciciela, prawo r
dla pozostalych uzytkownikow)
Wybrane komendy dzialajace na plikach tekstowych
- more
- pg
- less
- programy stronicujace - wyswietlaja zawartosc pliku strona po
stronie
- cat
- laczenie plikow; moze byc wykorzystany (jesli jest wolany z
jednym argumentem) do wyswietlenia zawartosci pliku
- head
- wyswietlenie kilku pierwszych wierszy pliku tekstowego
- tail
- wyswietlenie kilku ostatnich wierszy pliku tekstowego
- sort
- sortowanie linii pliku
- grep
- wyszukiwanie linii w plikach tekstowych wedlug podanego wzorca
- wc
- wyznaczenie liczby linii/slow/znakow w pliku tekstowym
Wybrane komendy zwiazane z uzytkownikiem
- id
- wyswietlenie UID/GID uzytkownika
- logname
- whoami
- wyswietlenie nazwy uzytkownika
- su
- chwilowa zmiana identyfikatora uzytkownika
- who
- wyswietlenie listy pracujacych uzytkownikow
- finger
- wyswietlenie informacji o innym uzytkowniku
Wymiana informacji miedzy uzytkownikami
- write
- wypisanie komunikatu na ekranie innego uzytkownika
- mesg
- zablokowanie/odblokowanie wypisywania komunikatow od innych
uzytkownikow
- mail
- elm
- poczta elektroniczna
Niektore inne komendy
- cal
- kalendarz
- bc
- kalkulator
KM