Jeśli pochodzisz z systemu Windows, struktura systemu plików systemu Linux może wydawać się szczególnie obca. Napędy C: \ i litery dysków zniknęły, zastąpione przez katalogi z ukrytymi dźwiękami, z których większość ma trzyliterowe nazwy.
System plików Hierarchy Standard (FHS) definiuje strukturę systemów plików w systemie Linux i innych systemach operacyjnych podobnych do UNIX. Jednak systemy plików Linux również zawierają niektóre katalogi, które nie są jeszcze zdefiniowane przez standard.
Wszystko w systemie Linux znajduje się w katalogu /, zwanym katalogiem głównym. Możesz myśleć, że katalog / / jest podobny do katalogu C: \ w systemie Windows - ale nie jest to ściśle prawda, ponieważ Linux nie ma liter dysków. Podczas gdy inna partycja byłaby zlokalizowana w D: \ na Windows, ta druga partycja pojawiłaby się w innym folderze pod / na Linuksie.
Katalog / bin zawiera niezbędne pliki binarne użytkownika (programy), które muszą być obecne, gdy system jest podłączony w trybie pojedynczego użytkownika. Aplikacje takie jak Firefox są przechowywane w / usr / bin, a ważne programy systemowe i narzędzia, takie jak powłoka bash, znajdują się w / bin. Katalog / usr może być przechowywany na innej partycji - umieszczenie tych plików w katalogu / bin gwarantuje, że system będzie posiadał te ważne narzędzia, nawet jeśli nie są zamontowane żadne inne systemy plików. Katalog / sbin jest podobny - zawiera podstawowe pliki binarne do administrowania systemem.
Katalog / boot zawiera pliki potrzebne do uruchomienia systemu - na przykład pliki programu ładującego GRUB i jądra systemu Linux są tutaj przechowywane. Pliki konfiguracyjne programu rozruchowego nie są tutaj zlokalizowane - są w / etc z innymi plikami konfiguracyjnymi.
Katalog / cdrom nie jest częścią standardu FHS, ale nadal można go znaleźć w systemie Ubuntu i innych systemach operacyjnych. Jest to tymczasowa lokalizacja dla dysków CD-ROM włożonych do systemu. Jednak standardowa lokalizacja tymczasowych nośników znajduje się w katalogu / media.
Linux udostępnia urządzenia jako pliki, a katalog / dev zawiera wiele specjalnych plików reprezentujących urządzenia. Nie są to pliki rzeczywiste, jakie znamy, ale pojawiają się jako pliki - na przykład / dev / sda reprezentuje pierwszy dysk SATA w systemie. Jeśli chcesz go podzielić, możesz uruchomić edytor partycji i nakazać mu edycję / dev / sda.
Ten katalog zawiera również pseudo-urządzenia, które są urządzeniami wirtualnymi, które w rzeczywistości nie odpowiadają sprzętowi. Na przykład / dev / random generuje liczby losowe. / dev / null to specjalne urządzenie, które nie generuje żadnych danych wyjściowych i automatycznie odrzuca wszystkie dane wejściowe - gdy potrącasz wyjście polecenia do / dev / null, odrzucasz je.
Katalog / etc zawiera pliki konfiguracyjne, które zazwyczaj można edytować ręcznie w edytorze tekstu. Zwróć uwagę, że katalog / etc / zawiera systemowe pliki konfiguracyjne - pliki konfiguracyjne specyficzne dla użytkownika znajdują się w katalogu domowym każdego użytkownika.
Katalog / home zawiera katalog domowy dla każdego użytkownika. Na przykład, jeśli twoja nazwa użytkownika jest bob, masz folder domowy zlokalizowany w / home / bob. Ten folder macierzysty zawiera pliki danych użytkownika i pliki konfiguracyjne użytkownika. Każdy użytkownik ma tylko prawo do zapisu w swoim własnym folderze domowym i musi uzyskać podwyższone uprawnienia (stać się rootem), aby modyfikować inne pliki w systemie.
Katalog / lib zawiera biblioteki potrzebne dla podstawowych plików binarnych w folderze / bin i / sbin. Biblioteki potrzebne w plikach binarnych w folderze / usr / bin znajdują się w / usr / lib.
Każdy system plików Linux ma katalog zagubionych + znalezionych. Jeśli system plików ulegnie awarii, sprawdzenie systemu plików zostanie wykonane podczas następnego rozruchu. Wszystkie znalezione uszkodzone pliki zostaną umieszczone w katalogu lost + found, aby można było odzyskać jak najwięcej danych.
Katalog / media zawiera podkatalogi, w których zamontowane są wymienne nośniki danych zainstalowane w komputerze. Na przykład, po włożeniu dysku CD do systemu Linux katalog zostanie automatycznie utworzony w katalogu / media. Możesz uzyskać dostęp do zawartości dysku CD w tym katalogu.
Historycznie rzecz biorąc, katalog / mnt to miejsce, w którym administratorzy systemu zamontowali tymczasowe systemy plików podczas korzystania z nich. Na przykład, jeśli montujesz partycję Windows, aby wykonać pewne operacje odzyskiwania plików, możesz zamontować ją w / mnt / windows. Można jednak montować inne systemy plików w dowolnym miejscu w systemie.
Katalog / opt zawiera podkatalogi dla opcjonalnych pakietów oprogramowania. Jest powszechnie używany przez zastrzeżone oprogramowanie, które nie jest zgodne ze standardową hierarchią systemu plików - na przykład zastrzeżony program może zrzucić swoje pliki w / opt / application podczas instalacji.
Katalog / proc podobny do katalogu / dev, ponieważ nie zawiera plików standardowych. Zawiera specjalne pliki, które reprezentują informacje o systemie i procesie.
Katalog / root jest katalogiem głównym użytkownika root. Zamiast znajdować się w katalogu / home / root, znajduje się w katalogu / root. Jest to odmienne od /, które jest katalogiem głównym systemu.
Katalog / run jest całkiem nowy i nadaje aplikacjom standardowe miejsce do przechowywania plików przejściowych, których potrzebują, takich jak gniazda i identyfikatory procesów. Pliki te nie mogą być przechowywane w / tmp, ponieważ pliki w / tmp mogą zostać usunięte.
Katalog / sbin jest podobny do katalogu / bin. Zawiera podstawowe pliki binarne, które zazwyczaj są przeznaczone do uruchamiania przez administratora w celu administrowania systemem.
Jeśli twoja dystrybucja Linux używa SELinux dla bezpieczeństwa (na przykład Fedora i Red Hat), katalog / selinux zawiera specjalne pliki używane przez SELinux. Jest podobny do / proc. Ubuntu nie używa SELinux, więc obecność tego folderu na Ubuntu wydaje się być błędem.
Katalog / srv zawiera "dane dotyczące usług świadczonych przez system." Jeśli korzystasz z serwera Apache HTTP do obsługi strony internetowej, prawdopodobnie przechowujesz pliki swojej witryny w katalogu wewnątrz katalogu / srv.
Aplikacje przechowują pliki tymczasowe w katalogu / tmp. Pliki te są zwykle usuwane po każdym uruchomieniu systemu i mogą zostać usunięte w dowolnym momencie za pomocą narzędzi, takich jak tmpwatch.
Katalog / usr zawiera aplikacje i pliki używane przez użytkowników, w przeciwieństwie do aplikacji i plików używanych przez system. Na przykład aplikacje nieistotne znajdują się w katalogu / usr / bin zamiast katalogu / bin, a nieistotne administrowanie systemem znajduje się w katalogu / usr / sbin zamiast katalogu / sbin. Biblioteki dla każdej znajdują się w katalogu / usr / lib. Katalog / usr zawiera także inne katalogi - na przykład pliki niezależne od architektury, takie jak grafika, znajdują się w / usr / share.
Katalog / usr / local to miejsce, w którym lokalnie skompilowane aplikacje są instalowane domyślnie - zapobiega to odkładaniu się resztą systemu.
Katalog / var jest zapisywalnym odpowiednikiem katalogu / usr, który musi być tylko do odczytu w normalnym działaniu. Pliki dziennika i wszystkie inne elementy, które normalnie zostałyby zapisane w / usr podczas normalnej pracy, są zapisywane w katalogu / var. Na przykład znajdziesz pliki dziennika w / var / log.
Aby uzyskać bardziej szczegółowe informacje techniczne na temat hierarchii systemów plików systemu Linux, zapoznaj się z dokumentacją Filesystem Hierarchy Standard.