17
1. Linuks. W Linuksie twarde dyski oznaczone są w zależności od ich typu. Dla dysków w standardzie IDE przyjęto oznaczenia: standard IDE standard SATA, SCSI hda sda pierwszy dysk w kanale podstawowym (primary master) hdb sdb drugi dysk w kanale podstawowym (secondary master) hdc sdc pierwszy dysk w kanale pomocniczym (primary slave) hdd sdd drugi dysk w kanale pomocniczym (secondary slave) Na każdym dysku mogą być maksymalnie 4 partycje podstawowe (np. dla dysku hda oznaczane hda1, hda2, hda3, hda4). Zamiast partycji podstawowej możemy utworzyć partycję rozszerzoną, a na niej dyski logiczne. Oznaczanie dysków logicznych rozpoczyna się zawsze od numeru 5. Jeżeli w systemie jest tylko jedna partycja podstawowa (oznaczana hda1) oraz partycja rozszerzona z dyskami logicznymi to uzyskują one oznaczenia hda1, hda5 itd. Jeżeli Linux jest instalowany na komputerze jako kolejny system operacyjny, to na dysku musimy wydzielić dla niego oddzielną partycję dla plików oraz dodatkową partycję wymiany (traktowaną jako pamięć wirtualna). Typ i polożenie partycji nie mają znaczenia. W systemach pelniących rolę serwera instaluje się tylko jeden system operacyjny, zajmujący calą przestrzeń dyskową podzieloną na więcej partycji ze względu na: bezpieczeństwo i latwiejszą rozbudowę systemu (np. jeżeli partycja zostanie zapelniona danymi, możemy do komputera dolączyć nowy dysk i podmontować go w miejsce starej partycji), latwiejsze tworzenie kopii zapasowych, ochronę partycji przed zapelnieniem przez dane użytkowników (np. jeżeli użytkownicy zapelnią danymi partycję z ich folderami domowymi, to nie spowodują awarii calego systemu). Najczęściej wyodrębniane partycje przedstawiono w tab. 4.1. Oznaczenie partycji Przeznaczenie partycji / partycja glówna, gdzie zostanie zainstalowany system z jego folderami i plikami swap partycja wymiany home foldery domowe użytkowników var pliki ze zmiennymi i informacjami o zdarzeniach w systemie opt. dodatkowe oprogramowanie tmp na pliki tymczasowe

Na ka |dym dysku · Lista uruchomionych procesów Do wy świetlenia listy uruchomionych procesów u żywamy polecenia ps Mo że go u żywa ć ka żdy u żytkownik, ale wy świetlane

Embed Size (px)

Citation preview

1. Linuks. W Linuksie twarde dyski oznaczone są w zależności od ich typu. Dla dysków w standardzie IDE przyjęto

oznaczenia:

standard IDE standard SATA, SCSI

hda sda pierwszy dysk w kanale podstawowym (primary master)

hdb sdb drugi dysk w kanale podstawowym (secondary master)

hdc sdc pierwszy dysk w kanale pomocniczym (primary slave)

hdd sdd drugi dysk w kanale pomocniczym (secondary slave)

Na każdym dysku mogą być maksymalnie 4 partycje podstawowe (np. dla dysku hda

oznaczane hda1, hda2, hda3, hda4). Zamiast partycji podstawowej możemy utworzyć partycję

rozszerzoną, a na niej dyski logiczne. Oznaczanie dysków logicznych rozpoczyna się zawsze

od numeru 5. Jeżeli w systemie jest tylko jedna partycja podstawowa (oznaczana hda1) oraz

partycja rozszerzona z dyskami logicznymi to uzyskują one oznaczenia hda1, hda5 itd.

Jeżeli Linux jest instalowany na komputerze jako kolejny system operacyjny, to na dysku

musimy wydzielić dla niego oddzielną partycję dla plików oraz dodatkową partycję wymiany

(traktowaną jako pamięć wirtualna). Typ i położenie partycji nie mają znaczenia.

W systemach pełniących rolę serwera instaluje się tylko jeden system operacyjny, zajmujący

całą przestrzeń dyskową podzieloną na więcej partycji ze względu na:

• bezpieczeństwo i łatwiejszą rozbudowę systemu (np. jeżeli partycja zostanie zapełniona

danymi, możemy do komputera dołączyć nowy dysk i podmontować go w miejsce starej

partycji),

• łatwiejsze tworzenie kopii zapasowych,

• ochronę partycji przed zapełnieniem przez dane użytkowników (np. jeżeli użytkownicy

zapełnią danymi partycję z ich folderami domowymi, to nie spowodują awarii całego

systemu).

Najczęściej wyodrębniane partycje przedstawiono w tab. 4.1.

Oznaczenie

partycji

Przeznaczenie partycji

/ partycja główna, gdzie zostanie zainstalowany system z jego

folderami i plikami

swap partycja wymiany

home foldery domowe użytkowników

var pliki ze zmiennymi i informacjami o zdarzeniach w systemie

opt. dodatkowe oprogramowanie

tmp na pliki tymczasowe

usr oprogramowanie użytkowe

Rozmiar partycji uzależniony jest od wybranej dystrybucji, przeznaczenia partycji oraz od

planowanego stopnia jej wykorzystania, partycja wymiany - dwukrotnie więcej niż rozmiar

pamięci RAM w komputerze.

1.1. Instalacja systemu

Nowoczesne dystrybucje Linuksa wyposażone są w programy ułatwiające ich zainstalowanie i

wstępne skonfigurowanie. Nie jest to czynność trudna, lecz wymaga ostrożności (można przez

nieuwagę usunąć wszystkie istniejące partycje z danymi) i czasu. Po instalacji możemy uzyskać

gotowy system wraz z oprogramowaniem użytkowym umożliwiającym wykonanie wszystkich

typowych zadań.

W dystrybucji Linuksa dostępne są dwa rodzaje instalatorów:

− w trybie tekstowym - metoda szybsza, ale trudniejsza,

− w trybie graficznym - metoda zalecana dla początkujących użytkowników.

Przed rozpoczęciem instalacji należy zaplanować jej przebieg oraz przygotować system. Po

włożeniu płyty do napędu CD/DVD i restarcie komputera automatycznie uruchamiany jest

program instalujący system. Zadaniem użytkownika jest wprowadzanie dodatkowych informacji

w czasie instalacji:

1. Wybór sposobu instalacji Install or upgrade en existing system pozwoli nam zainstalować lub

zaktualizować system w środowisku graficznym.

2. Test nośnika - pozwala sprawdzić, czy na płycie instalacyjnej nie ma błędów -jeżeli wcześniej

instalowano system z tej płyty, można ten krok pominąć.

3. Po zakończeniu lub pominięciu testowania nośnika, przechodzimy do instalacji.

4. Wybór języka, w jakim będzie przeprowadzona instalacja systemu.

5. Wybór ustawień klawiatury i myszy.

6. Konfiguracja urządzeń sieciowych, (aby edytować dane konfiguracyjne karty sieciowej,

należy wybrać przycisk Edytuj):

- sposób ustawienia karty sieciowej - dynamicznie (DHCP) lub statycznie,

- adres karty sieciowej,

- maska sieci,

- domyślna brama,

- nazwa hosta,

- adres serwerów DNS (primary, secondary, tertiary).

7. Wskazanie strefy czasowej.

8. Ustawienie hasła administratora - należy wprowadzić hasło, które będzie trudne do

odgadnięcia.

9. Podział dysku na partycje i wskazanie punktów montowania.

10. Instalacja menedżera startowego.

11. Wybór grup pakietów oraz poszczególnych pakietów - możemy je pozostawić bez zmian, a

potrzebne programy zainstalować później.

12. Kopiowanie plików.

Jeżeli instalacja systemu dobiegnie do końca, należy wyjąć płytę z napędu CD/DVD, a

następnie ponownie uruchomić komputer. Podczas pierwszego uruchomienia systemu musimy

skonfigurować system do pracy.

Wstępna konfiguracja systemu obejmuje:

1. Akceptację warunków licencji, na podstawie której korzystamy z systemu.

2. Utworzenie użytkownika systemu (korzystanie z konta administratora do zadań

niezwiązanych z administrowaniem systemem nie jest zalecane).

3. Ustawienie daty i czasu zegara.

4. Wysłanie profilu komputera do producenta oprogramowania.

Po wykonaniu czynności związanych z wstępną konfiguracją nasz system jest gotowy do pracy.

2. Wielodost ępny system operacyjny Linux

Linux jest systemem wielozadaniowym, co umożliwia mu równoczesne wykonywanie więcej

niż jednego procesu (proces jest to egzemplarz wykonywanego programu, posiadający własną

przestrzeń adresową). Za realizację wielozadaniowości odpowiedzialne jest jądro systemu

operacyjnego. Wielozadaniowość zapewniona jest między innymi przez program nazywany

planist ą, który realizuje algorytm szeregowania zadań w kolejce do przyznania czasu

procesora. Linux może wykorzystywać wiele procesorów. Gdy system ma mniej dostępnych

procesorów niż zadań do wykonania, czas działania procesora jest dzielony pomiędzy

wszystkie zadania.

Niektóre systemy wielozadaniowe, np. Linux, oferują wywłaszczanie, które polega na

przerwaniu wykonywania procesu, odebraniu mu procesora i przekazaniu sterowania do

planisty. W systemach bez wywłaszczania procesy muszą same dbać o sprawiedliwy podział

czasu procesora.

Lista uruchomionych procesów

Do wyświetlenia listy uruchomionych procesów używamy polecenia ps

Może go używać każdy użytkownik, ale wyświetlane będą tylko te procesy, których jest on

właścicielem.

Najważniejszą spośród wyświetlanych informacji jest identyfikator procesu PID. Pozostałe

pola oznaczają:

TTY - identyfikator konsoli, z której proces został uruchomiony,

TIME - czas procesora wykorzystany do tej pory,

CMD - polecenie, którym uruchomiono proces.

Administrator może wyświetlić listę procesów uruchomionych przez wszystkich użytkowników

za pomocą polecenia PS - A.

2.1. Zarządzanie procesami w systemie Linux

Linux jest systemem bardzo stabilnym, lecz również i w tym systemie proces może się zawiesić.

Czasami zachodzi konieczność usunięcia procesu działającego. Zwykły użytkownik może

usuwać tylko te procesy, których jest właścicielem. Administrator może usuwać wszystkie

procesy. Do usuwania procesów z systemu służy polecenie kill. Polecenie to musi otrzymać

jako argument identyfikator PID procesu. Usuwa ono proces w sposób bezpieczny (zamyka

otwarte pliki, zwalnia obszary pamięci). Jeżeli usunięcie procesu w ten sposób się nie uda, to

możemy wymusić jego zakończenie, dodając opcję -9, np. kill -9 2463.

Usuwanie procesów jest zabiegiem niebezpiecznym. Usunięcie ważnego procesu może

spowodować unieruchomienie całego systemu.

2.2. Wielodost ępność

Linux jest systemem wielodost ępnym. Oznacza to, że wielu użytkowników może jednocześnie

z niego korzystać. Każdy użytkownik ma przydzielone zasoby, np. pamięć, czas procesora,

miejsce na dysku, do których nikt oprócz niego nie ma dostępu, chyba że sam je udostępni.

Użytkownik jest niezależny i odizolowany od innych. O uprawnieniach do korzystania z

poszczególnych zasobów decyduje administrator systemu. Aby zalogować się do systemu,

możemy skorzystać z klawiatury przyłączonej do komputera lub sieci komputerowej. Po

zalogowaniu uzyskujemy dostęp do konsoli. W Linuksie zdefiniowanych jest wiele konsoli

tekstowych, na których mogą logować się różni użytkownicy. Aby zmienić konsolę, używamy

kombinacji klawiszy [Ctrl]+[Alt]+[Fn], np. [Ctrl]+[Alt]+[F1], aby przełączyć się na pierwszą

konsolę itd. Ograniczeniem darmowego środowiska graficznego XFree86 jest możliwość

uruchomienia tylko jeden raz. Oznacza to, że tylko jeden użytkownik może pracować w

środowisku graficznym. Środowisko graficzne jest dostępne na siódmej konsoli za pomocą

kombinacji [Ctrl]+[Alt]+[F7]. Aby sprawdzić, z jakiego konta w danym momencie korzystamy,

użyjemy polecenia whoami . Użytkownik może podejrzeć, kto w danym momencie jest

zalogowany do systemu za pomocą polecenia who

Użytkownicy mogą wysyłać do siebie komunikaty, korzystając z polecenia write . Po poleceniu

write należy wpisać nazwę użytkownika zalogowanego do systemu. Kończymy wpisywanie

tekstu wiadomości za pomocą kombinacji klawiszy [Ctrl]+[d].

Administrator czasami musi wysłać wiadomość do wszystkich zalogowanych użytkowników, np.

z prośbą o zakończenie pracy z powodu przerwy w pracy serwera. Do tego celu może użyć

polecenia wali (rys. 5.7). Komunikat otrzymany przez wszystkich użytkowników pokazany jest

na rysunku.

2.3. System plików systemu Linux

System plików to metoda przechowywania plików, zarządzania plikami, informacjami o tych

plikach, tak by dostęp do plików i danych w nich zgromadzonych był łatwy dla użytkownika

systemu. Linux potrafi obsługiwać wiele różnych systemów plików, w tym również te najbardziej

popularne:

ext3 - domyślny system plików w większości dystrybucji systemu Linux opartych najądrze

2.4 oraz nowszych. W starszych dystrybucjach można spotkać wersję ext2.

FAT - system plików używany w środowisku DOS/Windows,

NTFS - nowsza wersja systemu plików dla Windows (niektóre starsze dystrybucje mogą

mieć problemy, zwłaszcza z obsługą zapisu),

ISO9660 - stosowany na dyskach CD/DVD.

Podczas instalacji Linuksa tworzona jest struktura folderów na dysku lub dyskach

zainstalowanych w komputerze. Standardowe foldery tworzone podczas instalacji:

/ - folder główny,

/bin - przechowywane są w nim standardowe polecenia systemu Linux,

/dev - przechowywane są w nim pliki reprezentujące punkty dostępu do urządzeń

systemowych, np. napędów CD/DVD,

/etc - przechowywane są w nim administracyjne pliki konfiguracyjne,

/home - przechowywane są w nim foldery domowe poszczególnych użytkowników,

/mnt - zapewnia odpowiednią lokalizację do montowania urządzeń, takich jak zdalne systemy

plików oraz nośniki wymienne,

/ root - folder domowy administratora systemu,

/sbin - przechowywane są w nim polecenia służące do administrowania systemem oraz

uruchamiające procesy tzw. demonów {daemon),

/tmp - przechowywane są w nim pliki tymczasowe, wykorzystywane przez różne aplikacje,

/usr - przechowywane są w nim pliki dokumentacji systemu oraz większość programów

użytkownika,

/boot - przechowywane jest w nim jądro systemu,

/var - przechowywane są w nim foldery danych różnych aplikacji, w szczególności takich jak

serwer FTP (folder /var/ftp) czy serwer WWW (folder /var/www).

System plików w Linuksie możemy traktować jak pojedyncze drzewo. Jeżeli dołączymy do

systemu plików jakiś dodatkowy nośnik danych, np. dyskietkę, dysk CD/DVD lub pamięć flash,

to system plików tego urządzenia zostanie doczepiony do systemu głównego. Miejsce

doczepienia nazywane jest punktem montowania (mount point). Jako punkt montowania

można wybrać dowolny folder w głównym systemie plików (jeżeli w folderze są dane, to zostaną

one przesłonięte przez zawartość nośnika). Zwykle do montowania nośników używa się

folderów /mnt i /media .

Aby zamontować system plików z dyskietki, użyjemy polecenia:

mount -t msdos /dev/fd0 /mnt/floppy

Opcja –t w poleceniu oznacza, że podamy typ systemu plików na nośniku. Najczęściej używane

to:

msdos - system FAT 12 (dyskietka),

vfat - system FAT,

ntfs - system NTFS, iso9660 - płyta CD/DVD.

Pierwszy parametr oznacza identyfikator urządzenia, np.:

/dev/fd0 - pierwsza stacja dyskietek,

/dev/cdrom - napęd CD/DVD,

/dev/hda1 - pierwsza partycja na dysku ATA (kontroler podstawowy),

/dev/sda1 - pierwsza partycja na dysku SCSI, SATA lub pamięci flash.

Drugi parametr określa punkt montowania. Aby odmontować system plików, użyjemy polecenia:

mount /dev/fd0

Zamiast identyfikatora urządzenia można podać również punkt montowania, np.

umount /mnt/floppy.

Uwaga

Nie można odmontować systemu plików aktualnie używanego. Aby wyświetlić informacje o

wszystkich zamontowanych systemach plików, użyjemy polecenia df

Lista zamontowanych systemów plików

3. Podstawowe operacje systemu Linux

Linux umożliwia pracę w środowisku graficznym lub tekstowym. Środowisko graficzne jest

wygodne dla użytkownika, lecz wymaga więcej zasobów komputera, np. pamięci. W środowisku

tekstowym możemy wykonać wszystkie czynności związane z administracją komputerem, bez

konieczności uruchamiania środowiska graficznego. Zaletą środowiska tekstowego jest

szybkość działania oraz małe wymagania sprzętowe.

3.1. Uzyskiwanie pomocy systemowej

Liczba poleceń w Linuksie jest bardzo duża. Ponadto większość poleceń zawiera mnóstwo

dodatkowych opcji, niejednokrotnie mających duży wpływ na polecenia. Linux dysponuje

systemem pomocy, która dostępna jest dla każdego użytkownika podczas pracy. Opis

większości poleceń systemu dostępny jest w postaci elektronicznego podr ęcznika {manuał).

Aby skorzystać z oferowanej pomocy, wydajemy polecenie man, np. aby wyświetlić pomoc dla

polecenia kill wydamy polecenie man kill

Opisy poszczególnych poleceń mogą być bardzo długie i zawierać przykłady korzystania z

poleceń i opcji. Do przewijania tekstu wykorzystujemy klawisze sterowania kursorem. Aby

zakończyć przeglądanie podręcznika, należy nacisnąć klawisz [q] .

3.2. Ułatwienia i zasady korzystania z konsoli

Wielkość liter we wpisywanych nazwach poleceń, parametrach (przełącznikach) poleceń,

nazwach plików, parametrach folderów ma znaczenie, np. PLIK.TXT, plik.t \ t. pLiK.TXt - to

trzy różne pliki. Polecenia wpisujemy zawsze małymi literami, np. ls jest poleceniem listującym

zawartość folderu, natomiast polecenie LS - nie istnieje.

Polecenia Linuksa, zwłaszcza zawierające opcje, mogą być bardzo długie. Aby ułatwić sobie ich

wprowadzanie, warto nauczyć się posługiwania historią poleceń. Powłoka Linuksa przechowuje

listę ostatnio używanych poleceń. Aby przywołać ostatnio wydane polecenie, należy wciskać

klawisze sterowania kursorem. Powłoka Linuksa dysponuje funkcją automatycznego

uzupełniania poleceń. Jeżeli początkowa część polecenia jest unikatowa i system może

jednoznacznie określić, co chcemy wpisać, wystarczy użyć klawisza [Tab], aby system dopisał

resztę. Zasada ta dotyczy również nazw plików i folderów. Aby przerwać działanie polecenia,

używamy kombinacji klawiszy [Ctrl]+[C].

3.3. Znaki globalne

W Linuksie występują specjalne znaki zastępujące inne. Tak jak w systemie Windows, znak „*"

reprezentuje zero lub więcej znaków, natomiast „?" reprezentuje dokładnie jeden znak. Oprócz

tego możemy również skorzystać z dodatkowych symboli:

[abcde] - reprezentuje dokładnie jeden z wymienionych znaków,

[ a-e ] - reprezentuje dokładnie jeden znak z przedziału,

[ ! abcde ] - reprezentuje dowolny niewymieniony znak,

[ ! a-e ] - reprezentuje dowolny znak nienależący do przedziału,

{ala, kot, mysz} - reprezentuje dowolny z wymienionych ciągów.

3.4. Zarządzanie plikami i folderami

Do wygodnego zarządzania plikami i folderami wykorzystać możemy programy narzędziowe,

np. Midnight Commander lub środowisko graficzne. Oprócz tego dysponujemy poleceniami

umożliwiającymi wykonanie wszystkich zadań z poziomu konsoli. Najczęściej używane

polecenia do zarządzania plikami:

mkdir tworzy folder, np. mkdir uczeń,

rmdir usuwa pusty folder, np. rmdir /uczeń, (sprawdź w pomocy, jak usunąć niepusty

folder),

cp kopiuje pliki, np. cp /home/uczenl/plik.txt /home/uczen2/,

mv przenosi pliki, np. mv /home/uczenl/plik.txt /home/uczen2,

rm usuwa pliki, np. rm stare. txt,

cd zmienia aktualny folder roboczy, np. cd /,

pwd wyświetla ścieżkę aktualnego folderu roboczego,

Is listuje pliki z folderu, np. ls, najczęściej używać będziemy z opcją –la (sprawdź w

pomocy, co to zmieni w działaniu polecenia),

find wyszukuje np. f ind /muzyka —name uczeń,

touch tworzy plik tekstowy, np. touch plik. txt,

In tworzy nowe dowiązanie do pliku, np. In -s link,

rename umożliwia zmianę nazwy pliku,

cat wyświetla zawartość pliku tekstowego.

Większość z powyższych poleceń działa analogicznie jak w systemie Windows. Omówienia

wymagają jednak polecenia find i ln .

3.5. Wyszukiwanie plików Polecenie find służy do wyszukiwania plików. Jeżeli chcemy znaleźć plik tekst.txt w folderze

/home/student wystarczy napisać:

find /home/student -name tekst.txt.

Pierwszy argument oznacza przeszukiwany folder wraz z podfolderami, drugi parametr określa

warunek, np. -name oznacza, że chcemy szukać pliku o określonej nazwie. Polecenie find

akceptuje również nazwy plików określone za pomocą znaków globalnych, np.

find /home/uczen -name *.bat

3.6. Dowi ązania do plików

Linux przechowuje informacje o zbiorach, np. plikach lub katalogach, w strukturach nazywanych

i-węzłami (i-mode). Każdy plik ma 1 węzeł. Identyfikacja pliku odbywa się na podstawie jego

numeru, unikatowego w obrębie danego systemu plików. Człowiek woli posługiwać się nazwami

plików, które również są skojarzone z odpowiednimi i-węzłami . Dowiązania (links) umożliwiają

odwoływanie się do jednego pliku za pomocą różnych nazw, pozwalają również na

umieszczenie jednego pliku w wielu miejscach w strukturze plików.

Dowiązania dzielą się na twarde (hard links) i symboliczne (symbolic links). Dowi ązanie

twarde jest to referencja wskazująca konkretny, istniejący wcześniej i-węzeł w obrębie tej

samej partycji (systemu plików). Dla systemu operacyjnego dowiązanie takie jest po prostu

dodatkową nazwą wskazywanego obiektu. Plik, mający n dowiązań ma też n nazw. Aby

skasować obiekt w systemie plików, trzeba usunąć wszystkie odwołujące się do niego

dowiązania.

Do tworzenia dowiązań twardych służy polecenie: ln cel_dowi ązania dowi ązanie

gdzie:

cel_dowi ązania - plik, do którego chcemy zrobić dowiązanie

dowi ązanie - dodatkowa nazwa pliku, równoprawna z wcześniej utworzonymi nazwami.

Przykład

In /home/uczen/plik.txt /root/plik_ucznia.txt

Dowi ązanie symboliczne to skojarzenie nowej nazwy z istniejącą wcześniej nazwą zbioru (nie

bezpośrednio z i-węzłem). Dowiązanie symboliczne wskazuje na nazwę pliku lub katalogu,

która dopiero wskazuje na i-węzeł. Odpowiednikiem dowiązania symbolicznego w systemie

Windows jest skrót.

Dowiązania symboliczne tworzy się analogicznie, jak dowiązania twarde, tylko dodając do

polecenia ln parametr -s, np. ln -s /home/uczen/plik.txt /root/plik_ucznia.txt

Dowiązania kasujemy tak jak pliki. Przykłady użycia poleceń związanych z tworzeniem i

usuwaniem dowiązań pokazano na rysunku.

3.7. Błędy zwi ązane z dowi ązaniami

Dowiązanie twarde wskazuje na miejsce na dysku. Jeżeli plik skasujemy i w jego miejscu

umieścimy inny plik, to nasze dowiązanie będzie wskazywało na to samo miejsce, ale zupełnie

inny plik.

Dowiązanie symboliczne jest związane z nazwą pliku. Na rysunku pokazano dowiązanie

symboliczne link_s utworzone do pliku plik.txt. Jeżeli skasujemy plik.txt , do którego prowadzi

dowiązanie, to system wyświetli błąd. Dowiązanie istnieje, ale prowadzi do nieistniejącego pliku.

Jeżeli utworzymy plik o takiej samej nazwie, to dowiązanie będzie wskazywać nowy plik, mimo

że jego zawartość może być zupełnie inna.

3.8. Ścieżki dost ępu

Podobnie jak w systemie Windows, w Linuksie do odnajdywania zbiorów na dysku posługujemy

się ścieżkami dost ępu. Ścieżki mogą być bezwzględne lub względne.

Bezwzgl ędna ścieżka dostępu rozpoczyna się od folderu głównego, pierwszym znakiem

ścieżki bezwzględnej jest ukośnik /.

Względna ścieżka dostępu przedstawia lokalizację pliku lub folderu względem folderu

bieżącego. Jeśli ścieżka dostępu nie rozpoczyna się ukośnikiem, jest ścieżką względną. Aby z

folderu bieżącego przejść niżej w strukturze drzewa, wystarczy wpisać ścieżkę, rozpoczynając

od nazwy następnego folderu.

Foldery bardzo często wykorzystywane przez użytkowników Linuksa posiadają specjalne

oznaczenia umożliwiające szybkie przemieszczanie się pomiędzy nimi. Lokalizacja tych

folderów jest zawsze określona w systemie:

/ - folder główny,

~ - folder domowy użytkownika,

. - folder bieżący,

. . - folder bezpośrednio nadrzędny.

Symboli tych możemy używać w ścieżkach dostępu, np. cp ~/skrypty/konta.bat /root

3.9. Uprawnienia do plików i folderów

Każdy użytkownik niebędący administratorem Linuksa ma dostęp tylko do niektórych plików.

Dzięki temu nikt nie może np. zmodyfikować plików należących do innego użytkownika. Do

każdego pliku jest przypisany identyfikator wła ściciela u (user) - użytkownika, który stworzył

ten plik, oraz grupy g (group) - czyli zbioru użytkowników, którzy mają do tego pliku

uprawnienia, w przeciwieństwie do pozostałych o (others).

Istnieją trzy podstawowe prawa dostępu do pliku: r - prawo do odczytu, w - prawo do zapisu, x

- prawo do uruchomienia, jeśli plik jest programem. Prawa te są nadawane niezależnie

właścicielowi pliku, grupie, do której plik należy, i pozostałym użytkownikom. Aby dowiedzieć

się, jakie uprawnienia są ustawione dla poszczególnych plików, używa się komendy ls -l. Każdy

plik i folder w systemie Linux posiada 10 bitów protekcji w formacie drwxrwxrwx , gdzie:

bit 1 identyfikacja rodzaju pliku (d - folder, — plik, l - link do pliku),

bity 2-4 uprawnienia właściciela pliku,

bity 5-7 uprawnienia grupy, do której należy właściciel,

bity 8-10 uprawnienia pozostałych użytkowników.

Litera oznacza ustawione uprawnienie, kreska brak uprawnienia.

Administrowanie uprawnieniami możliwe jest w oparciu o polecenie chmod , np. chmod ugo+w

plik.txt powoduje dodanie (+) prawa do zapisu w (write) dla pliku o nazwie plik. txt właścicielowi

u (user), użytkownikom należącym do tej samej grupy, co właściciel pliku g (group) oraz

dodanie prawa do zapisu pliku wszystkim pozostałym użytkownikom o (others).

Każde z praw dostępu ma przypisany odpowiedni parametr cyfrowy:

r prawo do odczytu 4 (100)

w prawo do zapisu 2 (010)

x prawo do uruchomienia 1 (001)

- brak praw dostępu 0 (000)

Dodając do siebie odpowiednie parametry, zestaw trzech praw możemy przedstawić za

pomocą jednej cyfry.

Oto kilka najczęściej spotykanych kombinacji

--- 0 brak praw r-- 4 prawo do zapisu rw- 6 prawo do zapisu i odczytu rwx 7 prawo do zapisu, odczytu i uruchomienia

r-x 5 prawo do odczytu i uruchomienia --x 1 prawo do uruchomienia

Do zmiany uprawnień możemy wykorzystać również polecenie chmod oraz uprawnień

zapisanych jako 3-cyfrowa liczba. Cyfry od lewej oznaczają uprawnienia dla właściciela, grupy i

pozostałych użytkowników. Aby ustawić uprawnienia, należy wydać polecenie np. chmod 750

plik.txt

Przypisane zostaną uprawnienia 7 dla właściciela (rwx), 5 dla grupy (r-x), 0 dla pozostałych

użytkowników (---).

3.10. Właściciele zbiorów

Właścicielem każdego pliku i folderu jest użytkownik i grupa użytkowników. Przenieść własność

zbioru na innego użytkownika może tylko administrator. Do zmiany właściciela używamy

polecenia, którego składnia jest następująca

chown u żytkownik: grupa plik

Zmiana właściciela zbioru może spowodować zmianę uprawnień przypisanych użytkownikom

do danego zbioru.

3.11. Przekierowanie strumienia danych

Każdy uruchomiony w Linuksie proces pobiera skądś dane, gdzieś wysyła wyniki swojego

działania i komunikaty o błędach. Dane przesyłane są między urządzeniami w postaci

strumieni. Strumienie danych przypisane każdemu procesowi są pokazane na rysunku

stdin {standard inpui), czyli standardowe wejście, z którego proces pobiera dane (domyślnie

jest to klawiatura),

stdout {standard otupuf) to standardowe wyjście, z którego wysyłany jest wynik działania

procesu (domyślnie jest to ekran),

stderr {standard error) to standardowe wyjście błędów, gdzie trafiają wszystkie komunikaty o

błędach (domyślnie ekran).

Linux wszystkie urządzenia traktuje jak pliki, niezależnie od tego, czy to jest plik, folder,

urządzenie blokowe (klawiatura, ekran), czy strumień. Powłoka Linuksa identyfikuje je za

pomocą przyporządkowanych im liczb całkowitych, tak zwanych deskryptorów plików:

0 to plik, z którego proces pobiera dane (stdin),

1 to plik, do którego proces zapisuje wyniki swojego działania (stdout),

2 to plik, do którego trafiają komunikaty o błędach (stderr),

Za pomocą operatorów przypisania można manipulować strumieniami, poprzez przypisanie

deskryptorów: 0, 1, 2 innym plikom, niż tym, które reprezentują klawiaturę i ekran.

Standardowe wejście i wyjście (strumienie danych) możemy przekierować. Do tego celu

przygotowano trzy operatory:

− znak „<" umożliwia przekierowanie zawartości pliku do standardowego wyjścia,

np. more < plik ,

− znak „>" umożliwia przekierowanie strumienia danych ze standardowego wyjścia do

pliku; jeżeli plik istnieje, to jego poprzednia zawartość zostaje usunięta, np. ls > plik ,

− znaki „ >> " umożliwiają przekierowanie strumienia danych ze standardowego wyjścia

do pliku; jeżeli plik istnieje, to nowe dane zostają dopisane na końcu pliku.

3.12. Przełączanie standardowego wej ścia

Jako standardowe wejścia można zamiast klawiatury użyć pliku: < plik

Przykład

Najpierw stwórzmy plik lista o następującej zawartości:

slackaware

redhat

debian

caldera

Użyjemy polecenia sort, dla którego standardowym wejściem będzie nasz plik.

sort < lista

Wynikiem będzie wyświetlenie na ekranie posortowanej zawartości pliku lista:

caldera

debian

redhat

slackware

3.13. Przełączanie standardowego wyj ścia

Wynik jakiegoś polecenia można wysłać do pliku, a nie na ekran. Do tego celu używa się

operatora: > plik np. ls -la /usr/bin > -/wynik

Rezultat działania polecenia ls -la /usr/bin trafi do pliku o nazwie wynik , jeśli wcześniej nie

istniał plik o takiej samej nazwie, to zostanie utworzony, jeśli istniał, cała jego poprzednia

zawartość zostanie nadpisana.

Jeśli chcemy, aby dane wyjściowe dopisywane były na końcu pliku, bez wymazywania jego

wcześniejszej zawartości, stosujemy operator P: » plik np. free -m » -/wynik

Wynik polecenia free -m (pokazuje wykorzystanie pamięci RAM i swap) zostanie dopisany na

końcu pliku wynik , nie naruszając jego wcześniejszej zawartości.

3.14. Potokowanie strumienia danych

Zastosowanie znaku | pozwala na łączenie wyjścia jednego polecenia z wejściem innego.

Dane wygenerowane za pomocą pierwszego polecenia, przekazane zostaną na wejście

następnego polecenia i po przetworzeniu przekazane na wejście kolejnego lub na ekran. Tego

typu przetwarzanie danych nazywane jest potokiem. Polecenia często wykorzystywane w

potokach:

more - służy do przeglądania tekstu strona po stronie, jeden ekran na raz, przewijanie stron

możliwe tylko „do przodu", np. ls —la | more ,

less - podobnie jak more , ale przewijanie stron możliwe w obu kierunkach, np. ls -la | less ,

cat - polecenie wyświetla na ekranie zawartość pliku tekstowego, np. cat / etc/passwd | less ,

grep - przeszukuje wskazany strumień danych, szukając linii zawierających ciąg znaków

pasujących do podanego wzorca, cat /etc/passwd | grep ucze ń

wc — wypisuje liczbę bajtów, słów lub linii w plikach, np. ls -la | wc -l .

4. Archiwizacja zbiorów

Podstawowym narzędziem do obsługi archiwów w Linuksie jest program tar. Normalnie tar

tworzy nieskompresowane archiwum. W archiwum może znajdować się wiele plików i folderów.

Program tar domyślnie tworzy archiwum rekurencyjnie (z podfolderami), umieszczając w nim

wszystko, co znajdzie we wskazanym folderze (w tym pliki i foldery ukryte).

Składnia polecenia tar jest następująca: tar opcje nazwa_archiwum plik

Najczęściej używane opcje to: c - tworzenie archiwum, v - podczas przetwarzania archiwum

wyświetlane będą nazwy zbiorów, f - użycie wskazanego pliku jako archiwum, x -

wyodrębnienie zbiorów z archiwum.

5. Kompresja zbiorów

Istnieje wiele programów wykonujących kompresję zbiorów w Linuksie. Najczęściej używanym

jest program gzip. Przykład użycia programu gzip do kompresji pliku pokazany jest na rysunku.

Zwróć uwagę, że podczas kompresji plik oryginalny jest usuwany z systemu.

Skompresowany plik archiwum otrzymał nazwę arch.tar.gz (czasami stosuje się skrócony zapis

tgz ). W takiej postaci rozpro¬wadzanych jest wiele programów przeznaczonych dla Linuksa

Kompresji możemy poddać pliki lub całe foldery wraz z podfolderami. Podczas kompresji

folderu każdy plik kompresowany jest oddzielnie.

W Linuksie tar może dokonać dodatkowej kompresji utworzonego archiwum, korzystając z

programu gzip, w takim przypadku należy użyć dodatkowej opcji -z.

Przykład użycia polecenia tworzącego skompresowane archiwum za pomocą programu tar

tar -czvf arch.tgz folder

Do dekompresji użyjemy polecenia tar -xzvf arch.tgz rozpakowane