[ Pobierz całość w formacie PDF ]
.Słowo trybu dostępuPowyżej przedstawione atrybuty (prawa odczytu i zapisu, znaczniki ustanowienia identyfikatora i bit przyklejenia) stanowią tzw.słowo trybu dostępu (ang.access mode word) do pliku.Do zmiany słowa trybu dostępu służy polecenie chmod, które korzysta z funkcji systemowej o takiej samej nazwie.Typy plikówAle pliki w Linuxie to nie tylko zwykłe pliki, służące do przechowywania danych na dysku w postaci ciągu danych o określonym rozmiarze i pod zadaną nazwą.Spójrzmy na poniższe definicje:#define __S_IFMT 0170000 /* Te bity określają typ pliku.*//* Typy plików */#define __S_IFDIR 0040000 /* Katalog.*/#define __S_IFCHR 0020000 /* Urządzenie znakowe.*/#define __S_IFBLK 0060000 /* Urządzenie blokowe.*/#define __S_IFREG 0100000 /* Zwykły plik.*/#define __S_IFIFO 0010000 /* Kolejka FIFO.*//* Te nie występują w System V, ale nie szkodzi je posiadać.*/#define __S_IFLNK 0120000 /* Dowiązanie symboliczne.*/#define __S_IFSOCK 0140000 /* Gniazdo.*/Jak widzimy, zdefiniowano aż 7 typów plików.Do każdego typu programy mogą odwoływać się w różny sposób.Różne są też zastosowania tych typów.lZwykłe pliki (ang.regular files)lsłużą do przechowywania informacji w pamięci dyskowej, zawierają pewną liczbębajtów informacji.lKatalogi (ang.directories)lto specjalne pliki umożliwiające dostęp do innych plików za pomocą ich nazw.Katalog zawiera numery I-węzłów i przyporządkowane im nazwy plików.Katalog może oczywiście zawierać odwołania także do innych katalogów.Tworzy to drzewiastą strukturę, która umożliwia wygodne zarządzanie nazwami.W jednym katalogu taka sama nazwa pliku nie może wystąpić więcej niż raz.lZnakowe pliki specjalne (ang.character special files)lumożliwiają obsługę urządzeń we/wy w trybie znakowym.lBlokowe pliki specjalne (ang.block special file)lumożliwiają obsługę urządzeń we/wy w trybie blokowym.lKolejki FIFO (ang.FIFO queues)lsłużą do komunikacji międzyprocesowej w standardzie first input - first output.lGniazda (ang.sockets)lsłużą do komunikacji międzyprocesowej (to tzw.gniazda dziedziny Unixa).lDowiązania symboliczne (ang.symbolic links)lto pliki, które wskazują na inne pliki.Można odwoływać się do nich tak jakby były plikami, których ścieżki zawierają.Tryb plikuTryb pliku (ang.file mode) to nic innego jak informacja o typie pliku i jego słowie trybu dostępu.Jest ona pamiętana dla każdego pliku w postaci szesnastobitowej liczby całkowitej.Najłatwiej i chyba najbardziej czytelnie można przedstawić tryb pliku za pomocą liczby ósemkowej - taki sposób formatowania jest też często używany przez wiele poleceń operujących na atrybutach plików.Oto oktalny zapis przedstawiający kolejne pozycje w trybie pliku i przyporządkowane tym pozycjom atrybuty:0000001 prawo do wykonywania przez pozostałych0000002 prawo do odczytu przez pozostałych0000004 prawo do zapisu przez pozostałych0000010 prawo do wykonywania przez grupę0000020 prawo do odczytu przez grupę0000040 prawo do zapisu przez grupę0000100 prawo do wykonywania przez właściciela0000200 prawo do odczytu przez właściciela0000400 prawo do zapisu przez właściciela0001000 bit przyklejenia0002000 ustanowiony identyfikator grupy przy wykonaniu0004000 ustanowiony identyfikator użytkownika przy wykonaniu0100000 plik zwykły0120000 dowiązanie symboliczne0140000 gniazdo0010000 kolejka FIFO0020000 znakowy plik specjalny0040000 katalog0060000 blokowy plik specjalnyJak widać, poszczególne wartości określające prawa pliku są w przeciwieństwie do wartości określających typ pliku wartościami „oddalonymi” od siebie o potęgę liczby 2.Wynika to z tego, iż pewne prawa (np.odczytu dla grupy i zapisu dla grupy) mogą być niezależnie od siebie włączane czy wyłączane.Spójrzmy na binarną reprezentację prawa do odczytu dla pozostałych:Wartości dziesiętne miejsc: 4 2 1 wynik: 21Załóżmy, że chcemy teraz by plik był także dostępny do zapisu przez pozostałych:Wartości dziesiętne miejsc: 4 2 1 wynik: 41Mamy więc dwie wartości w systemie ósemkowym 02 i 04.Musimy je zsumować.W wyniku otrzymamy ósemkową liczbę 06 (dziesiętną 6):Wartości dziesiętne miejsc: 4 2 1 wynik: 611Jak widać powyżej, suma zdefiniowanych wcześniej wartości pozwala nam zapalić odpowiednie bity tak, że jedna wartość nie wpływa na drugą.Oczywiście do przechowywania takich flag potrzeba więcej miejsca (każda następna pozycja musi być kolejną potęgą dwójki) [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lunamigotliwa.htw.pl
  •