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

Valid XHTML 1.0 Transitional Valid CSS!