Pliki i katalogi

 

Podstawowym elementem systemu UNIX jest plik. W postaci plików zapisywane są na dysku zarówno programy i dane, jak również sposób organizacji struktury informacji dyskowej (katalogi, linki symboliczne lub stałe). Typ danego pliku rozpoznawany jest przez system na podstawie jego zawartości, a nie nazwy, czy rozszerzenia. Nazwa pliku, czy katalogu może zawierać znaki specjalne takie jak: kropka, spacja, znaki regionalne, znaczenie ma wielkość liter. Specjalną grupą są tzw. pliki ukryte, których nazwa rozpoczyna się od kropki. Są to zwykle pliki konfiguracyjne, czy tymczasowe, ale nie ma żadnych ograniczeń w ich wykorzystywaniu. Przykłady takich plików znaleźć można w katalogu domowym każdego użytkownika:

.pinerc – plik konfiguracyjny programu pine,

.bash_history – przechowuje historię poleceń wywołanych przez użytkownika podczas korzystania z powłoki “bash”,

 

System plików w systemie UNIX ma strukturę hierarchiczną. Wszystkie pliki umieszczone są w wielopoziomowym drzewie katalogów. U podstaw znajduje się katalog główny (root) oznaczany przez ukośnik /.  Każdy inny katalog w systemie posiada swój katalog nadrzędny (oznaczony symbolem ..). Można mówić również o katalogu bieżącym (oznaczanym symbolem .).

 

Położenie każdego pliku lub katalogu na dysku może być określone za pomocą pełnej ścieżki bezwzględnej, która zawiera nazwy katalogów, poczynając od katalogu głównego.

 

Przykłady

 

Plik o nazwie “passwd”, który znajduje się w katalogu “etc” znajdującym się w katalogu głównym /

 

/etc/passwd

 

Pełna ścieżka dostępu do pliku “plik.txt” znajdującym się w katalogu domowym użytkownika “student”

 

/home/ee/stud/student/plik.txt  jest.

 

Taki sposób organizacji danych powoduje, iż z każdego miejsca w strukturze katalogów systemu mamy dostęp do dowolnego pliku i katalogu. Dzięki temu możemy dokonywać wszelkich operacji bez potrzeby zmiany katalogu roboczego, w którym się aktualnie znajdujemy.

 

Przykłady

 

Przejście do podanego katalogu niezależnie od katalogu bieżącego

 

cd /home/ee/prac/profesor/wyklad

 

Kopiowanie z katalogu /etc do podkatalogu “conf” wszystkich plików, /których nazwa kończy się na “.ini

 

cp /etc/*.ini ./conf/

 

Wyświetlenie ostatnich 10 linii z pliku dziennika serwera pocztowego

 

tail /var/log/maillog

 

Standardowa struktura drzewa posiada zawsze następujące katalogi:

/bin – zawiera zbiór programów  wykonywalnych udostępnionym wszystkim użytkownikom systemu,

/sbin – zawiera zbiór programów do zarządzania i administracji systemu dla użytkowników uprzywilejowanych,

/dev – znajdują się tu sterowniki urządzeń obsługiwanych przez system,

/etc – gromadzi pliki konfiguracyjne systemu i usług,

/tmp – katalog tymczasowy wykorzystywany przez użytkowników i system operacyjny na przechowywanie tymczasowych plików i katalogów,

/lib – gromadzi zbiór bibliotek,

/home – przechowuje katalogi domowe użytkowników systemu,

Zależnie od dystrybucji systemu UNIX, a także indywidualnego podejścia administratora katalogi mogą zmieniać swoje nazwy i przeznaczenie.

 

Ponieważ system UNIX jest systemem wielodostępnym istnieje mechanizm kontroli dostępu do poszczególnych zasobów. Wyróżniamy trzy główne prawa dostępu:

 

Dostęp

Symbol dostępu

Reprezentacja bitowa

Plik

Katalog

Czytanie

(Read)

r

4

Plik może być wyświetlony lub skopiowany

Zawartość może być wyświetlona przy pomocy plecenia ls (dla ls –l niezbędne jest również prawo do wykonywania)

Zapis

(Write)

w

2

Zawartość pliku może być zmodyfikowana

Można dodawać pliki lub je kasować (niezbędne jest również prawo do wykonywania)

Wykonywanie

(Execute)

x

1

Plik może być uruchomiony (skrypt lub program)

Można wejść do katalogu

 

 

Prawa dostępu określane są dla następujących grup użytkowników:

właściciel (u)              – prawa tylko dla właściciela danego pliku,

grup (g)                       – prawa tylko dla danej grupy,

inni  (o)                       – pozostali użytkownicy systemu,

 

Przykłady różnych praw dostępu

-rwx------

 

dr-xr-x---

 

-rwxr-xr-x

 

-rwxr-x—x

 

Ćwiczenia

·        Sprawdzić, jakie katalogi znajdują się w katalogu głównym /?

·        Jaka jest pełna nazwa Twojego katalogu domowego?

·        Jakie pliki ukryte znajdują się w Twoim katalogu domowym?

·        Jakie masz prawa dostępu do katalogów: /bin , /etc, /home/ee/stud? Kto może edytować plik /etc/resolv.conf?

 

Strona poprzednia      Strona następna