Przejdź do zawartości

Linux/Definicje/Plik

Z Wikibooks, biblioteki wolnych podręczników.

W systemie Linux, podobnie jak i w innych systemach z rodziny UNIX, plik jest jednym z podstawowych pojęć. Definiuje się go jako "wirtualną jednostkę magazynowania informacji". Co ciekawe, plik w systemie Linux (i innych Uniksach) może reprezentować np. dysk twardy czy pamięć fizyczną komputera! Nawet jednym z jego "założeń" (?) jest traktowanie całej zawartości dysku jako jednego pliku!

Atrybuty pliku

[edytuj]

Każdy plik posiada zestaw pewnych cech, które umożliwiają m.in. jednoznaczną identyfikację pliku (nazwa) bądź też wyznaczają zasady dostępu do pliku (prawa dostępu)[1]. Przyjrzyjmy się teraz najbardziej podstawowym atrybutom plików.

Nazwa pliku

[edytuj]

Przyjęło się, że nazwa pliku może być dowolnym, nie przekraczającym 256 bajtów ciągiem znaków, który w połączeniu z położeniem w strukturze katalogów jednoznacznie informuje system operacyjny o jaki plik chodzi użytkownikowi. Uwaga: w systemie Linux rozszerzenie nie jest traktowane jako element nazwy służący interpretacji – programy z reguły rozpoznają plik po zawartości a nie po nazwie, a powłoka systemu umożliwi uruchomienie programu lub skryptu wtedy, kiedy plik zawierający ten program lub skrypt będzie miał prawa do wykonania, a nie wtedy, kiedy będzie miał nazwę z rozszerzeniem .exe czy .sh.

Tak „się przyjęło”. Natomiast użycie w nazwie pliku niektórych znaków innych niż litery duże i małe oraz cyfry powoduje niemiłe konsekwencje w linii poleceń, tzn. na przykład znak spacji jest traktowany jako separator więc polecenie zawierające argument dobra nasza.txt potraktuje ten argument jako dwie nazwy plików. Żeby temu zapobiec należy znaki spacji, &, `, ( itd poprzedzać znakiem \ który usuwa ich specjalne znaczenie w powłoce.

Prawa dostępu

[edytuj]

System Linux jest systemem wieloużytkownikowym. W takich systemach bardzo istotną rolę odgrywają tzw. prawa dostępu, które regulują możliwość ingerencji innych użytkowników systemu w nasze pliki. System Linux (jak i jego pierwowzór- UNIX) wyróżnia trzy podstawowe grupy użytkowników, dla których definiuje się oddzielne zestawy praw dostępu. Są to:

  • właściciel pliku (osoba, która go utworzyła)
  • grupa użytkowników, do której należy właściciel
  • reszta świata (inni użytkownicy i grupy)

Do tego dochodzą odpowiednie prawa. Wyróżniamy tylko 3 rodzaje praw dostępu:

  • prawo do odczytu zawartości pliku (ang. read - "r")
  • prawo do zapisu danych w pliku (ang. write - "w")
  • prawo do wykonania pliku (ang. execute - "x") [2]

Przypisy

  1. Niektóre systemy plików (np. FAT) nie obsługują typowo Uniksowego modelu praw dostępu. Wtedy implementacja systemu plików w jądrze systemu musi niejako "emulować" obecność praw dostępu
  2. Linux nie rozróżnia programów na podstawie rozszerzenia (czyli np. .exe dla Windowsa) lecz właśnie na podstawie uprawnień