Wprowadzenie do FreeBSD i Uniksa

Annelise Anderson

<andrsn@andrsn.stanford.edu>

Zmiana: 43184

2013-11-13 07:52:45 autorstwa hrs.

Abstrakt

Niniejsze wprowadzenie przeznaczone jest dla osób nie znających ani FreeBSD, ani Uniksa; omówione są tu zagadnienia podstawowe. Zakładam, że korzystasz z FreeBSD w wersji 2.0.5 lub późniejszej, a twój system ma (przynajmniej na razie) jednego użytkownika (ciebie). Powinieneś też dość dobrze znać DOS-a/Windows lub OS/2.

[ HTML z podziałem na podstrony / Pojedyncza strona HTML ]

1. Logowanie się i wychodzenie z systemu

Gdy ujrzysz komunikat login:, zaloguj się jako użytkownik utworzony podczas instalacji lub jako root (konto root jest już w systemie; root może dostać się wszędzie i robić co mu się podoba, także usuwać ważne pliki, więc trzeba z nim uważać). Znaki % i # są znakami gotowości (mogą wyglądać inaczej), przy czym % odpowiada zwykłemu użytkownikowi, a # kontu roota.

Aby się wylogować (i powrócić do komunikatu login:), napisz:

# exit

Oczywiście, wydane polecenia potwierdza się wciskając enter. Trzeba także pamiętać, że Unix rozróżnia małe i duże litery, więc exit i EXIT to nie to samo.

By wyłączyć komputer, napisz

# /sbin/shutdown -h now

By natomiast uruchomić go ponownie

# /sbin/shutdown -r now

lub

# /sbin/reboot

Ponowne uruchomienie można też wykonać za pomocą Ctrl+Alt+Delete. W obecnych wydaniach FreeBSD jest to odpowiednik /sbin/reboot, i korzystanie z niego jest o wiele lepszym rozwiązaniem od używania przycisku reset. Nie masz przecież ochoty na ponowną instalację, prawda?

2. Dodawanie użytkownika z uprawnieniami roota

Jeżeli nie dodawałeś użytkowników podczas instalacji systemu, i jesteś zalogowany jako root, powinieneś teraz utworzyć użytkownika poleceniem

# adduser

Przy pierwszym korzystaniu z adduser mogą pojawić się pytania o pewne ustawienia domyślne. Na przykład jako domyślną powłokę możesz wybrać csh(1) zamiast sh(1), jeśli proponowana będzie sh. Aby zaakceptować sugerowane ustawienia, wciśnij po prostu enter. Domyślne ustawienia trafiają do pliku /etc/adduser.conf, który można samodzielnie edytować.

Dla przykładu, chcesz dodać użytkownika marek o nazwisku Marek Piegus. Dla bezpieczeństwa przydziel markowi hasło (choćby w obawie przed wszędobylskimi dzieciakami). Gdy zobaczysz pytanie, do jakich innych grup ma należeć marek, wpisz wheel

Login group is ``marek''. Invite marek into other groups: wheel

Dzięki temu po zalogowaniu się jako marek będzie można skorzystać z polecenia su(1) by zostać rootem. Nie będziesz już teraz besztany za logowanie się jako root.

Możesz przerwać adduser w dowolnym momencie wciskając Ctrl+C, na koniec będziesz też mieć możliwość zatwierdzenia nowego użytkownika lub odrzucenia go, wpisując n. Jeśli chcesz, możesz dodać drugiego użytkownika; gdy będziesz zmieniać ustawienia konta marka i coś pójdzie nie tak, będziesz mieć zapas.

Po wykonaniu powyższych czynności, wpisz exit aby móc znów się zalogować, i zaloguj się jako marek. Należy raczej pracować jako zwykły użytkownik, jeśli nie są potrzebne uprawnienia roota (i związane z nimi ryzyko).

Jeśli wcześniej dodałeś użytkownika i chcesz dać mu możliwość zostania rootem za pomocą su, możesz to zrobić logując się jako root i modyfikując plik /etc/group; dopisz marka w pierwszej linii tego pliku (grupa wheel). Wcześniej jednak powinieneś zapoznać się z edytorem vi(1), lub skorzystać z prostszego edytora ee(1) dostępnego w nowych wersjach FreeBSD.

Użytkownika usuwa się poleceniem rmuser.

3. Rozglądanie się

Zaloguj się jako zwykły użytkownik, rozejrzyj się wokoło i spróbuj skorzystać z kilku poleceń służących uzyskiwaniu informacji i pomocy.

Oto niektóre polecenia z krótkim opisem:

id

Pokazuje kim jesteś.

pwd

Pokazuje gdzie jesteś, czyli bieżący katalog.

ls

Wyświetla listę plików w bieżącym katalogu.

ls -F

Wyświetla listę plików w bieżącym katalogu, znakiem * oznaczając pliki wykonywalne, znakiem / katalogi, a znakiem @ dowiązania symboliczne.

ls -l

Wyświetla listę plików w długim formacie, pokazując rozmiar, datę, uprawnienia.

ls -a

Wyświetla również pliki ukryte (o nazwie rozpoczynającej się kropką). Gdy jesteś rootem, pliki ukryte są pokazywane bez stosowania opcji -a.

cd

Zmiana katalogu. cd .. przechodzi o jeden poziom wyżej; uwaga na odstęp po cd. cd /usr/local przejdzie do wskazanego katalogu. cd ~ przechodzi do domowego katalogu obecnego użytkownika, np. /usr/home/marek. Poleceniem cd /cdrom, a następnie ls możesz przekonać się, czy Twój CDROM jest zamontowany i czy działa.

view nazwapliku

Pokazuje zawartość pliku (o nazwie nazwapliku) bez możliwości dokonywania zmian. Spróbuj napisać view /etc/fstab. Wpisz :q by zakończyć.

cat nazwapliku

Pokazuje na ekranie zawartość pliku nazwapliku. Jeśli jest on zbyt duży i widać tylko koniec, wciśnij ScrollLock i posłuż się strzałką w górę by przesunąć się wstecz. ScrollLock może być też stosowany przy przeglądaniu dokumentacji systemowej. By zakończyć przewijanie, ponownie wciśnij ScrollLock. Możesz wypróbować cat na ukrytych plikach w Twoim katalogu domowym: cat .cshrc, cat .login, cat .profile.

W .cshrc znajdziesz aliasy dla polecenia ls (są bardzo wygodne). Własne aliasy możesz tworzyć modyfikując plik .cshrc. Gdy chcesz udostępnić aliasy wszystkim użytkownikom, umieść je w pliku konfiguracyjnym csh dla całego systemu, /etc/csh.cshrc.

4. Gdzie szukać pomocy i informacji

Oto niektóre przydatne źródła pomocy. Tekst oznacza coś, co wpisałeś; zwykle będzie to jakieś polecenie lub nazwa pliku.

apropos tekst

Wszystkie wystąpienia tekstu w bazie danych whatis.

man tekst

Dokumentacja systemowa na temat tekstu. Jest to podstawowe źródło informacji w systemach Un*ksowych. Przykładowo man ls podpowie, jak korzystać z polecenia ls. Naciśnij Enter by przejść dalej, Ctrl+B by zobaczyć poprzednią stronę, Ctrl+F by zobaczyć następną, q albo Ctrl+C aby zakończyć.

which tekst

Znajduje tekst w ścieżce użytkownika.

locate tekst

Pokazane będą wszystkie ścieżki, w których znaleziony został tekst.

whatis tekst

Informuje, jak działa polecenie tekst i na której stronie dokumentacji systemowej znajduje się jego opis. Wpisując whatis * otrzymasz opis wszystkich plików w bieżącym katalogu.

whereis tekst

Odnajduje plik tekst i podaje jego pełną ścieżkę.

Spróbuj użyć whatis by otrzymać opisy najczęściej używanych poleceń, na przykład cat, more, grep, mv, find, tar, chmod, chown, date i script. more pozwala na oglądanie kolejnych stron jedna po drugiej (znane z DOS'a), na przykład ls -l | more lub more nazwapliku. Znak * działa jak szablon, np. polecenie ls w* pokaże pliki o nazwach zaczynających się literą w.

Niektóre z powyższych poleceń mogą działać nie całkiem prawidłowo. Działanie locate(1) i whatis(1) uzależnione jest od bazy danych, która aktualizowana jest raz na tydzień. Jeżeli nie planujesz zostawiać włączonego komputera (z uruchomionym FreeBSD) na weekend, powinieneś co jakiś czas uruchomić polecenia codziennej, cotygodniowej i comiesięcznej obsługi. Uruchamiaj je jako root i daj każdemu z nich nieco czasu na wykonanie pracy przed uruchomieniem kolejnego.

# periodic daily
pominięto wyniki
# periodic weekly
pominięto wyniki
# periodic monthly
pominięto wyniki

Jeżeli nudzi cię czekanie, wciśnij Alt+F2 by przejść do następnej konsoli wirtualnej i ponownie się zalogować; w końcu to system wielodostępny i wielozadaniowy. Tak czy inaczej, uruchomione polecenia będą zapewne wypisywać na ekranie komunikaty; możesz wyczyścić ekran wpisując clear. Gdy polecenia obsługi zakończą pracę, możesz zajrzeć do /var/mail/root i /var/log/messages.

Wykonywanie tego typu poleceń jest częścią administracji systemem - a jako samodzielny użytkownik systemu jesteś administratorem sam dla siebie. Właściwie wszystko, co wymaga uprawnień roota, to administracja systemem. Zagadnienia z tym związane nie są zbyt dobrze omówione nawet w opasłych księgach o Uniksie, gdzie często wiele miejsca poświęcone jest omówieniu rozwijanych menu w menedżerach okien. Jeśli chcesz, możesz zaopatrzyć się w jedną z dwóch najpopularniejszych książek o administrowaniu systemem, pierwsza z nich to UNIX System Administration Handbook autorstwa Evi Nemeth i in. (Prentice-Hall, 1995, ISBN 0-13-15051-7), wydanie drugie z czerwoną okładką; druga napisana przez AEleen Frisch Essential System Administration (O'Reilly & Associates, 1993, ISBN 0-937175-80-3). Ja korzystałam z tej pierwszej.

5. Edycja tekstu

Konfigurowanie systemu wiąże się z edytowaniem plików tekstowych. Większość z nich znajduje się w katalogu /etc; do ich modyfikacji wymagane będą uprawnienia roota. Możesz posługiwać się prostym edytorem ee, jednakże na dłuższą metę warto nauczyć się obsługi edytora vi. Znakomite wprowadzenie do vi można znaleźć w /usr/src/contrib/nvi/docs/tutorial; jeśli go tam nie ma, możesz pobrać je przez FTP z ftp.cdrom.com z katalogu FreeBSD/FreeBSD-current/src/contrib/nvi/docs/tutorial.

Zanim zabierzesz się za edycję pliku, dobrze byłoby zrobić jego kopię zapasową. Jeżeli na przykład chcesz edytować /etc/rc.conf, możesz przejść do katalogu /etc poleceniem cd /etc i napisać:

# cp rc.conf rc.conf.orig

W rezultacie plik rc.conf zostałby skopiowany jako rc.conf.orig. Mógłbyś później przywrócić oryginalny plik kopiując rc.conf.orig jako rc.conf. Jeszcze lepszym wyjściem jest przeniesienie pliku (zmiana nazwy) i późniejsze skopiowanie go z powrotem:

# mv rc.conf rc.conf.orig
# cp rc.conf.orig rc.conf

Polecenie mv zachowuje oryginalną datę i właściciela pliku. Możesz już edytować rc.conf. Gdy zechcesz powrócić do poprzedniego pliku, napisz mv rc.conf rc.conf.moje (o ile chcesz również zachować swoją wersję), a następnie

# mv rc.conf.orig rc.conf

Powrócisz w ten sposób do poprzedniego stanu.

Edycję pliku rozpoczyna się poleceniem

# vi nazwapliku

Do poruszania się w tekście użyj klawiszy strzałek. Klawisz Esc powoduje przełączenie vi w tryb poleceń. Oto niektóre z poleceń:

x

usunięcie litery pod kursorem

dd

usunięcie całego wiersza

i

wstawianie tekstu w miejscu kursora

a

wstawianie tekstu za kursorem

Po wpisaniu i lub a możesz wprowadzac tekst. Klawiszem Esc powracasz do trybu poleceń, oto kolejne z nich

:w

zapisanie pliku na dysku i powrót do edycji

:wq

zapisanie pliku i wyjście z edytora

:q!

wyjście bez zapisywania zmian

/tekst

przeniesienie kursora do tekstu; /Enter (klawisz enter) znajduje kolejne wystąpienie tekstu.

G

przejście na koniec pliku

nG

przejście do linii o numerze n

Ctrl+L

przerysowanie ekranu

Ctrl+b i Ctrl+f

przejście wstecz i do przodu o jeden ekran, podobnie jak w more i view.

Możesz poćwiczyć korzystanie z vi w katalogu domowym; utwórz nowy plik poleceniem vi nazwapliku, spróbuj wpisać i usunąć tekst, zapisać plik i następnie go wczytać. vi może niekiedy sprawiać niespodzianki, gdyż jest w gruncie rzeczy bardzo skomplikowany. Czasami zdarza się, że niechcący wydasz polecenie, które zachowa się inaczej niż oczekiwałeś. (Niektórzy naprawdę lubią vi, jest o wiele potężniejszy od DOS-owego edytora EDIT; poszukaj informacji o poleceniu :r.) Jeśli będziesz mieć kłopoty, wciskając Esc wróć do trybu poleceń i spróbuj jeszcze raz; często zapisuj poleceniem :w, i używaj :q! by wyjść i zacząć od nowa (od ostatniego użycia :w) jeśli to konieczne.

Możesz teraz, przy pomocy cd, przejść do /etc i zostać rootem korzystając z su. Uruchom vi i zmodyfikuj plik /etc/group dodając użytkownika do grupy wheel, by mógł on otrzymywać uprawnienia roota. Dopisz przecinek i nazwę użytkownika na końcu pierwszego wiersza pliku, następnie wciśnij Esc i wpisz :wq by zapisać plik i zakończyć edycję. Efekt natychmiastowy. (Nie wstawiłeś spacji za przecinkiem, zgadza się?)

6. Drukowanie plików w DOS-ie

Zapewne twoja drukarka nie jest jeszcze gotowa do pracy w FreeBSD, by więc wydrukować plik trzeba będzie przenieść go na dyskietkę i wydrukować w DOS-ie. Załóżmy, iż chciałbyś uważnie przeczytać stronę dokumentacji omawiającą dokonywanie zmian w prawach dostępu do plików (co jest dosyć ważnym zagadnieniem); możesz ją zobaczyć wpisując man chmod. Natomiast polecenie

% man chmod | col -b > chmod.txt

spowoduje usunięcie znaczników formatujących i zamiast pokazywać stronę dokumentacji na ekranie, zapisze ją w pliku chmod.txt. Włóż teraz sformatowaną dyskietkę do stacji A, skorzystaj z su by zostać rootem, i wpisz

# /sbin/mount -t msdos /dev/fd0 /mnt

Powyższe polecenie zamontuje stację dyskietek w katalogu /mnt.

Uprawnienia roota nie są już potrzebne, możesz więc wpisać exit by z powrotem korzystać z konta marka. Przejdź teraz do katalogu, w którym utworzyłeś plik chmod.txt i skopiuj go na dyskietkę poleceniem:

% cp chmod.txt /mnt

Po wpisaniu ls /mnt powinieneś zobaczyć, że w katalogu /mnt znajduje się plik chmod.txt.

Niekiedy warto zapisać w pliku to, co wyświetla /sbin/dmesg. Można to zrobić wpisując

% /sbin/dmesg > dmesg.txt

Potem można skopiować dmesg.txt na dyskietkę. /sbin/dmesg pokazuje komunikaty wyświetlane podczas ładowania systemu; można dzięki temu prześledzić przebieg procesu ładowania FreeBSD. Kiedy zadajesz pytaniena lub na grupie USENET, na przykład: "FreeBSD nie chce wykryć mojego dysku, co zrobić?", wówczas inni będą chcieli dowiedzieć się, co pokazuje dmesg.

Możesz już odmontować stację dyskietek (jako root), wydając polecenie

# /sbin/umount /mnt

Dyskietkę możesz już wyjąć. Uruchom komputer ponownie by załadować DOS-a. Skopiuj pliki z dyskietki do jakiegoś katalogu i otwórz je przy pomocy DOS-owego EDIT-a, Notatnika Windows albo WordPada, dokonaj jakiejś drobnej zmiany aby wymusić zapisanie pliku, po czym wydrukuj go w sposób tradycyjny dla DOS-a lub Windows. Udało się? Strony dokumentacji systemowej najlepiej jest drukować korzystając z DOS-wego polecenia print. (Kopiowanie plików z FreeBSD na zamontowaną partycję DOS-a ciągle jeszcze bywa niebezpieczne.)

Aby korzystać z drukarki w FreeBSD, należy dodać odpowiedni wpis w /etc/printcap oraz utworzyć katalog buforowania w /var/spool/output. Jeśli drukarka jest podłączona do portu lpt0 (oznaczonego LPT1 w DOS-ie), być może wystarczy tylko przejść do /var/spool/output i (będąc rootem) utworzyć katalog lpd za pomocą polecenia: mkdir lpd (chyba, że taki katalog już tam jest). Od tej chwili drukarka powinna się zgłaszać podczas ładowania systemu, jeśli jest włączona, a drukowanie plików powinno być możliwe dzięki poleceniu lp lub lpr. Konfiguracja drukowania opisana jest w Podręczniku FreeBSD.

7. Inne przydatne polecenia

df

pokazuje zamontowane systemy plików i zajmowaną przestrzeń.

ps aux

lista działających procesów. ps ax wyświetla bardziej zwięzłą postać listy.

rm nazwapliku

usunięcie pliku nazwapliku.

rm -R katalog

usunięcie katalogu katalog wraz z podkatalogami. (ostrożnie!)

ls -R

lista plików w katalogu bieżącym i wszystkich jego podkatalogach. Swego czasu stosowałam ls -AFR > where.txt aby sporządzić listę wszystkich plików w / oraz (oddzielnie) /usr, zanim poznałam lepsze sposoby wyszukiwania plików.

passwd

zmiana hasła użytkownika (lub roota)

man hier

dokumentacja Uniksowego systemu plików

Aby odnaleźć plik nazwapliku w /usr lub jego podkatalogach, skorzystaj z polecenia find:

% find /usr -name "nazwapliku"

Możesz wykorzystać znak * jako wzorzec nazwy "nazwapliku" (wówczas należy ją ująć w cudzysłów). Jeśli wybierzesz, by find szukało w katalogu / zamiast /usr, wówczas poszukiwania obejmą wszystkie zamontowane systemy plików, w tym CDROM i partycje DOS-owe.

Polecenia i programy narzędziowe Uniksa są omówione w znakomitej książce Unix for the Impatient (wyd. drugie, Addison-Wesley, 1996), autorstwa Abrahamsa i Larsona. Jest także mnóstwo informacji na ten temat w Internecie, przykładem może być Unix Reference Desk.

8. Co dalej

Masz już wszystko, co będzie potrzebne by sprawnie posługiwać się systemem i edytować pliki, możesz więc zająć się dostosowywaniem systemu do własnych potrzeb. Wiele przydatnych informacji można znaleźć w podręczniku FreeBSD (który zapewne masz na dysku) oraz na stronie FreeBSD. Na stronie, a także na CDROM-ie, dostępny jest również pokaźny zbiór pakietów i portów. O tym, jak z nich korzystać, można dowiedzieć się z podręcznika (znajdź potrzebny pakiet, dodaj go poleceniem pkg_add /cdrom/packages/All/nazwapakietu, przy czym nazwapakietu jest nazwą pliku pakietu). Listę pakietów i portów wraz z krótkim opisem można znaleźć na CDROM-ie, w cdrom/packages/index, cdrom/packages/index.txt, oraz cdrom/ports/index; dokładniejsze opisy znajdują się w /cdrom/ports/*/*/pkg/DESCR, przy czym znaki * oznaczają odpowiednio rodzaj programu i jego nazwę.

Jeżeli opis instalacji portów z CDROM-u zawarty w podręczniku wydaje ci się zbyt skomplikowany (przez jakieś lndir, czy coś), możesz spróbować poniższego sposobu:

Znajdź port, który chcesz zainstalować, powiedzmy, że będzie to kermit. Na CDROM-ie znajdziesz jego katalog. Skopiuj ten katalog do /usr/local (to dobre miejsce na dodatkowe programy, które mają być dostępne dla wszystkich użytkowników) poleceniem:

# cp -R /cdrom/ports/comm/kermit /usr/local

W efekcie powinien powstać katalog /usr/local/kermit zawierający te same pliki, co katalog kermita na CDROM-ie.

Następnie korzystając z polecenia mkdir utwórz katalog /usr/ports/distfiles, chyba że już taki istnieje. Sprawdź teraz, czy w katalogu /cdrom/ports/distfiles znajduje się plik o nazwie odpowiadającej instalowanemu portowi. Skopiuj go do /usr/ports/distfiles; w obecnych wersjach nie trzeba tego robić, ponieważ zajmuje się tym samo FreeBSD. W przypadku kermita pliku nie ma.

Teraz poleceniem cd przejdź do podkatalogu /usr/local/kermit zawierającego plik Makefile. Napisz

# make all install

Spowoduje to, iż wszystkie potrzebne pliki, których nie ma na CDROM-ie lub w /usr/ports/distfiles, zostaną pobrane przez FTP. Jeżeli jeszcze nie skonfigurowałeś sieci, a w /cdrom/ports/distfiles nie ma pliku potrzebnego do instalacji, będziesz musiał uzyskać ten plik korzystając z innego komputera i skopiować go do /usr/ports/distfiles z dyskietki albo partycji DOS-a. Zajrzyj do Makefile (poleceniem cat, more lub view) by dowiedzieć się, skąd wziąć potrzebny plik (lokalizacja w sieci) i jak się on nazywa. Jeżeli ściągasz plik korzystając z DOS-a, jego nazwa zostanie obcięta, tak więc po umieszczeniu go w /usr/ports/distfiles będziesz musiał zmienić nazwę pliku (poleceniem mv) na prawidłową. (Pamiętaj, by pobierać pliki w trybie binarnym!) Przejdź z powrotem do /usr/local/kermit, odnajdź katalog zawierający Makefile, i wpisz make all install.

Może się zdarzyć, że do instalacji jakiegoś portu bądź pakietu wymagany będzie jakiś inny program. Jeżeli instalacja zostanie przerwana komunikatem can't find unzip (nie znaleziono unzip) lub podobnym, prawdopodobnie trzeba będzie zainstalować pakiet lub port unzip by móc kontynuować instalację.

Po instalacji wpisz rehash aby uwzględnić ewentualne zmiany ścieżki. (Jeżeli używając whereis lub which często trafiasz na komunikat path not found (nie znaleziono ścieżki), powinieneś uzupełnić katalogi umieszczone w ścieżce w pliku .cshrc w katalogu domowym. Ścieżka pełni w Uniksie taką samą rolę jak w DOS-ie, z tym, że (domyślnie) nie zawiera katalogu bieżącego ze względów bezpieczeństwa; chcąc uruchomić plik z bieżącego katalogu, należy przed jego nazwą napisać ./; bez spacji po znaku ukośnika.)

Być może zechcesz ściągnąć najnowszą wersję przeglądarki Netscape z ich serwera FTP. (Netscape wymaga zainstalowanego X Window System.) Dostępna jest wersja dla FreeBSD, więc poszukaj jej. Rozpakuj plik poleceniami gunzip nazwapliku oraz tar xvf nazwapliku i przenieś otrzymany plik wykonywalny do /usr/local/bin lub podobnego. Wykonaj rehash, oraz dodaj następujące polecenia do plików .cshrc w katalogu domowym każdego użytkownika, lub (szybciej) do pliku /etc/csh.cshrc, głównego pliku konfiguracyjnego csh:

setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB
setenv XNLSPATH /usr/X11R6/lib/X11/nls

Zakładamy tu, że plik XKeysymDB i katalog nls znajdują się w /usr/X11R6/lib/X11; jeśli tak nie jest, odnajdź je i umieść tam.

Jeżeli początkowo zainstalowałeś Netscape jako port z CDROM-u (lub FTP), nie umieszczaj nowego pliku wykonywalnego w miejscu starego /usr/local/bin/netscape; jest to zwykły skrypt powłoki zajmujący się przygotowaniem zmiennych środowiskowych. Zamiast tego zmień nazwę nowego pliku na netscape.bin i zastąp poprzedni plik wykonywalny /usr/local/netscape/netscape.

9. Własne środowisko pracy

Najważniejszym elementem środowiska pracy jest powłoka. W DOS-ie rolę powłoki pełni command.com. Powłoka zajmuje się przetwarzaniem poleceń wpisywanych w linii poleceń, jest więc pośrednikiem w komunikacji z systemem operacyjnym. Może także wykonywać skypty, podobne do znanych z DOS-a plików wsadowych, składające się z serii poleceń wykonywanych bez ingerencji użytkownika.

W FreeBSD zainstalowane są dwie powłoki: csh i sh. csh dobrze obsługuje linię poleceń, skrypty powinny być jednak pisane w sh (lub bash). Wpisując echo $SHELL możesz dowiedzieć się, z jakiej powłoki korzystasz.

Powłoka csh jest niezła, jednakże tcsh potrafi wszystko to, co csh i jeszcze więcej. Umożliwia wywoływanie wcześniej wpisanych poleceń za pomocą klawiszy strzałek. Pozwala uzupełniać nazwy plików przy pomocy klawisza Tab (csh wykorzystuje do tego Esc), jak również powrót do ostatnio odwiedzonego katalogu poleceniem cd -. W tcsh można też w prosty sposób zmienić swój znak zachęty. Wszystko to bardzo ułatwia życie.

Nową powłokę instaluje się w następujący sposób:

Zaintaluj powłokę w postaci portu lub pakietu. Wpisz rehash, a potem which tcsh (zakładając, że instalujesz tcsh), by mieć pewność, że instalacja powiodła się.

Działając jako root, dopisz w pliku /etc/shells wiersz odpowiadający nowej powłoce, w naszym przypadku /usr/local/bin/tcsh, i zapisz zmiany. (W przypadku niektórych portów może być to zrobione automatycznie.)

Aby na stałe zmienić swoją powłokę na tcsh, skorzystaj z polecenia chsh. Możesz także wpisać tcsh w linii poleceń, by zmienić powłokę bez powtórnego logowania się.

Uwaga:

Zmiana powłoki roota na inną niż sh lub csh we wczesnych wersjach FreeBSD i wielu wersjach Uniksa może okazać się niebezpieczna, ponieważ może prowadzić do braku działającej powłoki w trybie jednego użytkownika. Można sobie z tym poradzić stosując su -m do zostania rootem, dzięki czemu możliwe jest korzystanie z tcsh, gdyż powłoka jest elementem środowiska. Aby takie rozwiązanie było stosowane na stałe, utwórz alias w .tcshrc dopisując polecenie alias su su -m

Podczas uruchamiania, tcsh odczytuje pliki /etc/csh.cshrc i /etc/csh.login, podobnie jak to robi csh. Ponadto wczytywane są pliki .login i .cshrc, chyba, że istnieje plik .tcshrc. Można go utworzyć kopiując po prostu plik .cshrc jako .tcshrc.

Gdy powłoka tcsh jest już zainstalowana, możesz zająć się wyborem odpowiadającego ci znaku zachęty. Szczegółowo jest to opisane w dokumentacji tcsh, przykładowe polecenie przedstawione poniżej wpisane do .tcshrc spowoduje, iż znak zachęty będzie informował o tym, ile wydałeś poleceń, która jest godzina, oraz jaki jest bieżący katalog. Na końcu pojawi się znak >, jeśli jesteś zwykłym użytkownikiem, lub znak #, jeśli jesteś rootem:

set prompt = "%h %t %~ %# "

Powyższy wiersz umieść w miejscu starego "set prompt", albo pod "if($?prompt) then". Poprzedni wiersz zamień w komentarz, dzięki temu będziesz mógł do niego wrócić, jeśli zechcesz. Przepisz dokładnie spacje i cudzysłowy. Aby plik .tcshrc został przeczytany ponownie, wpisz source .tcshrc.

Listę innych zmiennych środowiskowych uzyskać można korzystając z polecenia env. Lista zawiera domyślny edytor, program do przeglądania plików tekstowych, typ terminala i wiele innych. Jeżeli logujesz się do systemu przez sieć i jakiś program nie daje się uruchomić z powodu nieodpowiedniego terminala, przydatne może okazać się polecenie setenv TERM vt100.

10. Na koniec

Mając uprawnienia roota, można odmontować CDROM poleceniem /sbin/umount /cdrom, następnie wyjąć płytę z napędu, włożyć inną i zamontować ją poleceniem /sbin/mount_cd9660 /dev/cd0a /cdrom (o ile cd0a odpowiada napędowi CDROM). Najnowsze wersje FreeBSD pozwalają na montowanie CDROM-u poleceniem /sbin/mount /cdrom.

Jeśli masz do dyspozycji niewiele miejsca na dysku, możesz skorzystać z bezpośredniego systemu plików na drugiej płycie CD FreeBSD. Jej zawartość zmienia się z każdym nowym wydaniem systemu. Spróbuj na przykład zagrać w jedną z gier umieszczonych na CDROM-ie. Przyda się przy tym lndir, instalowane wraz z X Window System, aby powiadomić programy gdzie znajdują się potrzebne im pliki, ponieważ są one w systemie plików /cdrom, a nie jak zazwyczaj w /usr i jego podkatalogach. Skorzystaj z man lndir.

11. Uwagi mile widziane

Jeśli skorzystałeś z niniejszego wprowadzenia, chętnie dowiem się, czy w czymś ci ono pomogło, co było niedostatecznie wyjaśnione i czego brakowało. Dziękuję profesorowi Eugene W. Stark z SUNY-Stony Brook, oraz Johnowi Fieberowi za pomocne uwagi.

Annelise Anderson, <andrsn@andrsn.stanford.edu>