Pliki i katalogi w systemie UNIX
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.
Rozróżniana jest 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 .).
Każdy użytkownik posiada w systemie swój katalog domowy. Ma on z reguły taką samą nazwę jak nazwa użytkownika.
Można się do niego odwoływać przy pomocy symbolu tyldy
~.
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
passw, 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/miriam/stud/student/plik.txt
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/miriam/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 |
Odczyt |
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 |
w |
2 |
Zawartość pliku może być zmodyfikowana |
Można dodawać pliki lub je kasować (niezbędne jest również prawo do wykonywania) |
Wykonanie |
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:
(u) właściciel |
– prawa tylko dla właściciela danego pliku |
(g) grupa |
– prawa tylko dla danej grupy |
(o) inni |
– pozostali użytkownicy systemu |
Przykłady różnych praw dostępu:
Plik może być odczytany, wykonany lub zmieniony tylko przez właściciela
-rwx------
Katalog jest czytany / wykonywany przez właściciela i grupę
dr-xr-x---
Plik może być odczytany, wykonany lub zmieniony tylko przez właściciela
i odczytany i wykonywany przez grupę oraz innych
-rwxr-xr-x
Plik może być odczytany, wykonany lub zmieniony tylko przez właściciela,
odczytany i wykonany przez grupę oraz wykonany przez innych
-rwxr-x--x