II Liceum ogólnokształcące im. Zbigniewa Herberta w Brzegu
Temat: UNIX
Wykonała:
Zuzanna Bartczak
Klasa 2 „a”
Brzeg dn. 16.01.2008r.
UNIX
System UNIX jest wielodostępnym i wielozadaniowym systemem operacyjnym, ponieważ może obsługiwać jednocześnie wielu użytkowników i wykonywać jednocześnie wiele zadań. W wielu dużych firmach do zarządzania zasobami komputerowymi stosuje się bardzo wydajne i w dużym stopniu niezawodne komputery główne (ang. main computers) z systemami zapewniającymi pracę wielu komputerów i terminali, przy czym wszystkie istotne informacje (programy i dane) są gromadzone w centralnym komputerze. Ze względu na wymogi bezpieczeństwa danych, w systemie mogą pracować tylko zarejestrowani użytkownicy, zaś dostęp każdego z nich do swojego konta (konto to obszar pracy oraz dane pojedynczego użytkownika) jest chroniony hasłem. Jednym z najbardziej rozpowszechnionym na świecie systemem zapewniającym dobrą ochronę danych jest właśnie system UNIX.
System operacyjny Unix jest obok systemu MS-DOS i Windows jednym z najpopularniejszych obecnie systemów operacyjnych. Jest to system, który został napisany przez Kena Thompsona (a także Dennisa Ritchi'ego) w roku 1969 w AT&T Bell Laboratories i który po dotarciu na amerykańskie uniwersytety około roku 1974 był bardzo intensywnie rozwijany na wydziałach nauk komputerowych. W chwili obecnej występuje w bardzo wielu odmianach rozwijanych głównie przez producentów sprzętu komputerowego. I tak firma Sun Microsystem Ltd. sprzedaje swoją wersję Unixa pod nazwą Solaris (dawniej Sun OS), IBM - AIX, Silicon Graphics - IRIX, Digital Equipmant Corporation - Ultrix, Compaq - Tru64Unix. Istnieją także ogólnie dostępne (darmowe) wersje Unixa takie jak BSD Unix czy GNUinux. BSD Unix, to Unix rozwijany na Uniwersytecie Kalifornijskim w Berkeley i rozprowadzany w pakiecie o nazwie Berkeley System Distribution (w tym jego wersję na platformę 8086 o nazwie FreeBSD). Jądro systemu GNUinux napisał Linus Torvalds w 1991 r. i od tamtego czasu system jest stale intensywnie rozwijany przez ogromną rzeszę entuzjastów z całego świata. Poprzez sieć Internet oraz na płytach CD-ROM rozpowszechnianych jest wiele tzw. dystrybucji Linuxa (RedHat, SuSE, Caldera, Debian, itd.), czyli zestawów oprogramowania, na które składają się system operacyjny Linux oraz programy ułatwiające instalację oraz konfigurację systemu, a także cała gama programów użytkowych i narzędziowych.
W przeciwieństwie do systemu MS-DOS system Unix (a także Linux) został pomyślany i zaprojektowany jako system wielozadaniowy, wieloużytkownikowy i interaktywny. Oznacza to, że jeden bądź wielu użytkowników może równocześnie zlecać systemowi wykonanie szeregu oddzielnych zadań. W istocie system komputerowy (wyposażony w jeden procesor) nie obsługuje zleceń wszystkich użytkowników w tej samej chwili, czyli nie wykonuje wszystkich zadań naprawdę równocześnie, jak czyni to system wieloprocesorowy, lecz tylko sprawia takie wrażenie. System Unix jest bowiem systemem z podziałem czasu, w którym czas jednostki centralnej jest kolejno równo dzielony pomiędzy poszczególne zadania. Ponieważ jednostka centralna działa bardzo szybko każdy użytkownik odnosi wrażenie, że system obsługuje tylko jego zlecenia (oczywiście przy bardzo obciążonym systemie komputerowym to wrażenie znika). Zatem w każdej chwili czasu, a ściślej w trakcie ustalonego kwantu czasu, system operacyjny zajmuje się tylko jednym procesem (wykonującym się programem) pojedynczego użytkownika. Architektura systemu oraz sprzęt, który ją wspiera zapewniają ochronę integralności zasobów użytkowników oraz oddzielnych zadań, dzięki czemu setki różnorodnych procesów może się wykonywać równocześnie wzajemnie sobie nie przeszkadzając.
Budowa systemu
System UNIX składa się z jądra, powłoki oraz wielu podsystemów i programów zapewniających określone usługi np. obsługę zadań wydruku kierowanych do drukarki, obsługę plików.
Jądro (ang. kernel)
Jądro zawiera zbiór programów, które zajmują się zarządzaniem zasobami. Gdy komputer jest uruchamiany, to jądro przejmuje nad nim kontrolę. Użytkownik komunikuje się z jądrem przez powłokę.
Powłoka (ang. shell)
Kiedy użytkownik zgłasza się (rozpoczyna pracę), system operacyjny umieszcza go w katalogu osobistym (ang. home directory) i uruchamia program powłoki (ang. shell). Rolą powłoki jest przekazywanie poleceń od użytkownika do jądra systemu.
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
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
Podstawowe polecenia systemu Unixinux
Oto alfabetyczna lista podstawowych poleceń (komend) Unixa.
cat
łączy lub wyświetla zawartość pliku(ów):
cat <plik-1> <plik-2> > <plik-3>
cat <plik-1> » <plik-3>
cd
zmienia katalog na podany:
cd <katalog>
cp
kopiuje plik(i):
cp <plik-źródłowy> <plik-docelowy>
df
wyświetla wielkość dostępnej przestrzeni dyskowej:
df -k <system-plików>
du
wyświetla informację o zajętości dysku:
du <lista katalogów> lub du <lista plików>
exit
kończy bieżącą kopię interpretera poleceń (powłoki)
finger
wyświetla szczegółową informację o użytkowniku:
finger <identyfikator-użytkownika>
grep
przeszukuje wskazany plik (lub pliki) w poszukiwaniu podanego ciągu znaków:
grep 'ciąg znaków' <plik>
gunzip
dokonuje dekompresji pliku(ów) posiadających rozszerzenie gz:
gunzip <plik>
gzip
dokonuje kompresji pliku tworząc plik z rozszerzeniem gz:
gzip <plik>
head
wyświetla 10 pierwszych wierszy pliku tekstowego:
head <plik>
last
wyświetla listę użytkowników, którzy korzystają bądź korzystali z systemu:
last | less
chcąc sprawdzić kiedy jakiś użytkownik korzystał z systemu wystarczy napisać:
last <identyfikator użytkownika>
less
wyświetla zawartość pliku strona po stronie:
less <plik>
logout
kończy sesję (powoduje wylogowanie użytkownika z systemu)
look
wyświetla listę słów angielskich rozpoczynających się podanym ciągiem znaków:
look 'ciąg znaków'
lpr
pozwala na przesłanie pliku(ów) do drukarki:
lpr <plik>
ls
wyświetla informację o pliku(ach):
ls <plik(i)>
man
wyświetla strony podręcznika z opisem poleceń i programów:
man <polecenie>
mkdir
tworzy katalog:
mkdir <nowy katalog>
more
wyświetla zawartość pliku strona po stronie:
more <plik>
mv
zmienia nazwę pliku (katalogu):
mv <stary-plik> <nowy-plik>
ping
służy do sprawdzania połączenia komputer-komputer poprzez wysyłanie pakietów pod wskazany adres internetowy
ps
wyświetla status procesów użytkownika
pwd
podaje nazwę bieżącego katalogu
rm
usuwa plik(i):
rm <plik(i)>
rmdir
usuwa katalog:
mkdir <katalog>
sort
wyświetla uporządkowaną zawartość pliku:
sort
<plik>
tail
wyświetla 10 ostatnich wierszy pliku tekstowego:
tail <plik>
wc
wyświetla liczbę bajtów, słów i linii w pliku
who
wyświetla listę użytkowników aktualnie używających systemu (zalogowanych)