Nie taki Unix straszny (1)

Kiedy doświadczonemu użytkownikowi DOS-u przyjdzie po raz pierwszy pracować pod Unix-em, na ogół zawsze przyjmie to jako prawdziwy dopust Boży. Po próbach zrobienia czegokolwiek od razu zatęskni za starym poczciwym Pecetem. Unix to system potężny, o ogromnych możliwościach, ale nie wydaje się on ani przyjazny, ani intuicyjny.

Kiedy doświadczonemu użytkownikowi DOS-u przyjdzie po raz pierwszy pracować pod Unix-em, na ogół zawsze przyjmie to jako prawdziwy dopust Boży. Po próbach zrobienia czegokolwiek od razu zatęskni za starym poczciwym Pecetem. Unix to system potężny, o ogromnych możliwościach, ale nie wydaje się on ani przyjazny, ani intuicyjny.

Unix jest wielodostępnym systemem sieciowym i może pracować w nim wielu użytkowników na raz. Nadzoruje on centralny komputer, zwany serwerem, i pewną ilość stacji roboczych lub terminali. By wejść do systemu, czy jak to się mówi "zalogować się", musimy mieć tam konto. Jest ono jednoznacznie określone przez identyfikator, czyli ciąg kilku znaków. Jego przydziałem zajmuje się osoba zwana administratorem sieci. W niektórych systemach istnieje ogólnodostępne konto nazwane gość (guest). Jednak na ogół możliwości pracy na nim są dość ograniczone.

Rozpoczynając pracę trzeba połączyć się z systemem, który może się sam zgłosić lub trzeba będzie wykonać pewne akcje (np. uruchomić odpowiedni program na naszym PC podłączonym do sieci). Do Unix-a może być przyłączony (poza PC) terminal czy jakiś inny komputer (stacja robocza) i nie należy się dziwić, gdy znajdująca się tam klawiatura będzie miała trochę inny rozkład i nazwy klawiszy niż na zwyczajnym PC.

Na żądanie systemu wpisujemy swój identyfikator, po nim hasło (administrator systemu przydzielając konto ustala jakieś hasło tymczasowe, które możemy potem zmienić). By nikt nie mógł zobaczyć hasła patrząc nam przez ramię, nie będzie go widać na ekranie w czasie wpisywania. Jeżeli uda się nam przebrnąć przez procedurę logowania, system przywita nas komunikatem o dacie ostatniego dostępu do systemu. Ponadto może zadawać tajemnicze pytania o typ posiadanego terminala. Istnieją setki rodzajów terminali, różniących się między sobą układem klawiatury i kodami sterującymi ich pracą. Jeżeli nie wiemy, jakim terminalem dysponujemy, w 90% przypadków postąpimy słusznie decydując się na typ VT100 (standard prostego terminala stworzony przez DEC-a). To co zobaczymy dalej zależy od sposobu zdefiniowania, w plikach ( .login, .cshrc lub .profile) naszego środowiska pracy. Te pliki przypominają trochę DOS-owe autoexec.bat i config.sys, tyle że możliwości konfiguracji własnego środowiska DOS-u i Unixa tak się mają do siebie jak hulajnoga do dobrego BMW. Na ogół zgłosi się Shell (czyli powłoka systemu operacyjnego, albo innymi słowy, program pośredniczący między użytkownikiem i właściwym sytemem operacyjnym). Możemy pracować w nim w trybie interakcyjnym, wydając tekstowe polecenia, badź w trybie wsadowym, tworząc pliki zawierające program interpretowany przez Shell-a (ang. Shell scripts - odpowiedniki DOS-owych batch files). Niestety istnieje kilka Shell-i, różniących się między sobą zestawem i składnią poleceń. Najczęściej używany jest C Shell.

Na początku powinniśmy automatycznie znaleźć się we własnym katalogu (o nazwie zgodnej z naszym identyfikatorem). Po wydaniu polecenia pwd, system pokaże nam pełną ścieżkę katalogu, w którym aktualnie się znajdujemy. Łatwo zauważymy wtedy, iż w Unix-ie rolę DOS-owego backslash-a '\', dla oddzielania poszczególnych podkatalogów, pełni slash '/'.

Niestety, Norton Commander-a na pewno nie ma i musimy sobie poradzić inaczej. Używając polecenia ls możemy zobaczyć, jakie pliki mamy w naszym katalogu (jest to odpowiednik DOS-owego dir). Za pierwszym razem nie powinno być innych plików, prócz tych, których nazwa zaczyna się od kropki. Te, traktowane przez system jako ukryte, możemy wyświetlić podając odpowiednie parametry w poleceniu ls. Gdy spróbujemy napisać:

ls -al

(uwaga : parametry poleceń zawsze poprzedzamy znakiem minusa.)

powinniśmy zobaczyć, mniej więcej, coś takiego:

total 5

drwx------ 2 pegam user1 512 Jan 10 13:07 .

drwx------ 5 pegam user1 1024 Nov 11 14:50 ..

-rw-r----- 1 pegam user1 127 Jan 10 13:07 .login

-rw------- 1 pegam user1 851 Jan 10 15:59 .cshrc

-rwxr----- 1 pegam user1 1269 Jan 26 10:09 a.out

Rozszyfrujmy treść tych napisów. Podaliśmy parametry -al, czyli wszystkie (all) pliki o długim formacie (long format). Poczynając od prawej strony mamy nazwę pliku, czas i datę utworzenia, długość - całkiem tak samo jak w DOS-ie. W dwu pierwszych wierszach, w miejscu nazwy pliku wystepują kropki. Symbol '.' to oznaczenie tego katalogu, którego zawartość oglądamy, a '..' to katalog wyżej (jak w DOS-ie). Dalej jest już inaczej.

Unix wyróżnia trzy kategorie właścicieli plików: bezpośredni właściciel, grupa (np. jego współpracowników) i cała reszta.

W powyższym przykładzie user1 to grupa, a pegam to właściciel. Tajemniczy ciąg znaków w skrajnie lewej kolumnie, to fragment metryki pliku, opisujący jego typ i prawa dostępu. Od lewej strony patrząc: minus (myślnik) oznacza, iż jest to zwykły plik. Litera d to katalog (directory), l to podwiązanie do pliku (hard link), który tak naprawdę znajduje się fizycznie gdzie indziej na dysku, każda inna litera to jakieś urządzenie specjalne.

Pozostałe dziewięć znaków trzeba rozpatrywać trójkami, bowiem opisują one kolejno prawa dostępu dla właściciela, grupy i wszystkich pozostałych użytkowników. Oznaczenie rwx to kolejno prawo do czytania (Read), pisania (Write) i wykonania (eXecute) pliku. Symbol " minus" oznacza brak danego przywileju. W naszym przykładzie do pliku a.out właściciel ma wszelkie prawa, a inni użytkownicy mogą go tylko obejrzeć i skopiować. W drugiej kolumnie, dla każdego wiersza, podana jest albo liczba plików (zawartych w katalogu), albo liczba podwiązań do danego pliku (zależnie od tego, czy jest to plik czy katalog). Pierwszy wiersz informuje o całkowitej pojemności (total) plików w katalogu.

Gdybyśmy chcieli sobie pospacerować po drzewie katalogów możemy użyć znajomego z DOS-u polecenia cd (cd .. to krok w górę, a cd nazwa_podkatalogu to wejście do danego podkatalogu). Inaczej niż w DOS-ie polecenie cd, wydane bez żadnych parametrów, przenosi nas do prywatnego katalogu (home directory). Polecenie mkdir tworzy nowy katalog. Gdy w czasie wędrówki po drzewie katalogów na dysku, system zwróci się do nas z mało grzecznym komunikatem: "Permission denied", znaczy to, że nie mamy prawa obejrzeć zawartości danego katalogu. Gdy wydamy polecenie ls - l nazwa_katalogu, będziemy mogli zobaczyć, we właściwym fragmencie opisu katalogu, informację braku prawa do wejścia do katalogu (brak x na najbardziej lewej pozycji, dla ciągu znaków przedstawiających prawa dostępu do tego katalogu)

Gdy czegoś nie wiemy, czasami może zadziałać wydanie polecenie help, dzięki któremu uzyskamy bieżącą podpowiedź lub uruchomimy sytem pomocy. Zawsze powinno dać efekt wprowadzenie:

man nazwa_polecenia

System wyświetli wówczas szczegółowy opis polecenia i jego opcji.

Pracę kończymy naciskając jednocześnie klawisze CONTROL i D lub pisząc logout, choć lokalny zwyczaj może kazać zrobić to jakoś inaczej. Warto ustawić swoje własne hasło (trzeba trochę nad tym pomyśleć, by z jednej strony nie było to coś, czego łatwo się domyśleć, a z drugiej, żeby się dało zapamiętać i nie zmuszało do sięgania po notatnik). Służy do tego polecenia passwd. System poprosi o podanie starego hasła i dwukrotne wpisanie nowego (by uniknąć pomyłki).

Niektóre systemy wymagają, by nowe hasło było odpowiednio długie lub zaczynało się od cyfry, ale nie ma tu stałych reguł.


TOP 200