Linux/System plików/Drzewo katalogów

Z Wikibooks, biblioteki wolnych podręczników.

W systemie GNU/Linux zaimplementowano hierarchiczną (drzewiastą) strukturę katalogów, która jest dość ściśle określona wg FHS (Filesystem Hierarchy Standard). Dzięki takiemu podejściu można utworzyć tyle katalogów, ile potrzeba do pogrupowania plików w naturalny sposób. Dodatkowo każdy użytkownik może mieć swój prywatny katalog przeznaczony na własną hierarchię.

Przede wszystkim w katalogu głównym: /, (tzw. katalog "root"), jest tylko kilka katalogów, nie powinno umieszczać się w nim żadnych dodatkowych plików czy katalogów. Nie spowoduje to nieprawidłowego działania systemu, ale jest to ogólnie przyjęty i dość restrykcyjnie przestrzegany standard, dzięki czemu system katalogów jest przejrzysty.

W katalogu głównym poszczególne katalogi mają ściśle określone przeznaczenie:

katalog co zawiera
/bin binarne (wykonywalne) pliki najbardziej podstawowych narzędzi systemowych
/boot pliki niezbędne do uruchomienia systemu (kernel, initrd, pliki bootloadera - w przypadku GRUB)
/dev znajdujące się tutaj pliki nie są faktycznie plikami na dysku, lecz odnoszą się do urządzeń - za ich pośrednictwem system komunikuje się z urządzeniami (komunikacja niskopoziomowa)
/etc pliki konfiguracyjne, ustawienia systemowe
/home pliki określające ustawienia każdego użytkownika, ponadto jest on przeznaczony na zapisywanie danych, np. dokumentów, obrazków, muzyki i wszelkich plików których używamy na co dzień
/lib systemowe biblioteki dzielone (shared libraries), zawierające funkcje które są wykonywane przez wiele różnych programów
/media stąd mamy dostęp do nośników wyjmowanych (miejsce montowania nośników wymiennych) (np. pendrive, CD-ROM)
/mnt tutaj natomiast są "montowane" dyski (w dystrybucjach takich jak Ubuntu, dyski są montowane w /media)
/proc wirtualny katalog, zawierający dane o aktualnie uruchomionych procesach
/root ustawienia użytkownika root - głównego administratora każdego systemu uniksowego, który ma maksymalne uprawnienia
/sbin pliki wykonywalne poleceń, które mogą być wykonywane tylko przez administratora
/tmp pliki tymczasowe
/usr dodatkowe programy, które umożliwiają pracę zwykłemu użytkownikowi systemu
/var pliki systemowe, ale których zawartość często się zmienia, jak logi programów/systemu, pliki html czy skrypty php/cgi wykorzystywane przez serwer www - inaczej mówiąc są to dane zapisywane przez system i ważniejsze programy

Ponadto z uwagi na to, że katalog główny w Linuksie musi być odrębną partycją, znajduje się tu również katalog: lost+found, w którym system plików umieszcza zagubione pliki (np. z powodu błędów na dysku).

Katalogi[edytuj]

Należy zwrócić uwagę, że jest tylko jeden główny katalog. Wszystkie dyski, czy to partycje na twardym dysku, czy CDROM, są "montowane" - sposób polega na tym, że ich zawartość jest widziana w pewnym katalogu.

Dla przykładu, jeżeli mamy partycję FAT32, i jest ona zamontowana w katalogu

/mnt/windows

to w tym katalogu, zwanym punktem montowania będziemy widzieli pliki i katalogi, które znajdują się w głównym katalogu tej partycji. Jeżeli więc w systemie MS Windows mieliśmy plik:

c:\autoexec.bat

to w naszym przypadku będziemy go widzieli jako

/mnt/windows/autoexec.bat

Więcej w Linux/System plików/Montowanie i demontowanie

Montowanie CD-ROMu[edytuj]

Istnieje ogólnie przyjęta praktyka tworzenia pliku

/cdrom

w katalogu głównym, który jest dowiązaniem do katalogu, gdzie montujemy CD-ROM. Standardowo CD-ROM jest montowany w katalogu

/media/cdrom

W niektórych dystrybucjach CD-ROM jest montowany w katalogu /mnt, mimo że katalog ten jest przeznaczony dla dysków dostępnych stale w komputerze (nie wymiennych).

Często spotyka się w katalogu głównym plik - dowiązanie symboliczne do kernela, np.

/vmlinuz

który może być dowiązaniem np. do

/boot/vmlinuz-2.6.15-2-586

Opis poszczególnych katalogów[edytuj]

/home[edytuj]

W tym katalogu są tworzone podkatalogi, osobno dla każdego użytkownika. Z reguły, katalog taki ma dokładnie tę samą nazwę jak użytkownik, do którego należy. Przykładowo, jeżeli mamy w systemie użytkowników "maciek" i "ania", to będą oni mieli odpowiednio katalogi domowe /home/maciek i /home/ania.

Użytkownik, w celu odwołania się do swojego katalogu domowego, nie musi wpisywać jego ścieżki dostępu, a jedynie skrót

~

dla przykładu, aby w konsoli przejść do swojego katalogu domowego, wystarczy wpisać

cd ~

(w przypadku tego polecenia - wystarczy nawet samo cd, ponieważ wtedy domyślną opcją jest właśnie "~").