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