Program JSBuilder 1.5 - darmowy polski edytor JavaScript!

 Komputery    

Linux - kurs bash`a (cz.2)

W poprzedniej części kursu poznaliśmy najbardziej podstawowe polecenia powłoki bash. Dziś dowiemy się nieco więcej o Linuxowym (i nie tylko) systemie plików.

      Ale po kolei. Po pierwsze zajmijmy się jeszcze poznanymi w poprzednim odcinku uprawnieniami. Wiemy już co to są uprawnienia, jak je odczytywać, ale brakuje nam jednej, bardzo ważnej informacji - w jaki sposób można je zmienić.
Otóż służy do tego komenda:

      chmod nowe_uprawnienia plik_lub_katalog

Jeśli przykładowo mamy plik o nazwie plik.txt z nadanymi uprawnieniami rw-r--r-- i chcemy nadać wszystkim użytkownikom prawo do zapisu tego pliku oraz dodatkowo jego właścicielowi prawo do wykonywania, powinniśmy użyć następującej komendy:

      chmod u+x,a+w plik.txt

Pewnie nie wygląda to zbyt zrozumiale, ale w rzeczywistości jest bardzo proste. Pierwszy znak uprawnień oznacza grupę użytkowników do których mają być dane uprawnienia zastosowane. Wyróżniamy cztery takie grupy:
u - właściciel pliku,
g - grupa, do której należy właściciel pliku,
o - pozostali użytkownicy,
a - wszyscy użytkownicy.
Kolejny znak (plus lub minus) oznacza czy dane uprawnienia dodajemy, czy zdejmujemy. Ostatni ze znaków reprezentuje uprawnienia, które chcemy ustawić. Symbole uprawnień znamy już z poprzedniej części kursu. Po przecinku można zapisać kolejne zmiany, np. dotyczące innych grup użytkowników czy innych uprawnień. Zmiany uprawnień możemy również łączyć ze sobą. Na przykład zamiast pisać g+w,o+w można napisać go+w, zamiast g+w,g+x użyjemy g+wx itd. No dobrze, ale co jeśli chcemy zmienić właściciela danego pliku lub jego grupę. Otóż służą do tego odpowiednio komendy:

      chown nowy_właściciel plik_lub_katalog

i

      chgrp nowa_grupa plik_lub_katalog

Pierwsza z nich wymaga, aby użytkownik ją wywołujący był właścicielem pliku (lub superużytkownikiem root) i zmieniał właściciela na siebie (w przypadku root`a na dowolnego użytkownika). Druga również może być wywoływana tylko przez właściciela pliku (lub root`a) i użytkownik wywołujący polecenie musi należeć do grupy 'nowa_grupa' (oczywiście oprócz root`a, który może podać nazwę dowolnej grupy).

      Kolejnym ważnym zagadnieniem jest obsługa innych dysków/partycji niż standartowa systemowa. Otóż Linux nie używa liter dysków, tak jak DOS/Win, lecz wszystkie dostępne zasoby przedstawia na jednym drzewie katalogowym. Zazwyczaj inne partycje dostępne są jako podkatalogi katalogu /mnt. Jednak nie są one dostępne od razu po umieszczeniu ich w komputerze (np. po włożeniu dyskietki do stacji dysków). Należy system powiadomić o ich dostępności (tzw. montowanie).
Służy do tego polecenie:

      mount -t system_plików urządzenie katalog_montowania

Przełącznik -t oznacza, że będziemy chcieli podać jaki system plików jest użyty na montowanym dysku. Najpopularniejsze to:
vfat - znany z DOS/Win
iso9660 - używany na płytach CD-ROM,
ext2 - standartowy system Linuxa,
nfs - używany przy mapowaniu zasobów sieciowych.
Kolejnym parametrem komendy mount jest urządzenie, które przechowuje dany system plików, np.:
/dev/cdrom - napęd CD-ROM,
/dev/fd0 - pierwsza stacja dyskietek, kolejne to /dev/fd1 itd.,
/dev/hda1 - pierwsza partycja pierwszego dysku twardego, kolejne partycje
oznaczamy zmieniając ostatnią cyferkę, a kolejne dyski zmieniając literkę występującą po hd.
Katalog montowania, ostatni z parametrów mount, może być dowolnym katalogiem istniejącym na dysku. Zazwyczaj używa się podkatalogów /mnt aby uniknąć bałaganu.
Jednak co zrobić jeśli nie chce nam się za każdym razem montować jakiejś partycji, chcielibyśmy mieć ją podmontowaną już przy starcie systemu? Otóż do tego służy plik /ect/fstab. Składa się on z linii o następującej konstrukcji:

      /dev/hda1 /mnt/dysk_c vfat defaults 0 0

Pierwsze trzy informacje są chyba jasne: urządzenie, katalog, w którym ma być montowane i system plików. Dalej znajduje się sposób, w który urządzenie ma być montowane. Można tu znaleźć:
defaults - montowane przy starcie systemu
noauto - montowane przez użytkownika skróconą komendą mount katalog_montowania
Można w tym miejscu dodać też uprawnienia jakie mają być nadane plikom na danym urządzeniu (dla systemów nie posiadających własnych uprawnień). Ostatnie dwie cyfry służą do sterowania innymi programami narzędziowymi i zazwyczaj nie są potrzebne (ustawiamy je na 0).

      Ostatnim problemem, jaki chciałbym dziś poruszyć są tzw. aliasy. Otóż polecenia bash'a są często długie i skomplikowane. Aby je skrócić używany aliasów definiowanych w następujący sposób:

      alias 'nowe_polecenie'='inne_polecenie_lub_ciąg_poleceń_oddzielonych_średnikami"

Jeśli na przykład chcielibyśmy zastąpić ls -al poleceniem dir posłuży nam do tego komenda:

      alias 'dir'='ls -al'

Niestety aliasy są tracone przy każdym restarcie systemu, więc za każdym razem trzeba je definiować od nowa. Aby sobie oszczędzić wklepywania tych samych komend za każdym razem, można je wpisać do pliku ~/.bashrc. Plik ten jest przetwarzany za każdym logowaniem użytkownika. Jest to właśnie przykład prostego skryptu powłoki - ciąg poleceń wpisanych do pliku.

      W poprzednim odcinku obiecałem pisanie pierwszych własnych skryptów. Niestety będziemy musieli przełożyć to na trzecią część naszego kursu. Do tego czasu poćwiczcie znane już polecenia, abyście mogli ich spokojnie używać w bardziej skomplikowanych konstrukcjach. Przyjrzyjcie się również gotowym już skryptom, np. ~/.bashrc, ~/.bash_profile. Nawet jeśli nic nie rozumiecie - nie szkodzi. Po lekturze następnego odcinka wszystko powinno stać się o wiele jaśniejsze. Polecam też lekturę systemowego podręcznika, wywoływanego komendą:

      man nazwa_polecenia

gdzie nazwa_polecenia to komenda, o której chcemy się dowiedzie czego więcej.
Na początek proponuje man man. To tyle na dziś. Do zobaczenia (przeczytania?) w kolejnym odcinku.


Golish
e-mail: golish@yoyo.pl



Warez on-line - www.warezpl.com - First Warez Portal

 


Copyright 1999-2000 Magazyn internetowy NoName
Wszelkie prawa zastrzeżone