LAB-2-1.doc

(78 KB) Pobierz
SYSTEMY OPERACYJNE

SYSTEMY OPERACYJNE - LABORATORIUM

 

TERMIN 2

 

CEL ZAJĘĆ

Przypomnienie:

-          Podstawowych poleceń z poprzednich zajęć

-          Uzupełnienie tego co nie zostało zrobione na poprzednich zajęciach

Poznanie:

-          Struktury katalogów systemowych

-          Operacji na katalogach,

-          Pojęcia pliku w systemie Unix,

-          Informacji o plikach,

-          Podstawowych operacji na plikach,

-          Uprawnień w dostępie do plików,

-          Wyszukiwania plików w systemie             

 

 

 

 

INFO DLA STUDENTÓW (dosyć obszerne)

 

Struktura katalogów.

Katalog jest strukturą, która umożliwia porządkowanie i grupowanie danych, jakie są

przechowywane na dysku komputera. Katalogi mają strukturę hierarchiczną – w każdym katalogu mogą być przechowywane zarówno pliki, jaki i katalogi niższych poziomów. W systemach UNIX wszystkie dostępne systemy plików postrzegane są przez użytkownika jako jedna struktura katalogów, której wierzchołkiem jest tzw. katalog główny, oznaczany symbolem /. Regułą jest także, że każdy użytkownik posiada tzw. katalog domowy, zwykle

jest to podkatalog katalogu /home, w którym użytkownik może przechowywać własne pliki.

 

/

|-- bin

|-- boot

|-- dev

|-- etc

|-- hom e

|-- lib

|-- lost+found

|-- m edia

|-- m nt

|-- opt

|-- proc

|-- root

|-- sbin

|-- srv

|-- sys

|-- tm p

|-- usr

`-- var

 

Przykładowa struktura katalogów systemu Unix

 

Najistotniejsze podkatalogi katalogu głównego:

/bin – katalog zawierający programy niezbędne do uruchomienia systemu;

/dev – katalog zawierający pliki specjalne, które reprezentują dostępne urządzenia;

/etc – katalog z lokalnymi plikami konfiguracyjnymi systemu;

/home – w tym katalog znajdują się podkatalogi domowe użytkowników systemu;

/proc – wirtualny system plików, który dostarcza informacji o bieżących procesach w

systemie i jego jądrze;

/root – zwyczajowo katalog domowy użytkownika root, czyli administratora systemu;

/usr – katalog zawierający zestaw oprogramowania użytkowego dostępnego dla

użytkowników;

/var – katalog ten zawiera pliki, które często zmieniają swoją zawartość i/lub rozmiar.

 

Informacja o katalogu bieżącym jest wyświetlana po wydaniu polecenia:

pwd

Jak wspomniano symbol / oznacza katalog główny, używa się także innych symboli dla

określenia wybranych katalogów:

.   – oznacza katalog bieżący,

..   – oznacza katalog bezpośrednio nadrzędny;

~   – oznacza katalog domowy użytkownika.

 

Tak więc:

 

cd /etc – zmienia katalog bieżący na katalog /etc;

cd ~ – zmienia katalog bieżący na katalog domowy użytkownika

cd .. – zmienia katalog bieżący na katalog bezpośrednio nadrzędny.

 

Zawartość katalogu:

 

ls – wyświetla zawartość katalogu bieżącego;

ls -a – wyświetla zawartość katalogu bieżącego uwzględniając wszystkie pliki – tzn.

także te, których nazwa zaczyna się od znaku “.” (umownie są to pliki ukryte);

ls -al – wyświetla wszystkie pliki z katalogu bieżącego z uwzględnieniem tzw.

“długiego formatu”, czyli podając typ każdego obiektu w katalogu (pierwszy znak linii: d

– katalog, znak “-” – plik zwykły, l – dowiązanie), prawa dostępu, liczbę dowiązań,

właściciela, nazwę grupy, rozmiar (w bajtach), data ostatniej modyfikacji oraz nazwę

(Rysunek 3);

ls -al ~ – jak wyżej, przy czym wyświetlana jest zawartość katalogu domowego;

ls -al /etc – jak wyżej, ale wyświetlana jest zawartość katalogu /etc.

 

drwxrwxr-x 3 adam students 4096 lip 2 23:55 .

drwxr-xr-x 51 adam students 4096 lip 2 22:12 ..

drwxr-xr-x 9 adam students 4096 cze 30 10:30 abc

-rwxr-xr-x 1 adam students 1751 cze 30 11:32 plik.txt

 

Tworzenie katalogów

 

mkdir ./xyz – utworzenie katalogu xyz w katalogu bieżącym;

mkdir ../xyz – utworzenie katalogu xyz w katalogu bezpośrednio nadrzędnym.

rmdir [przełączniki] nazwa_katalogu – usuwanie katalogów, np.:

rmdir ~/xyz – usunięcie katalogu xyz z katalogu domowego;

rmdir ./xyz – usunięcie katalogu xyz z katalogu bieżącego.

Dla poleceń rmdir i mkdir dostępny jest m.in. przełącznik -p, który pozwala

odpowiednio, usuwać i tworzyć struktury katalogów, np.:

rmdir -p abc/def/ghi – usunie katalogi ghi, def oraz abc, które tworzyły

hierarchię.

 

Prawa  dostępu

W systemach UNIX dostęp do plików i katalogów zabezpieczony jest tzw. prawami dostępu, które regulują zasady na jakich użytkownicy mogą korzystać z tych zasobów. Wyróżnia się trzy rodzaje praw:

prawo odczytu – oznaczane r (ang. read),

prawo zapisu – oznaczane w (ang. write)

oraz prawo wykonania – oznaczane x (ang. execute).

Takie prawa są określane niezależnie dla: użytkownika, który jest właścicielem pliku lub katalogu (domyślnie właścicielem jest użytkownik, który utworzył dany plik lub katalog); użytkowników, którzy należą do tej samej grupy, do której należy plik lub katalog oraz dla pozostałych użytkowników.

 

Interpretacja praw dostępu jest następująca:

 

Czynność do wykonania                     Prawa do pliku                                  Prawa do katalogu

Przeglądanie zawartości katalogu                             ---                                                         r--

Utworzenie pliku w katalogu                                           ---                                                         -wx

Zmiana nazwy pliku w katalogu                             ---                                                         -wx

Usunięcie pliku z katalogu                                           ---                                                         -wx

Odczytanie zawartości pliku                                           r--                                                         --x

Zapis do pliku                                                         -w-                                                         --x

Wykonanie pliku (np. skryptu)                             --x                                                         --x

 

 

 

-rwxr--r-x 2 adam students 4096 cze 23 13:32 abc.txt

 

Informacja o prawach wyświetlana jest według następującego schematu

 

Użytkownik (user)

Grupa (group)

) Inni użytkownicy (others)

r w x

r w x

r w x

 

 

Zatem dla pliku abc.txt dostępne są następujące prawa (znak ”“ oznacza brak danego prawa):

dla właściciela dostępne są wszystkie prawa,

dla członków grupy students dostępne jest tylko prawo do odczytu,

a dla pozostałych użytkowników prawa odczytu i wykonywania.

 

Prawami dostępu można także operować stosując notację numeryczną, w której każde prawo ma przypisaną pewną wartość liczbową, i tak:

prawo odczytu – 4;

prawo zapisu – 2,

prawowykonywania – 1.

 

Tak więc, prawa zapisane numerycznie dla pliku abc.txt z powyższego przykładu miałyby następującą postać:

745 – 7 oznacza wszystkie prawa dla użytkownika (4 + 3 + 1),

4 oznacza prawo odczytu dla grupy,

a 5 oznacza praw odczytu i wykonywania (4 + 1) dla pozostałych użytkowników.

 

Operowanie prawami dostępu i określaniem prawa własności jest możliwe dzięki następującym poleceniom systemowym:

 

chmod [przełączniki] uprawnienia nazwa_pliku_lub_katalogu – zmiana praw dostępu

wskazanych pierwszym argumentem wywołania dla pliku lub katalogu wskazanym drugim

argumentem wywołania:

W specyfikacji należy zatem wskazać:

dla kogo mają być zmienione prawe (u – właściciel, g – użytkownicy z tej samej grupy, o – inni użytkownicy, a – wszyscy),

rodzaj zmiany (+ – dodanie praw, - – odjęcie praw, = – ustalenie praw)

oraz prawa.

Przykładowe zlecenia z wykorzystaniem polecenia chmod:

chmod u+w plik.txt – dodaje prawo odczytu dla właściciela do pliku plik.txt;

chmod go-x plik.txt – usuwa prawo wykonywania dla użytkowników z tej samej

grupy i innych do pliku plik.txt;

chmod a=r plik.txt – ustawia prawa dostępu na tylko do odczytu dla wszystkich

użytkowników do pliku plik.txt;

Polecenie chmod umożliwia także określanie praw dostępu w postaci numerycznej, np.:

chmod 777 plik.txt – ustawia wszystkie prawa, wszystkim użytkownikom do pliku

plik.txt;

chmod 742 – ustawia prawa odczytu, zapisu i wykonywania właścicielowi, prawo

odczytu użytkownikom z tej samej grupy oraz prawo zapisu innym użytkownikom do

pliku plik.txt;

chown [przełączniki] nazwa_nowego_właściciela nazwa_pliku_lub_katalogu – zmiana

właściciela pliku lub katalogu. Ze względu na nieodwracalność ewentualnych zmian,

polecenie to jest często zarezerwowane dla administratora systemu.

chgrp [przełączniki] nazwa_nowej_grupy nazwa_pliku_lub_katalogu – zmienia grupę, do

której należy wskazany plik lub katalog. Podobnie jak polecenie chown, i to polecenie

najczęściej jest zarezerwowane dla administratora.

 

Operacje na plikach

Plik w systemie UNIX  to ciąg bajtów - zdefiniowana (przeważnie przez użytkownika) porcja danych, która jest przechowywana w systemie w pamięci masowej. W systemach UNIX niemal wszystko jest plikiem, także urządzenia są reprezentowane przez specjalne pliki.

 

Nazwy plików nie mają podziału na nazwę i rozszerzenie, jednakże można takie podejście stosować; możliwe jest stosowanie w  nazwach plików znaków specjalnych (np.: $, % lub #), ale nie jest to zalecane.

 

Podstawowe operacje na plikach  można realizować z wykorzystaniem następujących

poleceń:

...

Zgłoś jeśli naruszono regulamin