Chociaż w niektórych dystrybucjach mogą występować pewne odchylenia, większość wersji z Linuxa oferowanych w formie pakietu ma identyczną strukturę katalogów. Spójność ta wynika z stosowania standardu FHS (File system Hierarchy Standard). W tej chwili opiszemy zawartość głównego katalogu systemu Linux i najważniejsze katalogi ze struktury drzewa katalogowego oraz ich funkcje.
{module Google reklama arty}
Katalog główny (root) : /
Najwyższy punkt w strukturze katalogów nosi nazwę katalogu głównego ( root directory), jego symbolem jest : /
/bin
Ten katalog Linux zawiera polecenia, które są używane przez superużytkownika i zwykłych użytkowników. Polecenia te mają zazwyczaj krytyczne znaczenie dla systemu i obejmują operacje takie jak: kopiowanie, przenoszenie i usuwanie plików, logowanie się do systemu, tworzenie i otwieranie archiwów, identyfikowanie nazwy systemu oraz oglądanie zawartości plików tekstowych.
/boot
Katalog ten zawiera większość programów wymaganych podczas rozruchu systemu Linux. Inne pliki używane podczas uruchamiania komputera są przechowywane w katalogach /etc i /sbin. Zmian w katalogu /boot można dokonywać tylko jako superużytkownik.
/dev
Katalog ten zawiera pliki urządzeń i inne pliki specjalne. Przykłady urządzeń, których pliki można znaleźć w tym katalogu, są podane poniżej:
/dev/ide
/dev/hdb1
/dev/fd0
/dev/lp0
/dev/midi00
/dev/null
//dev/psaux
/dev/rmdisk
/dev/scd0
/dev/sda
/dev/st0
/dev/tty1
Nie jest to lista wyczerpująca.
/etc
Katalog ten zawiera pliki konfiguracyjne, które są niezbędne zarówno do uruchomienia systemu Linux, jak i zapewnienia jego poprawnej pracy. Wiele z tych plików można edytować automatycznie, używając narzędzia konfiguracyjnego lub posługując się edytorem tekstów. Większość dystrybucji Linuxa oferuje pewną pomoc przy konfigurowaniu plików w katalogu /etc ; niektóre odpowiedzi udzielone przez nas podczas procesu instalacyjnego służą do automatycznego wypełnienia katalogu /etc.
/home
W katalogu tym występują podkatalogi przeznaczone dla poszczególnych użytkowników korzystających z systemu. Na przykład, jeśli w przedsiębiorstwie pracują Piotr, Paweł, Jurek i Ala i sa oni jedynymi użytkownikami systemu, to katalog /home zawierałby 4 katalogi użytkowników:
Istnieją jeszcze inne sposoby porządkowania katalogów użytkowników w Linuxie; jeżeli w przedsiębiorstwie pracuje dajmy na to 120 osób to mogą oni zostać zgrupowani w podkatalogi odpowiadające np. działom (księgowość, marketing itd.).
lib/
katalog ten zawiera pliki bibliotek wymaganych dla programów przechowywanych w katalogach /bin i /sbin. Biblioteka – nowe pojęcie dla debiutanta w programowaniu – jest to plik zawierający kod programu, który może być używany przez kilka innych programów; umieszczając współużytkowy kod (czyli kod używany przez wielu programistów) programiści mogą z niego korzystać i w ten sposób zmniejszać rozmiary swojej aplikacji.
/mnt
Katalog ten jest używany do tymczasowego montowania systemów plików w Linuxie. Na przykład, chociaż w obsługiwanych przez mnie systemach staram się montować stacje dyskietek /dev/fd0 w osobnym katalogu tworzonym bezpośrednio w katalogu głównym, to równie łatwo mogę zamontować stacje /dev/fd0 w katalogu /mnt/floppy. W praktyce wiele dystrybucji Linuxa pomaga utworzyć ten punkt montowania, traktując go jako standardowy.
/opt
Katalog ten może być, ale nie musi, używany w konkretnej dystrybucji Linuxa. Jest przewidziany jako miejsce na aplikacje innych firm, lecz w praktyce większość tych aplikacji, albo instaluje się w katalogu /usr/local, albo – jeżeli są zarządzane jako pakiety – w jakimś innym miejscu. Mimo to może okazać się, że aplikacja, z której będziemy chcieli korzystać, utworzy lub wypełni katalog/opt i jego podkatalogi.
/proc
Katalog /proc jest używany do przesyłania danych do jądra Linuxa. W katalogu tym występuje kilka plików tekstowych, które można przeglądać w celu uzyskania informacji o systemie, takich jak wersja jądra czy dane o procesorze i objętości pamięci.
/root
Katalog /root jest zazwyczaj wykorzystywany jako katalog domowy superużytkownika. Jak sama nazwa wskazuje, użytkownik ten nie jest zwykłym użytkownikiem - konto „root” powinno być używane tylko do prac związanych z administrowaniem systemu. - a zatem katalog ten nie powinien być nadmiernie wypełniony.
Jako pakiety -
/sbin
W katalogu tym spoczywają kluczowe polecenia Linuxa służące do administrowania systemem, mogą one być używane tylko przez użytkownika „root”. Jeśli do uruchomienia systemu jest wymagane jakieś polecenie, które używa tylko superużytkownik, to na pewno znajdzie się ono w tym katalogu. Można tu znaleźć polecenia do sprawdzenia systemu plików, zamykania systemu i niektóre z tych, które są związane z pracą w sieci.
/tmp
W katalogu tym jest udostępnione miejsce dla systemu na przechowywanie plików tymczasowych.
/usr
Katalog /usr zawiera pliki i programy używane przez wszystkie osoby pracujące w systemie. Znajduje się tu większość programów i narzędzi instalowanych dystrybucji Linuxa, które są dostępne do użytku ze zwykłego konta (nie tylko konta „root”). W strukturze systemu plików katalog ten ma nadany atrybut „tylko do odczytu”, co oznacza, że nie należy zmieniać jego zawartości.
/usr/local
Podkatalog /usr/local (katalogu /usr) stanowi wyjątek od zasady, że nie dokonuje się zmian w katalogu /usr . Należy pamiętać, że w Linuxie system plików może być montowany pod dowolną nazwą katalogu. W rzeczywistości niektóre osoby przypisują podkatalog /usr/local do partycji innej niż używana przez katalog /usr . Wynika to z faktu, że w wielu instalacjach Linuxa w podkatalogu /usr/local jest instalowana większość aplikacji innych firm. Oznacza to, że podkatalog /usr/local może na początku być pusty, a my wypełniamy go programami ściągniętymi z Internetu, kupionymi lub otrzymanymi od kolegów.
/usr/src
W podkatalogu /usr/src znajduje się zawsze kod źródłowy Linuxa. Jest to ważne, ponieważ któregoś dnia – taki jest np. cel tego podręcznika – będziemy kompilować jądro systemu (kernel). Podczas instalowania dystrybucji Linuxa w komputerze podkatalog /usr/src powinien zotać zapełniony plikami źródłowymi jądra i nagłówka systemu. Kompilując ponownie to jądro, możemy się posłużyć tymi właśnie plikami. Jeśli zaś uzyskamy i zechcemy skompilować nowsze jądro, to zalecane jest robienie tego w kontrolowanym przez siebie katalogu, takim jak określone miejsce w swoim katalogu domowym. Dzieki temu programy oczekujace w katalogu /usr/src plików nagłówków, znajdą je właśnie tam
/var
Katalog /var to repozytorium (magazyn) Linuxa przeznaczone na dane zmienne. Do danych tych należą pliki blokad, dzienników systemowych, poczta elektroniczna oraz tzw dane buforowe. W katalogu /var można znaleźć interesujące dane.
Plik użytkowników /etc/passwd
Lista użytkowników systemu znajduje się w pliku /etc/passwd , który jest dostępny dla wszystkich użytkowników (to znaczy może być wyświetlony na ekranie przez wszystkich) i który składa się z następujących kolumn:
1. nazwa użytkownika
2. znak x
3. numer użytkownika
4. numer grupy
5. komentarz
6. katalog domowy
7. intepretator poleceń (shell)
Kolumny rozdziela znak dwukropka:
1 2 3 4 5 6 7
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin
shutdown:x:6:0:shutdown:/sbin:/sbin:/shutdown
halt:x:7:0:halt:/sbin:/sbin:/halt
ftp:x:14:50:FTP User:/home/ftp:
nobody:x:99:99:Nobody:/:
ola:x:519:504:Ola Pawlak:/home/ola:/bin/bash
Gdy przy pomocy polecenia useradd administrator definiuje nowego użytkownika i jego konto, tworzony jest automatycznie jego katalog domowy, o nazwie takiej samej jak nazwa użytkownika oraz definiowane są jednocześnie inne parametry, m.in. określona jest powłoka z jaką użytkownik będzie pracował po zalogowaniu się. Gdy jesteśmy zalogowani jako administrator, możemy wykonać następujące polecenie:
# useradd piotr
Wtedy do pliku /etc/passwd zostanie dorzucone konto o nazwie piotr którego katalogiem domowym będzie /home/piotr
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin
shutdown:x:6:0:shutdown:/sbin:/sbin:/shutdown
halt:x:7:0:halt:/sbin:/sbin:/halt
ftp:x:14:50:FTP User:/home/ftp:
nobody:x:99:99:Nobody:/:
piotr:x:518:504:Piotr Pietak:/home/piotr:bin/bash
ola:x:519:504:Ola Pawlak:/home/ola:/bin/bash
Plik grupy użytkowników /etc/group
Grupa użytkowników zawiera pewną liczbę użytkowników którzy mają dostęp do tych samych plików. Grupa ta definiowana jest w pliku /etc/group i składa się z następujących kolumn:
1. nazwa grupy.
2. kolumna pusta lub zawierająca znak x albo *
3. numer grupy
4. lista użytkowników, członków grupy
root:x:0:root
bin:x:1:root,bin,demon
demon:x:2:root,bin,demon
sys:x:3:root,bin,adm