System plików Linuksa jest uporządkowanym zbiorem plików na dysku lub partycji. Partycja jest segmentem pamięci i zawiera pewne specyficzne dane. W naszej maszynie, mogą istnieć różne partycje pamięci. Ogólnie rzecz biorąc, każda partycja zawiera system plików.
System komputerowy ogólnego przeznaczenia musi przechowywać dane systematycznie tak, że możemy łatwo uzyskać dostęp do plików w krótszym czasie. Przechowuje on dane na dyskach twardych (HDD) lub innych równoważnych typach pamięci masowej. Mogą być następujące powody dla utrzymania systemu plików:
- Primarily komputer zapisuje dane do pamięci RAM; może stracić dane, jeśli zostanie wyłączony. Istnieje jednak nieulotna pamięć RAM (Flash RAM i SSD), która jest dostępna w celu zachowania danych po przerwie w zasilaniu.
- Przechowywanie danych jest preferowane na dyskach twardych w porównaniu do standardowej pamięci RAM, ponieważ pamięć RAM kosztuje więcej niż przestrzeń dyskowa. Koszty dysków twardych stopniowo spadają w porównaniu do pamięci RAM.
System plików Linuksa zawiera następujące sekcje:
- Katalog główny (/)
- Określony format przechowywania danych (EXT3, EXT4, BTRFS, XFS i tak dalej)
- Partycja lub wolumin logiczny posiadający określony system plików.
Co to jest system plików Linuksa?
System plików Linuksa jest ogólnie wbudowana warstwa systemu operacyjnego Linux używany do obsługi zarządzania danymi w pamięci masowej. Pomaga uporządkować plik na dysku. Zarządza nazwą pliku, rozmiarem pliku, datą utworzenia i wieloma innymi informacjami o pliku.
Jeśli mamy nieobsługiwany format pliku w naszym systemie plików, możemy pobrać oprogramowanie aby sobie z nim poradzić.
System plików Linuksa Struktura
System plików Linuksa ma hierarchiczną strukturę plików, ponieważ zawiera katalog główny i jego podkatalogi. Wszystkie inne katalogi mogą być dostępne z katalogu głównego. Partycja zazwyczaj ma tylko jeden system plików, ale może mieć więcej niż jeden system plików.
System plików jest zaprojektowany w taki sposób, że może zarządzać i zapewnić miejsce dla nieulotnych danych pamięci masowej. Wszystkie systemy plików wymagały przestrzeni nazw, która jest metodologią nazewnictwa i organizacji. Przestrzeń nazw definiuje proces nazywania, długość nazwy pliku lub podzbiór znaków, które mogą być używane do nazwy pliku. Definiuje również logiczną strukturę plików na danym segmencie pamięci, np. użycie katalogów do organizacji konkretnych plików. Po opisaniu przestrzeni nazw, opis Metadanych musi być zdefiniowany dla tego konkretnego pliku.
Struktura danych musi obsługiwać hierarchiczną strukturę katalogów; struktura ta jest używana do opisywania dostępnej i używanej przestrzeni dyskowej dla danego bloku. Posiada ona również inne szczegóły dotyczące plików, takie jak rozmiar pliku, data &czas utworzenia, aktualizacji i ostatniej modyfikacji.
Przechowuje również zaawansowane informacje o sekcji dysku, takie jak partycje i woluminy.
Dane zaawansowane i struktury, które reprezentują zawierają informacje o systemie plików przechowywane na dysku; są one odrębne i niezależne od metadanych systemu plików.
System plików Linux zawiera dwuczęściową architekturę implementacji oprogramowania systemu plików. Rozważ poniższy obraz:
System plików wymaga API (Application programming interface), aby uzyskać dostęp do wywołań funkcji do interakcji z komponentami systemu plików, takimi jak pliki i katalogi. API ułatwia zadania, takie jak tworzenie, usuwanie i kopiowanie plików. Ułatwia algorytm, który definiuje układ plików w systemie plików.
Pierwsze dwie części danego systemu plików razem nazywane Linux wirtualny system plików. Zapewnia on pojedynczy zestaw poleceń dla jądra i programistów, aby uzyskać dostęp do systemu plików. Ten wirtualny system plików wymaga określonego sterownika systemowego, aby dać interfejs do systemu plików.
Cechy systemu plików Linuksa
W Linuksie, system plików tworzy strukturę drzewa. Wszystkie pliki są ułożone jako drzewo i jego gałęzie. Najwyższy katalog nazywany jest katalogiem głównym (/). Wszystkie inne katalogi w systemie Linux mogą być dostępne z katalogu root.
Kilka kluczowych cech systemu plików Linux są następujące:
- Określanie ścieżek: Linux nie używa odwrotnego ukośnika (\) do oddzielania elementów; jako alternatywy używa ukośnika w przód (/). Na przykład, tak jak w systemie Windows, dane mogą być przechowywane w folderze C:/ Moje dokumenty / Praca, podczas gdy w systemie Linux byłyby przechowywane w folderze /home/Moje dokumenty/Praca.
- Partycje, katalogi i dyski: Linux nie używa liter dysków do porządkowania dysku, tak jak robi to Windows. W Linuksie nie możemy stwierdzić, czy zwracamy się do partycji, urządzenia sieciowego, czy „zwykłego” katalogu i dysku.
- Wielkość liter: System plików Linuksa jest wrażliwy na wielkość liter. Rozróżnia między małymi i dużymi literami nazw plików. Takich jak, istnieje różnica między test.txt i Test.txt w Linuksie. Ta zasada jest również stosowana dla katalogów i poleceń Linux.
- Rozszerzenia plików: W Linuksie plik może mieć rozszerzenie „.txt”, ale nie jest konieczne, aby plik miał rozszerzenie pliku. Podczas pracy z Shellem, rozróżnianie plików od katalogów sprawia początkującym pewne problemy. Jeśli korzystamy z graficznego menedżera plików, to symbolizuje on pliki i katalogi.
- Pliki ukryte: Linux rozróżnia pliki standardowe i pliki ukryte, głównie pliki konfiguracyjne są ukryte w systemie operacyjnym Linux. Zazwyczaj nie musimy mieć dostępu lub czytać ukrytych plików. Ukryte pliki w Linuksie są reprezentowane przez kropkę (.) przed nazwą pliku (np. .ignore). Aby uzyskać dostęp do plików, musimy zmienić widok w menedżerze plików lub użyć określonego polecenia w powłoce.
Typy systemu plików Linuksa
Gdy instalujemy system operacyjny Linux, Linux oferuje wiele systemów plików, takich jak Ext, Ext2, Ext3, Ext4, JFS, ReiserFS, XFS, btrfs, i swap.
Zrozummy każdy z tych systemów plików w szczegółach:
System plików Ext, Ext2, Ext3 i Ext4
System plików Ext to skrót od Extended File System. Został on opracowany głównie dla systemu operacyjnego MINIX. System plików Ext jest starszą wersją i nie jest już używany z powodu pewnych ograniczeń.
Ext2 jest pierwszym systemem plików Linuksa, który pozwala na zarządzanie dwoma terabajtami danych. Ext3 jest rozwijany przez Ext2; jest unowocześnioną wersją Ext2 i zawiera kompatybilność wsteczną. Główną wadą Ext3 jest to, że nie obsługuje serwerów, ponieważ ten system plików nie obsługuje odzyskiwania plików i migawek dyskowych.
System plików Ext4 jest szybszym systemem plików wśród wszystkich systemów plików Ext. Jest to bardzo kompatybilna opcja dla dysków SSD (solid-state drive), i jest to domyślny system plików w dystrybucji Linux.
System plików JFS
JFS oznacza Journaled File System, i został opracowany przez IBM dla AIX Unix. Jest to alternatywa dla systemu plików Ext. Może być również używany w miejsce Ext4, gdzie potrzebna jest stabilność przy niewielkich zasobach. Jest to przydatny system plików, gdy moc procesora jest ograniczona.
System plików ReiserFS
ReiserFS jest alternatywą dla systemu plików Ext3. Posiada on zwiększoną wydajność i zaawansowane funkcje. We wcześniejszym okresie, ReiserFS był używany jako domyślny system plików w SUSE Linux, ale później zmienił pewne zasady, więc SUSE powrócił do Ext3. Ten system plików dynamicznie obsługuje rozszerzenie pliku, ale ma pewne wady w wydajności.
XFS System plików
XFS system plików był uważany za szybki JFS, który jest opracowany dla równoległego przetwarzania I/O. NASA wciąż używa tego systemu plików w swoich serwerach o wysokiej pamięci masowej (300+ Terabyte server).
System plików Btrfs
Btrfs to skrót od B tree file system. Jest on używany do odporności na błędy, systemu naprawczego, administracji zabawą, rozbudowanej konfiguracji pamięci masowej i nie tylko. To nie jest dobry garnitur dla systemu produkcyjnego.
System plików swap
System plików swap jest używany do stronicowania pamięci w systemie operacyjnym Linux podczas hibernacji systemu. System, który nigdy nie przechodzi w stan hibernacji, musi posiadać przestrzeń wymiany równą rozmiarowi pamięci RAM.
.