Unix - Kurs Podstawowy
- Poczatek pracy
- Ogólne zasady wpisywania komend
- Dostep do programów i danych
- Komendy dzialajace na kartotekach
- Komendy dzialajace na plikach
- Bazowa kartoteka uzytkownika
- Prawa dostepu
- Miejsce na dysku
- Sumaryczna wielkosc plikow
- Fizyczna ilosc wolnego miejsca na dysku
- Jak znalezc informacje o fizycznej ilosci wolnego miejsca na dysku, na ktorym znajduja sie nasze pliki?
- Informacja o komendach ("help")
- Wybrane programy uslugowe - vi
- Wybrane komendy trybu klawiszowego
- Komendy zmiany pozycji
- Kopiowanie i przenoszenie tekstu
- Wybrane komendy trybu liniowego
- Wyswietlanie danych o innych uzytkownikach
- Wysylanie komunikatow do innych uzytkownikow
- Interaktywna komunikacja z innymi uzytkownikami
- Wysylanie listów
- Procesy
- Skrypty
- Konfigurowanie srodowiska uzytkownika
- Alias
- Adresy sieciowe komputerow. Komunikacja pomiedzy komputerami
- DNS - Domain Name Servis
- Uruchamianie systemu X Windows
Zanim zaczniemy prace - musimy zaloginowac sie do systemu. Unix pozwala na wpisanie: spis treści ^^
nazwy uzytkownika - po login
hasla uzytkownika - po password. Haslo nie jest wyswietlane na ekranie
Sprawdz u administratora swojego systemu jaka jest Twoja nazwa uzytkownika oraz jakie posiadasz haslo. Spróbuj zaloginowac sie popelniajac celowe pomylki w nazwie uzytkownika lub hasle. Zwróc uwage na tresc komunikatów o bledach.
Nazwa uzytkownika:
do 8 znaków, male i duze litery sa traktowane jako rózne znaki. W nazwie moga wystapic litery, cyfry oraz znaki specjalne: _ - $
Haslo uzytkownika:
równiez do 8 znaków, zestaw znaków - jak dla nazwy uzytkownika
W momencie tworzenia konta uzytkownika przez administratora systemu definiowane sa nastepujace obiekty:
- nazwe uzytkownika
- haslo
- unikalny numer uzytkownika (UID: User Identification Number)
- grupe do której standardowo nalezy uzytkownik (GID: Group Identification Number)
- ewentualne ograniczenia na dopuszczalna ilosc zajmowanego miejsca na dyskach (file quota) - o ile system quota jest aktywny
- 'dluga' nazwe uzytkownika - pozwalajaca na identyfikacje uzytkownika wedlug jego prawdziwego nazwiska
- bazowa kartoteke uzytkownika - kartoteke w której znajda sie pliki zakladane przez uzytkownika. Do kartoteki tej kopiowane sa zwykle standardowe pliki konfiguracyjne
- nazwa standardowej powloki jakiej uzywac bedzie w swoich sesjach uzytkownik. Zwykle ta powloka (shellem) jest csh lub tcsh
Ogólne zasady wpisywania komend w systemie Unix: spis treści ^^
- duze i male litery w nazwach komend sa traktowane jak rózne znaki - wiekszosc komend Unixa posiada nazwy zawierajace wylacznie male litery
standardowa linia komendy Unixa ma do 128 znaków. Najczesciej uzywane znaki edycyjne:
skresl ostatni znak
Backspace lub Cntrl-H
skresl cala linie komendy
Esc
- ostatnio wprowadzone komendy sa pamietane w historii komend uzytkownika.
Na tak zapamietanym zbiorze komend mozemy wykonywac nastepujace operacje (wymieniono tylko te najwazniejsze):
wyswietl liste wczesniej wykonywanych komend
history
powtórz wykonanie ostatniej komendy
!!
powtórz wykonanie ostatniej komendy zaczynajacej sie od podanego lancucha
!lancuch
powtórz wykonanie ostatniej komendy zawierajacej w sobie (w dowolnym miejscu) lancuch
!?lancuch
wykonaj ponownie n-ta komende (komendy sa numerowane od 1)
!n
przyklad powtarzania komend:
1: pwd !pwd
2: mkdir test !?dir
3: cd test !3
4: ls -l !!
nowak>
Dostep do programów i danych - poprzez kartoteki i pliki. spis treści ^^
Nazwa pliku i kartoteki:
- do 32 znaków
- duze i male litery, cyfry, znaki specjalne: _ - $ .
Róznice w nazwach (w stosunku do nazw z Ms DOS):
- duze i male litery sa traktowane jako rózne znaki
- kropki moga wystepowac w nazwach wielokrotnie
- nazwy moga byc dluzsze
- nazwy podkartotek sa oddzielane slashem (/) a nie backslashem (\)
- nazwa kartoteki korzenia jest /
Kartoteki tworza normalne drzewo kartotek. Oprócz zwyklych plików w kartotekach moga sie pojawic:
- pliki 'ukryte' - kazdy plik, którego nazwa zaczyna sie od kropki jest plikiem 'ukrytym'. Jego nazwa nie jest normalnie wyswietlana podczas listowania zawartosci kartoteki.
Zwykle sa to pliki konfiguracyjne - nie powinny byc skreslane ani modyfikowane przez uzytkownika
- pliki 'specjalne' - wszystkie pliki w kartotece /dev oznaczaja naprawde urzadzenia dolaczone do komputera - twarde dyski, urzadzenia peryferalne, itp. Nie wolno skreslac plików z kartoteki /dev - uzywamy tych 'plików' tylko w komendach archiwizacji danych (tar)
Oprócz nazw plików i kartotek mozemy uzywac wzorników. We wzornikach moga wystapic - oprócz liter, cyfr, znaków _ - $ i . (kropki) - znaki specjalne:
- * - oznacza dowolny lancuch dowolnych znaków
- ? - oznacza pojedynczy dowolny znak
- [znak, ..., znak] - dowolny z wymienionych znaków
- [od-do] - dowolny znak o kodzie w podanym zakresie
Przyklady wzorników:
- *a dowolna nazwa konczaca sie litera a
- a??b*c* dowolna nazwa zaczynajaca sie od litery a po której wystepuja dwa dowolne znaki a nastepnie litera b, dowolny ciag dowolnych znaków, litera c i
- [0-9]*[xyz] dowolna nazwa zaczynajaca sie od cyfry po której wystepuje dowolny ciag dowolnych znaków. Nazwa konczy sie jedna z liter x, y lub z
dowolny ciag dowolnych znaków konczacych nazwe
Jezeli chcemy, zeby wzornik obejmowal nazwy zaczynajace sie od kropki ('ukryte') - musimy jawnie wymienic kropke we wzorniku
- *z dowolna nazwa konczaca sie litera z - z wyjatkiem nazw zaczynajacych sie od kropki
- .*z dowolna nazwa zaczynajaca sie od kropki po której wystepuje dowolny ciag dowolnych znaków zakonczonych litera z
Nie mozna zdefiniowac wzornika obejmujacego zarówno nazwy 'ukryte' (zaczynajace sie od kropki) jak i nazwy 'nie ukryte'.
Komendy dzialajace na kartotekach: spis treści ^^
komenda
opis
mkdir nazwa
tworzy (pod)kartoteke o podanej nazwie
pwd
wyswietl nazwe biezacej kartoteki
rmdir wzornik
skresl kartoteki o nazwach zgodnych z wzornikiem. Uwaga! Kartoteka moze zostac skreslona tylko wtedy, kiedy jest pusta (wczesniej skreslono wszystkie pliki i podkartoteki)
cd nazwa
przejdz do podkartoteki o podanej nazwie. W stosunku do MsDOS wystepuja nastepujace róznice:
- zamiast nazwy mozna podac wzornik - dowolny fragment nazwy zakonczony *. O ile tylko taki wzornik wyznacza jednoznacznie kartoteke - przejdziemy do niej
- istnieja równiez 'nazwy specjalne':
- .. - kartoteka nadrzedna (kartoteka 'ojca')
- / - kartoteka korzenia
- jezeli nazwa (lub wzornik) wystepujaca w komendzie cd zaczyna sie od / (slash) - Unix szuka kartoteki poczawszy od korzenia. W przeciwnym wypadku - szuka podkartoteki biezacej kartoteki.
komenda cd bez nazwy kartoteki - powoduje powrót do kartoteki 'bazowej' uzytkownika.
Komendy dzialajace na plikach: spis treści ^^
ls [ parametry ] [ wzornik ]
wyswietla informacje o plikach, których nazwy sa zgodne z wzornikiem. Jezeli nie podamy wzornika - wyswietla informacje o wszystkich plikach - z wyjatkiem plików ukrytych. Najczesciej uzywane parametry:
-R wyswietlaj równiez informacje o plikach znajdujacych sie w podkartotekach
-a wyswietlaj równiez pliki ukryte (zaczynajace sie od kropki
-g jak -l (zob.) ale bez wyswietlania informacji o wlascicielu pliku
-l 'pelny listing' - wyswietlane sa nastepujace informacje o plikach:
typ pliku (kartoteka, plik, link)
prawa dostepu, ilosc linków do pliku
nazwa wlasciciela i wlasciciela grupowego
wielkosc pliku (w bajtach)
czas ostatniej modyfikacji pliku
nazwa pliku
-p wyswietla / po nazwach kartotek
-r odwraca porzadek sortowania nazw
-s podaje wielkosci plików, w jednostkach 512 bajtów
-t sortuje nazwy wedlug czasu ostatniej modyfikacji ('najstarszy najpierw')
-u sortuje wedlug czasu ostatniego dostepu do pliku
drwxr-xr-x 5 tedd users 1024 Nov 5 22:31 ./
drwxr-xr-x 8 root root 1024 Nov 3 02:42 ../
-rw-r--r-- 1 tedd users 144 Nov 5 22:30 .cshrc
-rw-r--r-- 1 tedd users 163 Nov 24 .kermrc
-rw-r--r-- 1 tedd users 34 Jun 6 .less
-rw-r--r-- 1 tedd users 114 Nov 24 .lessrc
drwxr-xr-x 2 tedd users 1024 Nov 3 01:11 .term/
drwxr-xr-x 2 tedd users 1024 Nov 5 22:33 KURS.Unix
cp plik nowy_plik
cp wzornik [ ... wzornik] kartoteka
kopiuje pliki. W pierwszej postaci kopiuje plik na nowy plik tworzac jego kopie. W drugim przypadku (ostatnia nazwa musi byc nazwa kartoteki) kopiuje grupe plików do wskazanej kartoteki.
Uwaga!!! Komenda cp bez ostrzezenia niszczy - o ile takie pliki juz istnieja - zawartosc plików do których kopiowana jest informacja!!!
mv nazwastara nazwanowa
mv wzornik [ ... wzornik] katalog
w pierwszej postaci - zmienia nazwe pliku lub kartoteki. Pojedyncze nazwy (nie wzorniki) moga wystapic w takiej sytuacji. Jezeli plik o nazwie nazwanowa juz istnieje i nie jest zabezpieczony przed zapisem - jest skreslany bez ostrzezenia
w drugiej postaci - przenosi pliki o nazwach zgodnych z wzornikami do kartoteki, której nazwa wystepuje jako ostatni parametr. Uwaga!!! bez ostrzezenia skresla pliki w docelowej kartotece - o ile nie sa one zabezpieczone przed zapisem. . (kropka) jako nazwa kartoteki oznacza zadanie przeniesienia plików do biezacej kartoteki.
rm [-f] [-r] -i] wzornik
kasuje pliki o nazwach zgodnych z wzornikiem. Jezeli plik byl zabezpieczony przed zapisem - zada potwier-dzenia przed skresleniem pliku. Mozliwe parametry:
-r jako wzornik musi wystapic wzornik wskazujacy na nazwy kartotek. Kasowane sa wszystkie pliki i podkartoteki w kartotekach o nazwach zgodnych z wzornikiem
-i interaktywnie - wyswietla nazwe kazdego pliku przed skresleniem - pyta czy plik ma byc skreslony
cmp plik1 plik2
porównuje dwa pliki, wyswietlajac napotkane róznice
more nazwapliku
wyswietla zawartosc pliku, strona (ekran) po stronie. W czasie wyswietlania dzialaja nastepujace klawisze:
Enter nastepna linia
q koniec wyswietlania
Przecwicz praktycznie nastepujace operacje:
zalóz wlasna kartoteke
wyswietl wszystkie nazwy plików z wlasnej kartoteki
przekopiuj kilka plików z Twojej bazowej kartoteki do tej nowo utworzonej
przejdz do tej nowej kartoteki
wylistuj i skasuj wszystkie pliki z nowo utworzonej kartoteki
Bazowa kartoteka uzytkownika spis treści ^^
kazdy uzytkownik posiada swoja kartoteke 'bazowa' - to ta kartoteka w której znajdujemy sie bezposrednio po zaloginowaniu. Kartoteki zakladane przez uzytkownika sa zwykle tworzone jako podkartoteki jego kartoteki bazowej. Do kartoteki bazowej mozemy zawsze 'wrócic' w nastepujacy sposób:
cd $HOME istnieje zmienna systemowa - HOME - pamietajaca nazwe kartoteki bazowej. Konstrukcja $HOME powoduje 'pobranie' tej nazwy
cd ~username ta komenda powoduje przejscie do kartoteki bazowej uzytkownika username
Konstrukcji ~username mozemy równiez uzywac do kopiowania danych - komenda
skopiuje wszystkie pliki uzytkownika nowak do biezacej kartoteki (o ile mamy pozwolenie na czytanie z kartoteki nowak)
Prawa dostepu spis treści ^^
Każdy plik i kartoteka w systemie Unix posiada atrybuty, okreslajace prawa dostepu do takiego obiektu. Prawa dostepu sa definiowane w momencie tworzenia obiektu - wedlug maski ustawionej przez administratora systemu. Wlascicielem obiektu jest ten, kto go stworzyl. Wlasciciel obiektu moze w kazdej chwili zmienic prawa dostepu do obiektu - zarówno dla siebie jak i dla innych uzytkowników.
Prawa dostepu sa zdefiniowane na trzech poziomach:
dla grupy, do której nalezy wlasciciel obiektu (g)
dla pozostalych uzytkowników (o)
Z punktu widzenia uzytkownika systemu Unix kazdy obiekt moze posiada zawsze jakies prawa dostepu, zdefiniowane przez wlasciciela obiektu. Prawa te sa kombinacja nastepu-jacych praw dostepu:
w prawo do wpisywania danych do obiektu. Pozwala to równiez na skreslenie obiektu
x prawo wykonania obiektu (program lub kartoteka)
Do zmiany praw dostepu sluzy komenda
chmod komu jak prawa wzornik
gdzie:
komu - dowolna kombinacja liter u, g i o oznaczajacych kolejno wlasciciela pliku, czlonków grupy do której nalezy wlasciciel pliku (z wylaczeniem wlasciciela obiektu) oraz pozostalych uzytkowników. Dodatkowo mozna uzyc litery a która oznacza 'wszystkich uzytkowników' (a=ugo)
jak - jeden ze znaków +, - lub = oznaczajacych kolejno:
- usun wymienione w komendzie chmod prawa dostepu ze zbioru praw dostepu do obiektu
= usun wszystkie wczesniej ustawione prawa dostepu do obiektu, po usunieciu - nadaj wylacznie te prawa, które sa wymienione w komendzie chmod
prawa - dowolna kombinacja liter r, w, x i s. Znaczenie - jak opisano to wczesniej
wzornik - obiekty których nazwy sa zgodne z wzornikiem beda tymi obiektami, dla których zmieniamy prawa dostepu
Przyklady:
odbierz wlascicielowi prawa zapisu i kasowania do wszystkich plików i podkartotek z biezacej kartoteki, których nazwy koncza sie litera a.
Uwaga!!! Ta zmiana nie bedzie dotyczyc obiektów których nazwa konczy sie litera a ale zaczyna sie od kropki.
odbierz uzytkownikom, nalezacym do tej samej grupy co uzytkownik wydajacy komende chmod, wszystkie prawa z wyjatkiem praw do czytania dla obiektów z biezacej kartoteki, których nazwy zaczynaja sie od kropki a koncza litera z
odbierz wszystkim uzytkownikom - z wyjatkiem wlasciciela obiektów - prawa do zapisu i wykonywania wszystkich plików i podkartotek z kartoteki bazowej uzytkownika nowak. Zmiana ta nie dotyczy obiektów w kartotece ~nowak których nazwy zaczynaja sie od kropki
Uwagi:
biezaco ustawione prawa dostepu mozemy wyswietlic uzywajac komendy ls -l
w Unixie inaczej niz w MsDOSie zdefiniowane sa programy. Programem jest plik o atrybucie x - niezaleznie od tego jaka ma nazwe. Nie ma zadnych standardowych typów (rozszerzen) nazw dla programów - atrybut x decyduje czy plik jest programem (lub skryptem) czy plikiem z danymi
kartoteka równiez musi posiadac atrybut x - jezeli usuniemy atrybut x z kartoteki to nie bedziemy w stanie przejsc do tej kartoteki (komenda cd)
Cwiczenie:
wylistuj prawa dostepu do plików w swojej kartotece
odbierz sobie prawo write do pliku a nastepnie spróbuj go skreslic
wyswietl informacje o Twoich prawach dostepu do kartoteki kolegi. Popros go o odebranie praw dostepu. Ponownie wyswietl swoje prawa dostepu do jego obiektów. Zrób to samo dla kolegi - odbierz mu prawa dostepu do Twoich plików
ukryj swoja kartoteke przed innymi
wyswietl czesc obiektów z kartoteki /usr/bin - powiedz, które z nich sa programami
Miejsce na dysku spis treści ^^
dowolnie duzy dysk twardy po pewnym czasie staje sie za maly. Miejsce na dysku, które moga zajac pliki uzytkownika moze zostac ograniczone przez administratora systemu. Aby zobaczyc, czy takie ograniczenie istnieje powinnismy uzyc komendy
komenda ta wyswietli informacje o tym ile miejsca mozemy maksymalnie zajac na dysku oraz ile z tego miejsca juz zostalo przez nas zajete
Sumaryczna wielkosc plików - komenda spis treści ^^
du -s [wzornik]
wyswietla informacje o tym, ile miejsca na dysku - w kilobajtach - zajely sumarycznie pliki, których nazwy sa zgodne z wzornikiem. O ile nie podamy wzornika - wyswietlona zostanie informacja o tym, ile miejsca zajmuja wszystkie pliki w biezacej kartotece.du -s
21 .
1637 /bin
121 /boot
1 /cdrom
21 /dev
385 /etc
162 /home
647 /lib
106259 /usr
Fizyczna ilosc wolnego miejsca na dysku: spis treści ^^
komenda
df
wyswietla informacje i fizycznej ilosci miejsca na dysku. Podawana jest nazwa urzadzenia (/dev/...), fizyczna ilosc miejsca na urzadzeniu, ilosc uzytych kilobajtów, ilosc pozostalego miejsca (w kilobajtach), procentowa ilosc wolnego miejsca oraz nazwe kartoteki do której 'dolaczone' jest urzadzenie
/dev/hda3 201176 126269 64172 66% /
/dev/hda1 235592 231464 4128 98% /dos_c
/dev/hda5 235592 164284 71308 70% /dos_d
Jak znalezc informacje o ilosci wolnego miejsca na dysku, na którym zapisywane sa nasze pliki? spis treści ^^
najpierw musimy znalezc informacje o tym, gdzie zapisywana jest nasz kartoteka bazowa. Mozemy to zrobic za pomoca wykonywanych po sobie komend
pwd
pierwsza z nich ,przeniesie' nas do naszej kartoteki bazowej, druga wyswietli nazwe tej kartoteki. zalózmy, ze komenda pwd wyswietlila nazwe /home/nowak jako nazwe naszej kartoteki bazowej
nastepnie wykonujemy komende pwd i szukamy nazwy kartoteki której poczatek jest najbardziej zgodny z nazwa kartoteki zwrócona przez pwd
/dev/hda3 201176 126269 64172 66% /
/dev/hda1 235592 231464 4128 98% /home
/dev/hda5 235592 164284 71308 70% /usr/local
w powyzszym przykladzie widzimy, ze nasza kartoteka bazowa znajduje sie na dysku /dev/hda1 na którym pozostalo okolo 4.1 MB wolnego miejsca
Opisy komend ('help'): spis treści ^^
w kazdym momencie uzytkownik moze otrzymac angielskojezyczny opis komendy systemu Unix. Komenda
wyswietla pelny opis komendy o podanej nazwie dzielac ten opis na strony (ekrany monitora). Podczas wyswietlania takiego opisu dzialaja nastepujace klawisze kontrolne:
Enter wyswietl nastepna linie
q przerwij wyswietlanie opisu komendy
przyklad:
NAME
chmod - change the permissions mode of a file
SYNOPSIS
chmod [ -fR ] mode filename ...
DESCRIPTION
Change the permissions (mode) of a file or files. Only the
owner of a file (or the super-user) may change its mode.
Jezeli nie pamietamy nazwy komendy mozemy za pomoca
spowodowac wyswietlenie nazw wszystkich komend które w naglówkach swych opisów posiadaja podane przez nas slowo kluczowe
install_openwin (8) - install OpenWindows system files
makeafb (1) - create bitmap files from scalable Folio format files
makedepend (1) - create dependencies in makefiles
mkfontdir (1) - create fonts.dir file from directory of font files.
printtool (1) - OpenWindows tool for printing files
ttcp (1) - copy files in a ToolTalk-safe way.
ttmv (1) - move or rename files in a ToolTalk-safe way.
ttrm, ttrmdir (1) - remove files or directories in a ToolTalk-safe way.
tttar (1) - (de)archive files and ToolTalk objects
:
Wybrane programy uslugowe - vi spis treści ^^
vi jest standardowym edytorem w systemie Unix. Pozwala na tworzenie i edycje plików tekstowych. Uruchomienie:
vi [parametry] wzornik
vi zostanie uruchomiony - pierwszy z plików których nazwy sa zgodne z wzornikiem zostanie wczytany do edycji.
Zanim omówimy zasady dzialania vi - najczesciej uzywane parametry wywolania vi:
-R wczytaj pliki o nazwach zgodnych z wzornikiem w trybie read only - to zabezpiecza nas przed przypadkowa zmiana zawartosci tych plików
vi moze pracowac w jednym z 3 stanów:
tryb edycji tekstu - po wykonaniu (w trybie klawiszowym) komendy inicjujacej wpisywanie tekstu - przechodzimy do trybu edycji tekstu. W tym trybie tekst wpisywany z klawiatury jest wstawiany do edytowanego pliku - az do nacisniecia klawisza Esc - co spowoduje powrót do trybu klawiszowego
tryb komend liniowych - jezeli w trybie klawiszowym nacisniemy : (dwukropek) - przechodzimy do trybu komend liniowych. W ostatniej linii na ekranie pojawia sie : po którym mozemy wpisac komende 'liniowa'. Komenda taka dziala zwykle na grupie linii. Po jej wykonaniu vi wraca do trybu klawiszowego
Uwaga!!! Najczesciej popelnianym bledem jest próba wpisywania tekstu w trybie klawiszowym bez wczesniejszego wykonania komendy inicjujacej wpisywanie tekstu. Powoduje to interpretowanie przez vi kazdego nacisnietego klawisza jako komendy vi - moze do doprowadzic do duzych 'zniszczen' w edytowanym tekscie.
(1 -> 3-> 1) z trybu klawiszowego, po nacisnieciu : przechodzimy do trybu komend liniowych. Mozemy wpisac komende - po nacisnieciu klawisza Enter vi wykonuje komende i wraca do trybu klawiszowego (2)
(1 -> 2) jezeli w trybie klawiszowym wykonamy komende wstawiajaca tekst - przechodzimy do trybu edycji tekstu. W tym trybie znaki wpisywane z klawiatury sa wstawiane do edytowanego pliku. Nacisniecie klawisza ESC powoduje powrót do trybu klawiszowego (1) - zakonczenie wstawiania tekstu
(3) jezeli pracujac w trybie liniowym wykonamy komende konczaca prace vi (q - zakoncz, nie zmieniaj pliku, x - zakoncz, zapisz zmieniony plik) - wrócimy do Unixa
Wybrane komendy trybu klawiszowego powodujace przejscie do trybu wpisywania tekstu: spis treści ^^
i wpisuj tekst przed kursorem
A wpisuj tekst na koncu linii
I wpisuj tekst na poczatku linii
S zastap cala biezaca linie wpisywanym tekstem
C zastap znaki od polozenia kursora do konca linii wpisywanym tekstem
Wpisywany tekst moze byc wieloliniowy. Konczymy wpisywanie tekstu naciskajac klawisz Esc - wracamy do trybu klawiszowego
x skasuj znak za kursorem
X skasuj znak przed kursorem
J polacz biezaca i nastepna linie w jedna linie
u anuluj ostatnia zmiane ('undo')
Y anuluj wszystkie zmiany w biezacej linii
. powtarzaj ostatnie polecenie zmieniajace tekst
Komendy zmiany pozycji: spis treści ^^
? linia w góre, linia w dól
0 przejdz na poczatek biezacej linii
$ przejdz na koniec biezacej linii
fc skocz wprzód do znaku c
Fc skocz w tyl do znaku c
w skocz do poczatku nastepnego slowa
b skocz do poczatku poprzedniego slowa
H przejdz na góre ekranu
M przejdz na srodek ekranu
L przejdz na dól ekranu
^F przesun o ekran w przód
^B przesun o ekran w tyl
^R przerysuj ekran
zapis ^F oznacza jednoczesne nacisniecie klawisza Ctrl i klawisza F.
Kopiowanie i przenoszenie tekstu: spis treści ^^
wszystkie komendy skreslajace lub kopiujace tekst wpisuja ten tekst do wewnetrznego bufora vi. Tekst ten moze byc potem wielokrotnie wstawiany w rózne miejsca pliku. Nizej wymienione komendy równiez dzialaja na buforze vi:m zaznacz biezaca linie
p wstaw tekst z bufora vi za kursorem
P wstaw tekst z bufora vi przed kursorem
Wybrane komendy trybu liniowego: spis treści ^^
/ wyszukaj nastepne wystapienie ostatnio uzytego wzornika
s/told/tnew/ zamien tekst told na tnew
w zapisz biezacy plik na dysk
w fname zapisz biezaco poprawiany tekst na plik fname
r fname wczytaj zawartosc pliku fname i wstaw go za kursorem
number przejdz do linii numer number
n zakoncz poprawianie biezacego pliku, zacznij poprawiac nastepny plik, którego nazwa pasuje do wzornika z linii komendy uruchamiajacej vi
q zakoncz prace vi - jezeli zmienilismy zawartosc pliku vi nie pozwoli nam zakonczyc pracy
q! zakoncz prace z vi nie zapisujac zmienionego pliku na dysk
x zapisz edytowany plik na dysk i zakoncz prace z vi
Komendy s i w standardowo przeszukuja i zapisuja caly plik. Jezeli poprzedzimy je dwoma numerami linii oddzielonymi przecinkiem - beda dzialac tylko na tych liniach.
Jako numery linii mozna uzyc liczb calkowitych lub konstrukcji postaci:
+liczba linia o liczba linii pózniej niz biezaca
. biezaca linia
$ ostatnia linia pliku
Przyklady:
zamien kazde wystapienie tekstu ala na ola w liniach od 1 do 20
wpisz na plik part1 czesc biezaco poprawianego pliku - od linii o 5 dalej niz biezaca do linii o 10 mniej niz ostatnia linia w pliku
uzywajac vi stwórz we wlasnej kartotece plik zawierajacy podanie o podwyzke. Najpierw stwórz i zapisz plik zawierajacy naglówek takiego podania i zapisz go na dysk konczac prace z vi. Nastepnie uzyj ponownie vi aby dopisac do pliku uzasadnienie podwyzki.
Wyswietlanie danych o innych uzytkownikach: spis treści ^^
zanim spróbujemy skomunikowac sie z jakims uzytkownikiem powinnismy czy jest on biezaco zaloginowany - mozemy wtedy nie tylko wyslac mu list lecz równiez 'porozmawiac' z nim przez komputer.
Komenda
wyswietla informacje o uzytkownikach którzy pracuja biezaco na naszym komputerze
User tty from login@ idle JCPU PCPU what
root tty2 2:53pm w
tedd tty1 2:52pm 2 -tcsh
dodatkowo otrzymujemy informacje o tym kiedy zaloginowali sie poszczególni uzytkownicy ('login@'), z jakiego komputera ('from' - w tym przypadku nie bylo uzytkowników zaloginowanych spoza naszego komputera) oraz jaka komende wykonali ostatnio ('what')
Pelniejsze dane o uzytkownikach otrzymamy uzywajac komendy
jezeli nie podamy nazwy uzytkownika otrzymamy skrótowa informacje o biezaco zaloginowanych uzytkownikach:Login Name Tty Idle Login Time Office Phone
dawid Dawid Kedzierski - r 4 1 Nov 8 19:41
t_user Uzytkownik 'testowy' 3 1 Nov 8 19:41 Comp 229622
tedd 'Tedd' T. Kedzierski 1 Nov 8 19:40
natomiast podanie nazwy uzytkownika spowoduje wyswietlenie 'pelnej' informacji o uzytkowniku:
Directory: /home/dawid Shell: /bin/tcsh
Last login Tue Nov 7 19:05 (MET) on tty1
No mail.
No Plan.
mozna równiez wyswietlac dane o uzytkowniku z innego komputera
<code>
lub wyswietlic informacje o wszystkich uzytkownikach zaloginowanych biezaco na 'innym' komputerze:
<code>
finger @adres_sieciowy_komputera
<code>
<a name="12"></a>
<strong>Wysylanie komunikatów do innych uzytkowników:</strong> <a href="#0" title="Spis treści">spis treści ^^</a>
aby wyslac komunikat do biezaco zaloginowanego uzytkownika mozemy uzyc komendy
<code>
write nazwa_uzytkownika [nazwa_terminala]
nazwa_uzytkownika sluzy do wskazania do kogo ma byc wyslany komunikat. Jezeli uzytkownik jest zaloginowany na kilku terminalach mozemy jawnie wskazac na który terminal ma byc przeslany komunikat wpisujac nazwa_terminala jako ostatni parametr komendy write.
Po wpisaniu komendy write uzytkownik wysylajacy komunikat wpisuje w kolejnych liniach tekst, który zostanie przeslany. Tekst moze byc wieloliniowy - przechodzimy do nowej linii naciskajac klawisz Enter. Konczymy wpisywanie naciskajac Ctrl-D jako pierwszy znak nowej linii.
Uzytkownik do którego wysylamy komunikat zobaczy na swoim ekranie wiadomosc postaci:
Koniec pracy - zamykamy!!!
Twoj PC.
EOF
Interaktywna komunikacja z innymi uzytkownikami: spis treści ^^
aby 'porozmawiac' z innym uzytkownikiem uzyjemy komendy
komenda ta pozwala na 'rozmowe' z uzytkownikiem, który jest biezaco zaloginowany. Podanie po nazwie uzytkownika adresu_komputera umozliwi 'rozmowe' z uzytkownikiem zaloginowanym na innym niz nasz komputerze.
Nawiazanie polaczenia pomiedzy dwoma uzytkownikami wyglada wtedy nastepujaco:
zalózmy, ze uzytkownik nowak zaloginowany na komputerze alfa chce porozmawiac z uzytkownikiem kowalski pracujacym na komputerze beta
nowak wysyla komunikat
<code>
na ekranie komputera kowalskiego pojawia sie komunikat:
<code>
Message from TalkDaemon@beta
talk: connection requested by nowak@alfa
talk: respond with talk nowak@alfa
kowalski wykonuje komende
polaczenie zostaje nawiazane. Ekrany komputerów nowaka i kowalskiego zostaja podzielone na polowy - na jednej z nich pojawiaja sie komunikaty wysylane, na drugiej odbierane - polaczenie zostalo nawiazane.
Aby zakonczyc polaczenie jeden z uzytkowników naciska Cntrl-C - to przerywa polaczenie.
Wysylanie listów spis treści ^^
wymienione wczesniej metody komunikacji pomiedzy uzytkownikami wymagaja zeby obaj respondenci byli biezaco zaloginowani. To nie zawsze jest mozliwe. Aby skomunikowac sie z uzytkownikiem który nie jest zaloginowany - w najprostszym przypadku - uzywamy komendy mail
jezeli nie podamy nazwy uzytkownika - mail sprawdzi czy sa do nas jakies listy. Jezeli nie ma zadnych listów po wypisaniu komunikatu 'no mail messages' mail zakonczy dzialanie.
Jezeli sa jakies listy do nas - mail wyswietli naglówki tych listów:
"/var/spool/mail/root": 2 messages
> 1 root Thu Sep 15 02:23 132/4322 "Register with the Lin"
2 vol@mhd1 Thu Sep 15 02:53 65/2683 "Welcome to Linux!"
&
jestesmy teraz w trybie wykonywania komend maila. Najczesciej uzywane komendy to:
d num skresl list numer num
u num 'odskresl' list numer num. Do momentu zakonczenia pracy z mailem wszystkie skreslone listy moga byc odzyskane - komenda u
s num fname dopisz ('append') list numer num do pliku o nazwie fname
R num wyslij odpowiedz na list numer num - tylko do nadawcy tego listu
r num wyslij odpowiedz na list o numerze num do wszystkich, którzy go otrzymali
m user [@adres_komp] zacznij tworzyc list który zostanie wyslany do uzytkownika user
h ponownie wyswietl naglówki listów
q zakoncz prace z mailem
jako num mozemy uzyc pojedynczego numeru (komenda dotyczy wtedy pojedynczego listu), dwóch numerów oddzielonych myslnikiem (komenda dotyczy wszystkich listów o numerach od - do) lub * (gwiazdki) - w tym ostatnim przypadku komenda dotyczy wszystkich listów.
Jezeli zaczniemy wysylac list - podajac nazwe adresata - bedziemy proszeni o wpisanie:
cc - pole do którego wpisujemy nazwy uzytkowników (z ewentualnymi adresami komputerów) którzy powinni otrzymac kopie naszego listu. Komenda r wysyla odpowiedz do nadawcy listu oraz wszystkich uzytkowników wymienionych w polu cc
nastepnie wpisujemy tresc listu. Tresc moze byc dowolnie dluga - konczymy wpisywanie naciskajac Ctrl - D lub wpisujac . (kropke) na poczatku pustej linii.
Przecwicz poznane komendy komunikacji pomiedzy uzytkownikami:
wyswietl informacje o biezaco zaloginowanych uzytkownikach
wyslij komunikat do jednego z uzytkowników
nawiaz lacznosc (talk) z wybranym uzytkownikiem
wyslij list do grupy uzytkowników - odpowiedz na list który doszedl do Ciebie
zapamietaj tresc wybranego listu na pliku Program mail to najprostszy program to obslugi poczty. Jego 'zaleta' jest to, ze jest obecny w kazdej wersji Unixa. Natomiast jego uzycie nie jest zbyt 'user friendly'. Dlatego uzytkownicy Unixa dosc szybko zaczynaja uzywac bardziej 'wygodnych' programow - elm i pine sa chyba najczesciej uzytwanymi programami do obslugi poczty. Omowienie tych programow przekracza zakres tego opracowania - zreszta sa one na tyle 'przyjacielskie' ze elementarna znajpmosc jezyka angielskiego wystarcza do ich uzywania.
Procesy spis treści ^^
kazdy uruchomiony w Unixie program jest traktowany jak niezalezny proces. Unix pozwala uruchomic wiele procesów jednoczesnie. Kazdy z uruchomionych procesów posiada 3 standardowe strumienie danych:
output - na ten strumien wypisywane sa wyniki i komunikaty; default: ekran terminala
error - strumien na który wysylane sa komunikaty o bledach; default: ekran terminala
Unix pozwala przedefiniowac miejsce, skad pobierane sa dane wejsciowe oraz miejsca gdzie wyswietlane sa komunikaty za pomoca nastepujacych konstrukcji:
proces > fname - wpisuj wyniki, które normalnie bylyby wyswietlane na ekran terminala, do pliku fname
process >> fname - dopisz ('append') wyniki, które normalnie bylyby wyswietlane na ekran terminala, do pliku fname
process >& fname -wpisuj wyniki, normalnie kierowane na strumienie output i error do pliku o nazwie fname
process >>& fname - dopisuj ('append') wyniki, normalnie kierowane na strumienie output i error do pliku o nazwie fname
Przyklad:
zapamietaj w pliki dane o wszystkich plikach z biezacej kartoteki posiadajacych nazwy zaczynajace sie od a i konczace sie na z
Unix pozwala równiez wykonywac kilka procesów tak, ze ich wykonanie jest powiazane ze soba:
proc1 & proc2 & ... - wykonanie równolegle: wszystkie procesy procn zostana uruchomione jednoczesnie i beda sie wykonywac wspólbieznie
proc1 | proc2 | ... - wykonanie potokowe: najpierw zostanie uruchomiony proces proc1. Wyniki które ten proces wyswietla na ekranie zostana przeslane do procesu proc2. Proces proc2 zostanie uruchomiony po zakonczeniu procesu proc1. Dane przekazane z procesu proc1 sa przesylane do procesu proc2 tak jakby byly wpisywane z klawiatury. To samo bedzie sie powtarzalo dla pozostalych procesów uruchomionych potokowo
wszystkie te sposoby uruchamiania procesów mozna laczyc ze soba. Dodatkowo uruchamiane procesy moga byc laczone w grupy za pomoca nawiasów.
uruchom wspólbieznie:
wykonywane sekwencyjnie procesy p1 i p2
proces p3, po jego zakonczeniu uruchom p4 przekazujac mu jako dane wejsciowe dane wytworzone przez p3
Do wykonania bardziej sensownych operacji na strumieniach i procesach potrzebne nam beda jeszcze dwie komendy Unixowe:
czyta zawartosc wszystkich plików których nazwy sa zgodne z wzornikiem, laczy ich zawartosc i wysyla na ekran. Jezeli nie podamy wzorników - czytaj dane ze standardowego wejscia (klawiatura)
wyszukuje w plikach których nazwy sa zgodne z wzorcem wszystkie linie w których wystepuje tekst. Wyszukane linie sa przesylane na standardowe wyjscie
Najczesciej uzywane parametry:
-c wyswietla tylko ilosc wyszukanych linii
-l wyswietla tylko nazwy plików w których znaleziono tekst
-n wyswietla numery linii przed wyswietlanymi liniami
Przyklady:
polacz w jeden plik wszystkie pliki o nazwach zaczynajacych sie od x w jeden plik o nazwie wynik
wyswietl informacje o biezaco zaloginowanych uzytkownikach którzy w informacji o sobie maja slowo 'programista'
Skrypty spis treści ^^
skrypty sa odpowiednikiem batchów z MsDOSa. Pozwalaja na spisanie ciagu komend Unixa a nastepnie wykonanie ich.
W srodku skryptu mozemy uzywac nastepujacych konstrukcji:
zmienne - sa to obiekty, tworzone przez programiste lub zdefiniowane w systemie Unix. Kazda zmienna ma swoja nazwe - poprzez te nazwe odwolujemy sie do zmiennej.
wartosc zmiennej nadajemy instrukcja
natomiast wartosc zmiennej pobieramy uzywajac konstrukcji $nazwa_zmiennej
Jezeli wartoscia zmiennej alfa jest lancuch beta to komenda
wyswietli na monitorze komunikat
W systemie zdefiniowane sa pewne zmienne globalne - najczesciej uzywane z nich to:
PATH ciag nazw kartotek, oddzielonych : - kartoteki te beda przeszukiwane przez Unixa w czasie szukania programu do wykonania - analogicznie jak zrobil to potem MsDOS
wewnatrz skryptu wpisujemy normalne komendy Unixa. Dodatkowo mamy mozliwosc uzycia dodatkowych instrukcji. We wszystkich omawianych ponizej instrukcjach uzywamy nastepujacych oznaczen:warunek wykonanie dowolnego ciagu instrukcji Unixa - uruchomienie procesów, komendy wbudowane Unixa. warunek ma wartosc TRUE o ile uruchomione programy wykonaly sie bez bledów - dokladniej dopóki beda zwracac wartosc 0
dodatkowo jako warunek moze wystapic konstrukcja -f fname - ma wartosc TRUE jezeli plik o nazwie fname istnieje
ciag instrukcji dowolny ciag instrukcji Unixa
Najwazniejsze z dodatkowych instrukcji których mozemy uzyc w skryptach:
do
ciag instrukcji;
done wykonuj krotnie ciag instrukcji - tak dlugo jak dlugo ?spelniony? bedzie warunek
for zmienna in lista_wartosci
do
ciag instrukcji
done lista_wartosci to ciag nazw oddzielonych spacja. zmienna otrzymuje kolejno wartosci z listy_wartosci - dla kazdej z nich wykonywany jest ciag instrukcji.
Jako lista_wartosci mozne wystapic równiez wzornik - wartoscia zmiennej beda nazwy plików zgodnych z wzornikiem
if [ warunek ];
then
ciag instrukcji1
else
ciag instrukcji2
fi jezeli spelniony jest warunek - wykonaj ciag instrukcji1, jezeli nie jest - wykonaj ciag instrukcji2
Uwaga! Przed wykonaniem pliku ze skryptem musimy mu nadac atrybut 'executable' - komenda
Przyklad:
sprawdz czy plik o podanej jako parametr skryptu nazwie istnieje. Jezeli tak - sprawdz czy w tym pliku wystepuje linia z tekstem bedacym drugim parametrem skryptu. Jezeli oba warunki sa spelnione - utwórz plik o nazwie zgodnej z nazwa pliku bazowego oraz rozszerzeniem '.tekst_szukany.RESULT'. W pliku tym powinny znajdowac sie wylacznie linie zawierajace szukany tekst
do
if [ -f $fname ];
then
if grep $2 $fname
then
grep $2 $fname > $fname.$2.RESULT
echo Zalozono plik $fname.$2.RESULT ...
else
echo W pliku $fname nie ma szukanych linii $2
fi
else
echo Plik $fname nie istnieje
fi ;
done
Cwiczenie:
stwórz - za pomoca vi - plik zawierajacy skrypt do_find. Przecwicz wykonanie takiego skryptu. Dodaj do skryptu instrukcje sledzace jego wykonanie (instrukcje echo wyswietlajace wartosci zmiennych podczas wykonywania skryptu)
Konfigurowanie srodowiska uzytkownika: spis treści ^^
w kartotece bazowej kazdego uzytkownika znajduja sie pliki konfigurujace jego sesje. Do najwazniejszych z tych plików naleza:
.login plik ten jest uruchamiany kazdorazowo podczas otwarcia przez uzytkownika nowego okienka w biezacej sesji. Znaczenie - podobne jak .cshrc
.logout instrukcje wykonywane bezposrednio przed zakonczeniem sesji uzytkownika. Zwykle zawieraja komendy 'robiace porzadki' - usuwanie plików tymczasowych, odtwarzanie stanu systemu, itp. Moze nie wystapic.
Kolejnosc uruchamiania plików .cshrc i .login jest nastepujaca:
uzytkownik wykonuje komende login zeby uruchomic swoja sesje w systemie Unix. Wykonywane sa instrukcje z pliku .cshrc. Poniewaz jednoczesnie otwiera sie okienko - po .cshrc wykonywany jest plik .login
kazdorazowo gdy - pracujac w biezacej sesji - uzytkownik otwiera nowe okienko - wykonywany jest plik .login
kiedy uzytkownik wykona komende logout (konczaca sesje) wykonywany jest plik .logout
Dodatkowymi plikami konfiguracyjnymi, które moga byc ustawiane przez uzytkownika sa:
.plan
.project jezeli te pliki istnieja w kartotece bazowej uzytkownika ich zawartosc jest wyswietlana przez komende finger - przekazujaca informacje o uzytkowniku. Pozwalaja zdefiniowac informacje które uzytkownik chce przekazac o sobie
Aliasy spis treści ^^
konstrukcje postaci
wystepujace w plikach .cshrc i .login definiuja aliasy. Od momentu zdefiniowania aliasu kazde wpisanie przez uzytkownika tekstu nazwa bedzie traktowane tak jakby uzytkownik wpisal tekst wartosc. Pozwala to definiowac 'nowe' komendy w Unixie. wartosc ujmujemy w apostrofy jezeli wewnatrz tekstu tworzacego wartosc wystepuja spacje.
Komende alias mozemy równiez wprowadzic z linii komend Unixa.
Definicje
alias dir 'ls -aFsl'
alias del 'rm -i'
unalias nazwa - usuwa definicje aliasu nazwa.
Cwiczenie:
wyswietl zawartosc swoich plików .cshrc i .login. Jezeli nie istnieja aliasy 'komend MsDOSa' - dopisz je do .cshrc. Zaloginuj sie ponownie i spróbuj ich uzyc.
utwórz pliki .plan i .project w swojej kartotece bazowej. Zobacz jak dziala komenda finger twoja_nazwa_uzytkownika kiedy takie pliki istnieja.
Adresy sieciowe komputerów. Komunikacja pomiedzy komputerami. spis treści ^^
kazdy komputer dolaczony do sieci komputerowej posiada dwa adresy sieciowe: symboliczny i tzw. IP adres. Oba adresy sa tworzone przez administratora systemu. Adres symboliczny wlasnego komputera mozemy uzyskac komenda
hostname
natomiast adres IP mozemy znalezc w pliku /etc/hosts - plik ten zawiera pary 'adres symboliczny - IP adres' dla komputerów, które sa 'znane' naszemu komputerowi. IP adres ma zawsze postac czterech liczb z przedzialu 1 - 253, oddzielonych od siebie kropkami.
Do komunikacji pomiedzy komputerami w sieci uzywane sa najczesciej dwie komendy:
telnet spis treści ^^
Uruchom sesje uzytkownika na zdalnym komputerze.
komenda ta laczy sie z komputerem o podanym adresie. Jezeli taki komputer nie istnieje (nie jest znany jego adres symboliczny lub nie istnieje mozliwosc zamiany adresu symbolicznego na IP) komenda konczy sie z komunikatem o bledzie. Jezeli uda sie polaczyc ze zdalnym komputerem - uzytkownik zostanie poproszony o zaloginowanie sie - bedzie musial podac poprawna nazwe i haslo uzytkownika zdefiniowanego na komputerze, do którego sie dolaczyl. Jezeli to zrobi - od tego momentu, siedzac przy terminale wlasnego komputera, wykonuje obliczenia na komputerze zdalnym.
ftp spis treści ^^
ftp adres_IP_lub_symboliczny Uruchom program do transmisji plików pomiedzy komputerami.
Najpierw - ftp próbuje polaczyc sie ze zdalnym komputerem - analogicznie jak telnet. Takie same moga byc równiez powody blednego zakonczenia ftp. Jezeli uda sie polaczyc ze zdalnym komputerem - uzytkownik musi sie poprawnie zaloginowac. Wiele z komputerów udostepniajacych pamietane na nich informacje pozwala zaloginowac sie jako uzytkownik anonymous z haslem 'nazwa_uzytkownika@adres_komputera_z_którego_sie_lacze'.Po polaczeniu sie mozemy transmitowac pliki pomiedzy naszym komputerem a komputerem do którego sie dolaczylismy uzywajac wewnetrznych komend ftp:
binary przelancza tryb transmisji. W trybie ascii zawartosci plików sa przesylane 7bitowo - tryb ten sluzy najczesciej do przesylania plików tekstowych. W trybie binary transmisja jest 8 bitowa
prompt przelacza (jezeli nie byl wlaczony - to wlacza, jezeli byl wlaczony - wlacza) tryb pytania o kazdy plik podczas transmisji wielu plików
status wyswietla informacje o biezaco ustawionych parametrach transmisji (ascii / binary, prompt)
lcd kartoteka zmienia biezaca kartoteke na naszym komputerze
cd kartoteka zmienia biezaca kartoteke na komputerze do którego sie dolaczylismy
get nazwa_pliku [ nazwa_lokalna ] skopiuj jeden plik o nazwie nazwa_pliku z komputera zdalnego na nasz komputer. Jezeli wystapi parametr nazwa_lokalna plik zostanie zapisany pod ta nazwa. Jezeli nie wystapi - pod nazwa jaka mial na komputerze zdalnym
put nazwa_pliku [ nazwa_zdalna ] operacja odwrotna do get - skopiuj plik z naszego komputera na komputer zdalny ewentualnie zmieniajac mu nazwe na nazwe_zdalna
mget wzornik skopiuj wszystkie pliki których nazwy sa zgodne z wzornikiem ze zdalnego komputera na nasz komputer. Jezeli prompt jest wlaczony - nazwa kazdego pliku który ma byc przesylany bedzie wyswietlana a uzytkownik bedzie pytany czy ten plik ma byc przetransmitowany
mput wzornik komenda odwrotne do mget - kopiuje wszystkie pliki o nazwach zgodnych z wzornikiem z naszego komputera na komputer zdalny
help wyswietl opis komend ftp (omówilismy tylko najwazniejsze z nich, jest ich wiecej)
quit zakoncz prace z ftp
DNS - Domain Name Service spis treści ^^
jak mozemy zauwazyc w pliku /etc/hosts nie ma adresów wszystkich komputerów jakie istnieja na swiecie - jezeli tylko znamy symboliczny adres komputera to mozemy sie z nim polaczyc nawet wtedy kiedy informacji o nim nie ma w /etc/hosts. Dzieje sie tak dlatego ze w sieci komputerowej - oprócz zwyklych komputerów - istnieja równiez komputery zajmujace sie zamiana adresów symbolicznych na adresy IP - tzw. name servery
Cwiczenie:
wyswietl zawartosc pliku /etc/hosts na wlasnym komputerze
polacz sie przez ftp z komputerem o adresie ftp.cyf-kr.edu.pl. Zaloginuj sie jako uzytkownik anonymous z odpowiednim haslem. Komputer ten to krakowska kopia wezla simtel i cica - zawiera bardzo duzo oprogramowania typu shareware i public domain. Skopiuj dowolny, wybrany przez siebie plik z tego komputera na wlasny komputer. Pamietaj o ustawieniu trybu transmisji (ascci/binary)
Uruchamianie systemu X Windows spis treści ^^
konfiguracja komputera w ten sposób, zeby na terminalach graficznych uruchamial sie automatycznie system X Windows jest zwykle sprawa administratora systemu - informacje o 'recznym' konfigurowaniu sysetmu X Windows wykraczaja poza zakres tego kursu - dlatego nie beda tutaj omawiane.
Gdyby jednak na naszym graficznym terminalu nie uruchomil sie automatycznie system X Windows - mozemy wykonac komende openwin - ta komenda inicjuje prace systemu X Windows.
Zasada dzialania systemu X Windows: spis treści ^^
W systemie X Windows wyrózniamy dwa typy komputerów:
serwer - to komputer którego ekran wyswietla wyniki dzialania uruchomionego programu a klawiatura jest uzywana do wprowadzania danych
Zwykle serwerem jest komputer przy którym siedzimy a klientem komputer z którym polaczylismy sie zeby uruchomic znajdujace sie tam oprogramowanie (oczywiscie moze sie tak zdazyc, ze serwer i klient to ten sam komputer)
Tym gdzie bedzie wyswietlany wynik programu pracujacego pod kontrola X Windows steruja dwa elementy:
zmienna systemowa DISPLAY - przed uruchomieniem programu musimy ustawic te zmienna tak, by wskazywala komputer, na którym ma byc wyswietlany wynik dzialania programu.
jezeli chcemy wyswietlac wyniki na ekranie komputera o nazwie alfa (nazwe naszego komputera otrzymamy uzywajac komendy hostname) to zmienna DISPLAY powinna byc ustawiona nastepujaco:
Takie ustawienie zmiennej DISPLAY mozemy potraktowac jako stwierdzenia 'ja program chce wyswietlac na komputerze alfa'. Aby to bylo mozliwe konieczna jest jeszcze druga operacja - komputer alfa musi zgodzic sie na to, zeby program mógl cos wyswietlac na ekranie alfy.
Zalózmy, ze program który chce wyswietlac wyniki na komputerze alfa dziala na komputerze beta. Przed uruchomieniem programu uzytkownik musi - w okienku uchomionym na komputerze alfa - wykonac komende
Te komende mozemy potraktowac jako stwierdzenie 'ja komputer alfa zgadzam sie zeby programy z komputera beta wyswietlaly na moim ekranie'
Dopiero wykonanie obu tych czynnosci pozwoli na poprawne dzialanie programu graficznego
Konfiguracja wlasnego ekranu w systemie X Windows spis treści ^^
jezeli chcemy spersonalizowac sposób w jaki bedzie zglaszac sie system X Windows na naszym komputerze postepujemy nastepujaco:
SUN:
uruchamiamy te aplikacje które powinny uruchamiac sie kazdorazowo kiedy bedziemy uruchamiac X Windows. Ustawiamy okienka w tych miejscach w których powinny sie pojawic, minimalizujemy do ikon aplikacje które powinny uruchomic sie jako zminimalizowane - porzadkujemy obiekty na ekranie tak, jak chcemy zeby sie ukazywaly po uruchomieniu X Windows
ustawiamy kursor myszki na pustym fragmencie ekranu, naciskamy prawy przycisk myszki. Z menu które sie pojawilo wybieramy Desktop a nastepnie - z pod menu - Save Workspace. Spowoduje to zapamietanie stanu naszego ekranu - poczawszy od nastepnego uruchomienia X Windows beda pojawiac sie w sposób w jaki je ustawilismy.
SGI:
zobacz opis sposobu zapamietywania ustawienia Desktopu dla origina 200
Cwiczenia:
znajdz nazwy programów graficznych na Twoim komputerze - wyswietl z kartoteki $OPENWINHOME/bin nazwy wszystkich programów zaczynajace sie od 'x'. Spróbuj uruchomic kilka z nich
spróbuj uruchomic program xclock (zegar) tak, by wyswietlal obraz na ekranie kolegi
poustawiaj obiekty na ekranie swojego komputera i zapamietaj ich ustawienie
Na podstawie: UNIX - kurs podstawowy (c) T.Kędzierski
quex, pon., 25/02/2008 - 01:26
