Kierunek: Informatyka i Ekonometria
1.2. Historia systemu operacyjnego Linux
Przedmiot:
Podstawowe warunki i przyczyny powstania systemu operacyjnego Linux:
Temat: Systemy operacyjne. System Linux
" wąskie i specjalistyczne grono użytkowników systemów uniksowych,
1. System operacyjny Linux
" szybki rozwój Internetu na początku lat dziewięćdziesiątych,
1.1. Systemy operacyjne w laboratoriach UOO AE w Krakowie
" powstanie procesora Intel 80386 umożliwiającego pracę wielozadaniową,
SO: Novell Netware
" napisanie przez Linusa Torvaldsa programów dla systemu operacyjnego
SO: Linux
Minix oraz jÄ…dra nowego systemu operacyjnego (opartego na Miniksie),
" ogłoszenie przez Tornvaldsa na grupie dyskusyjnej comp.os.minix
(sierpień 1991) prac nad bezpłatnym systemem dla komputerów PC,
SO: MS Windows SO: MS Windows
" dostosowanie systemu Linux do norm POSIX pozwalajÄ…ce na
przenoszenie oprogramowania pomiędzy Linuksem a komercyjnymi
SO: MS Windows SO: MS Windows
systemami uniksowymi,
" opracowanie Linuksa na podstawie licencji GNU GPL (GNU General
SO: MS DOS SO: MS DOS
Public Licence) fundacji FSF (Free Software Fundation),
Rys. 1
" pojawienia się różnych dystrybucji Linuksa, (np. Slackware, RedHat,
" Microsoft Windows,
Debian, SuSE, Mandrake).
" Microsoft DOS,
" Novell Netware,
" Linux.
1 2
" użytkownik, który chce pracować z systemem Linux, musi mieć do tego
1.3. Praca zdalna z serwerem linuksowym
odpowiednie uprawnienia,
" system operacyjny (SO) to program lub zbiór programów służących do
" weryfikacja uprawnień odbywa się poprzez sprawdzenie znajomości
zarzÄ…dzania pracÄ… komputera,
nazwy użytkownika (tzw. login) i hasła,
" Linux jest systemem wielozadaniowym i wielodostępnym,
" użytkownik może korzystać wyłącznie z zasobów systemu, do których
" wielozadaniowość to tryb pracy systemu operacyjnego, w którym
ma nadane prawa,
użytkownik może uruchomić w tym samym czasie więcej niż jedno
" kontrolę nad całym systemem sprawuje administrator, tzw. root,
zadanie,
" praca z serwerem odbywa siÄ™ zazwyczaj w trybie tekstowym, jako tzw.
" wielodostęp to tryb pracy systemu operacyjnego, w którym w tym samym
praca zdalna, czyli praca na odległość za pomocą odpowiedniego
czasie więcej niż jeden użytkownik może pracować z systemem i
programu emulujÄ…cego terminal,
korzystać z jego zasobów,
" praca zdalna w trybie tekstowym może być realizowana za pomocą
" równoczesna praca z systemem odbywa się za pomocą komputerów
protokołu telnet lub ssh,
pełniących funkcje tzw. terminali,
" do pracy zdalnej z zastosowaniem protokołu ssh mogą być
wykorzystywane różne programy, np. CRT, SSh32, PuTTY.
Terminale
System Operacyjny: Linux
Serwer: ie.ae.krakow.pl
System Operacyjny:
MS Windows
dane przesyłane zgodnie z protokołem ssh
Emulacja terminala: program PuTTY
Komputer pracujÄ…cy w trybie
wielodostepnym
Rys. 3. Praca zdalna z serwerem linuksowym
Rys. 2
3 4
1.4. Praca zdalna z wykorzystaniem programu PuTTY
1. Uruchomienie program PuTTY:
2. Podanie nazwy serwera (np. ie.ae.krakow.pl) w polu Host Name (or IP
address) oraz wybranie protokołu SSH:
4. Naciśnięcie przycisku Open.
5. Podanie nazwy użytkownika (login as:) i hasła (password:):
3. W razie konieczności skonfigurowanie ustawienia programu (np.
wielkość i krój czcionki, kolor tła itp.) poprzez skorzystanie z kategorii
Window/Appearance:
Podczas pracy można wydawać polecenia i uruchamiać programy, np.:
" wyświetlić listę użytkowników zalogowanych w systemie:
$ finger
5 6
" zmienić swoje hasło:
2. System plików
$ passwd
System plików jest to sposób zapisu logicznej struktury danych (tzn. plików
po wydaniu tego polecenia użytkownik zostanie poproszony o
podanie bieżącego (starego) hasła
oraz katalogów) na fizycznym nośniku, tzn.:
Changing password for nowakj
System plików = zbiór plików + sposób ich uporządkowania.
Old password:
następnie zostanie poproszony o podanie nowego hasła i jego
Pliki, jako podstawowe jednostki logiczne systemu plików:
powtórne wprowadzenie (potwierdzenie).
New password:
" służą do przechowywania programów (rozkazów dla procesora) i danych
W celu zakończenia pracy z serwerem należy wydać polecenie:
(np. znaków, liczb, wierszy tekstu),
$ logout
" są przechowywane na nośnikach danych (np. dyskach twardych, dyskach
optycznych, pamięciach flash),
" mają strukturę ustaloną przez ich twórcę,
" posiadajÄ… swojÄ… nazwÄ™ oraz atrybuty (np. rozmiar, datÄ™ i czas utworzenia,
prawa dostępu),
" są zarządzane przez system operacyjny w sposób zgodny z wymaganiami
i możliwościami systemu plików.
Rodzaje systemów plików:
" liniowy - wszystkie pliki umieszczane sÄ… w jednym katalogu,
" drzewiasty (hierarchiczny) - występują katalogi mogące zawierać pliki i
podkatalogi, w których także mogą znajdować się pliki lub podkatalogi
niższego poziomu.
7 8
- /home - zawiera katalogi domowe użytkowników,
- /lib - zawiera m.in. biblioteki systemowe i ładowalne moduły jądra,
" przydział miejsca na nośniku (dysku, dyskietce) dla systemu plików oraz
- /lost+found - zawiera odzyskane pliki,
ewidencja zajętych i wolnych obszarów nośnika,
- /mnt - zawiera zamontowane systemy plików innych urządzeń (np.
" określenie sposobu uporządkowania plików i organizowanie do nich
dyskietki, CD-ROM-u),
dostępu zgodnie z wymogami i możliwościami systemu plików,
- /proc - zawiera tzw. pliki statusu jądra, urządzeń i procesów,
- /root - jest to katalog domowy administratora,
" wykonywanie operacji na plikach, np. kopiowanie, przesuwanie,
- /sbin - zawiera programy wykorzystywane przez administratora do
kasowanie, zmiana nazwy itp.
zarzÄ…dzania i konfigurowania systemu,
/
katalog główny - /tmp - zawiera pliki tymczasowe tworzone przez różne programy
podczas ich pracy,
bin dev home etc ... - /usr - zawiera programy, biblioteki i dokumenty dostępne dla
katalogi systemowe
użytkowników systemu,
basia krysia janek ... - /var - zawiera m.in. przychodzÄ…cÄ… i wychodzÄ…cÄ… pocztÄ™ oraz logi
katalogi domowe
systemowe.
public_html grafika raporty
katalogi użytkowników
" każdy użytkownik systemu posiada swój katalog, tzw. katalog domowy,
Rys. 4. Schemat struktury katalogów w Linuksie
" użytkownik może wykonywać operacje na plikach znajdujących się w
W systemie plików Linuksa: jego katalogu domowym, jego podkatalogach oraz w innych katalogach -
o ile ich właściciele dadzą mu do tego prawo,
" struktura katalogów jest na ogół ściśle określona, tzn. katalog:
- /bin - zawiera niezbędne do funkcjonowania systemu programy, " każdy plik posiada swoją nazwę o długości do 255 znaków,
- /boot - zawiera jÄ…dro systemu i pliki startowe,
" nazwa pliku może składać się, m.in. z liter, cyfr, znaku podkreślenia,
- /dev - zawiera urzÄ…dzenia (widziane, jako pliki, np. /dev/hda1 - dysk
spacji, kropek,
twardy, /dev/fd0 - stacja dyskietek),
" nazwa pliku rozpoczynajÄ…ca siÄ™ od kropki oznacza plik ukryty (np.
- /etc - zawiera pliki konfiguracje systemu,
.tajne.txt ),
9 10
" w nazwach rozróżniane są małe i duże litery (np. nazwy plików - ? - oznacza dowolny jeden znak,
wiosna.txt i W iosna.txt są różne),
- [znaki] lub [znak1-znak2] - oznacza jeden ze znaków
wymienionych na liście lub znak z pomiędzy podanego zakresu.
" w nazwach plików i katalogów stosuje się zazwyczaj tylko małe litery
Tabela 1 ów i katalogów
alfabetu łacińskiego,
Wzorzec nazwy Opis
a
" użytkownik może poruszać się po systemie katalogów - katalog, w pliki i katalogi, których nazwa zaczyna się na
a* ala
literÄ™ a
a123
którym się aktualnie znajduje to katalog bieżący,
a-la
pliki i katalogi, których nazwa ma długość
a??? a345
czterech znaków i rozpoczyna się na literę a
" niektóre katalogi mają specjalne oznaczenia:
abba
pliki i katalogi, których nazwa ma długość trzech tak
- znak slash (/) symbolizuje katalog główny,
t[aeioy]k znaków, pierwszy znak to t , trzeci to k a drugi tik
to a , e , i , o lub y tok
- kropka (.) symbolizuje katalog bieżący,
pliki i katalogi, których nazwa zaczyna się od rysunek1.jpg
- dwie kropki (..) symbolizują katalog nadrzędny, rysunek[1-7].??? słowa rysunek , po którym następuje jedna z cyfr rysunek3.bmp
od 1 do 7, majÄ…ce trzyznakowe rozszerzenie rysunek7.gif
- znak tyldy (~) symbolizuje katalog domowy użytkownika,
test.doc
* wszystkie pliki i katalogi Pliki!
DOKUMENTY
" położenie pliku w systemie plików określa ścieżka dostępu:
pliki i katalogi, których nazwa składa się z song.mp3
*.mp? dowolnego ciągu znaków, mające trzyznakowe Moj:Film.mpg
- bezwzględna, czyli taka która określa położenie pliku względem
rozszerzenie zaczynajÄ…ce siÄ™ od mp super video!.mpg
katalogu głównego, np.
/home/krysia/grafika/rysunek.jpeg
- względna, czyli taka która określa położenie pliku względem
bieżącego katalogu, np.
./grafika/rysunek.jpeg
../grafika/rysunek.jpeg
~/grafika/rysunek.jpeg
" wieloznaczne nazwy (tzw. maski nazwy lub wzorce nazwy) oznaczajÄ…
grupę plików lub katalogów i są tworzone za pomocą znaków
uogólniających, takich jak:
- * - oznacza dowolny ciąg znaków (w tym także ciąg pusty),
11 12
Polecenia można wydawać w jednym wierszu, ale należy je w tym celu
3. Operacje na plikach i katalogach
oddzielić od siebie znakiem średnika (;), np.
$ who; pwd; ls /home -al
3.1.
Praca w trybie tekstowym polega na wydawaniu systemowi odpowiednich
poleceń z poziomu tzw. wiersza poleceń (ang. command line).
3.2. Wyszukiwanie informacji o poleceniach
" apropos (składnia: apropos szukany_ciąg_znaków) - program
Składania polecenia w systemie Linux:
przeszukuje opisy poleceń, np.
polecenie [-opcje ] [ argumenty ]
$ apropos copy files
Opcje polecenia to zazwyczaj pojedyncze litery poprzedzone znakiem minus
wyszukaj polecenia, w których opisie znajduje się ciąg znaków
(-). Opcje można podawać pojedynczo lub grupowo, np.
copy files
$ ls -a -l -t
$ apropos password | less
$ ls -alt
wyszukaj polecenia, w których opisie znajduje się słowo
password
$ ls -al -t
Niektóre opcje mają także postać pełnych słów, wtedy każdą z nich należy " man (składnia: man nazwa_programu), info (składnia: info
poprzedzić podwójnym znakiem minus (--), np. nazwa_programu), opcja --help (składnia: nazwa programu --help) -
$ ls --all --format=long
wyświetla opis składni i opcji danego polecenia, np.
$ man mv
polecenie to jest równoważne poleceniu ls -al
wyświetl opis polecenia mv
$ info cp
Argumenty polecenia to ciągi znaków (np. nazwy plików i katalogów, nazwy
użytkowników, wartości liczbowe) przekazywane do polecenia, np. wyświetl opis polecenia cp
$ rm --help |less
$ cp stary.plik nowy.plik
wyświetl opis polecenia rm
argumentami są tutaj nazwy plików
Zakończenie wyświetlania opisu odbywa się po naciśnięciu klawisza [Q].
$ finger nowakj
argumentem jest tutaj nazwa użytkownika
$ ls /home
argumentem jest tutaj ścieżka dostępu
13 14
" tree - wyświetlenie struktury katalogów i plików, np.
3.3. Podstawowe polecenia systemu Linux
$ tree
" pwd - wyświetlanie nazwy bieżącego katalogu, np.
" rmdir - usunięcie pustego katalogu, np.
$ pwd
$ rmdir test
" ls - wyświetlenie zawartości katalogu, np.
usuwany w ten sposób katalog test musi być pusty, a użytkownik
musi mieć uprawnienia do jego usunięcia. Ponadto, nie można
$ ls
usunąć katalogu bieżącego.
wyświetl zawartość bieżącego katalogu (bez plików ukrytych)
" edytor pico - utworzenie plików tekstowych, np.
$ ls /bin
$ pico zaproszenie.txt
wyświetl zawartość katalogu /bin
uruchomi edycjÄ™ pliku zaproszenie.txt w edytorze pico:
$ ls *.c
$ ls -a
$ ls -l
$ ls -tl
" cd - zmiana bieżącego katalogu, np.
$ cd grafika
przejdz do katalogu grafika będącego w bieżącym katalogu
$ cd ..
$ cd ../../listy
$ cd /
$ cd /home/jacek
$ cd
$ cd ~
Podstawowe polecenia edytora pico :
- [Ctrl]+[O] - zapisanie zmian (Write Out),
" mkdir - utworzenie katalogu, np.
- [Ctrl]+[R] - odczytanie pliku (Read File),
$ mkdir test
- [Ctrl]+[X] - zamknięcie edytora (Exit).
utwórz katalog test w katalogu bieżącym
$ mkdir grafika/zdjecia
15 16
" find - wyszukiwanie plików i katalogów zgodnie z zadanym kryterium,
" mv - przenoszenie plików (zmiana nazwy):
np.
$ mv list.txt zaproszenie.txt
$ find / -name index.html
zmień nazwę pliku list.txt na zaproszenie.txt
znajdz w katalogu głównym i jego podkatalogach wszystkie pliki o
" klawisz [Tab] - uzupełnianie nazwy plików. Naciśnięcie klawisza [Tab]
nazwie index.html . Należy pamiętać, że aby móc przeszukiwać
zawartość katalogów, użytkownik musi mieć do tego prawo. W
podczas wprowadzania nazwy pliku (jako argumentu polecenia)
przeciwnym wypadku otrzyma komunikat o braku dostępu do
spowoduje uzupełnienie jego nazwy.
danego katalogu ( Permission denied ).
$ find . -name "*.txt"
" klawisze kursora [ę!] i [ ] - przechodzenie do wydanych wcześniej
$ find /home -user kowalski -name *.html
poleceń. Naciśnięcie klawiszy kursora pozwala przeglądać i wybrać
" cat, more, less - wyświetlanie plików tekstowych, np.
wydane wcześniej polecenia.
$ cat zaproszenie
" history - przeglądanie wydanych poleceń, np.
$ more zaproszenie
$ history
$ less zaproszenie
" du - wyświetlanie informacji o zajętości katalogów, np.
" rm - usuwanie plików, np.
$ du
$ rm zaproszenie.txt
usuń plik zaproszenie.txt
" df - wyświetlenie informacji o zajętości dysków, np.
$ rm w*
$ df
$ rm ~/*
" quota - wyświetlenie informacji o ograniczeniach użytkownika co do
$ rm -rf mojkatalog
ilości miejsca i liczby utworzonych plików, np.
" cp - kopiowanie plików, np.
$ quota
$ cp list.txt zaproszenie.txt
kopiuj plik list.txt do pliku zaproszenie.txt
$ cp *.jpeg ~/grafika
$ cp list.txt ..
17 18
4.1. Tryby pracy edytora vi
4. Edytor tekstów vi
Do najczęściej wykorzystywanych trybów edytora vi należy:
Zalety edytora vi:
" normalny tryb wydawania poleceń (tzw. tryb normalny),
" popularność - standardowo dostępny edytor w systemach uniksowych,
" tryb wprowadzania tekstu,
" możliwość pracy z bardzo dużymi plikami tekstowymi,
" tryb zastępowania tekstu,
" podświetlanie składni wielu różnych języków programowania oraz
" tryb wydawania poleceń z linii poleceń (tzw. tryb poleceń).
dodatkowe ułatwienia dla programistów (np. kontrola zamknięcia
nawiasów, automatyczne wcięcia kodu programu, wsparcie dla narzędzi
Normalny tryb wydawania poleceń (tryb normalny) jest to tryb, który służy do:
programistycznych, takich jak gcc, cvs, make),
" poruszania siÄ™ po dokumencie, tzn. przeglÄ…danie tekstu oraz proste
" zaawansowane wyszukiwanie tekstu (interpretacja wyrażeń regularnych),
wyszukiwanie znaków w obrębie bieżącego wiersza (zob. Tabela 2),
" łatwe pisanie makropoleceń.
" zaawansowanie usuwanie fragmentów tekstu (zob. Tabela 4),
Utworzenie (otworzenie) pliku w edytorze vi:
$ vi praca.txt
" kopiowanie fragmentów tekstu do bufora oraz wstawianie ich do
dokumentu (zob. Tabela 8).
Tryb wprowadzania tekstu pozwala wprowadzać tekst do dokumentu oraz go
usuwać. Przejście do trybu wprowadzania następuje po użyciu w trybie
normalnym, jednego z takich poleceń, jak np. i, I, a, A, o, O (zob. Tabela 3).
Powrót z trybu wprowadzania tekstu do trybu normalnego - klawisz [Esc].
Tryb zastępowania tekstu pozwala na nadpisywanie wprowadzonego tekstu
nowym. Przejście do trybu zastępowania następuje po użyciu w normalnym
trybie, polecenia R (zob. Tabela 5). Powrót z trybu zastępowania do trybu
Rys. 5. Edytor tekstów vi
normalnego - klawisz [Esc].
19 20
4.2. Podstawowe polecenia edytora vi
Tryb wydawania poleceń z linii poleceń (tryb poleceń) pozwala na:
Tabela 2. Polecenia edytora vi - nawigacja po dokumencie
j przesunięcie kursora o jeden wiersz w dół
" zaawansowane wyszukiwanie (zob. Tabela 6) i zamianÄ™ znalezionego
k przesunięcie kursora o jeden wiersz w górę
h przesunięcie kursora o jeden znak w lewo
tekstu (zob. Tabela 7),
l przesunięcie kursora o jeden znak w prawo
L przesunięcie kursora na dół ekranu
" operacje na plikach i wydawanie poleceń systemowych (zob. Tabela 10),
H przesunięcie kursora na górę ekranu
M przesunięcie kursora na środek ekranu
CTRL+f przesunięcie kursora o jeden ekran w dół
" zmianę sposobu wyświetlania tekstu (np. numerowanie wierszy tekstu)
CTRL+b przesunięcie kursora o jeden ekran w górę
oraz konfigurowanie edytora (np. określenie zasad traktowania dużych i
CTRL+d przesunięcie kursora o pół ekranu w dół
CTRL+u przesunięcie kursora o pół ekranu w górę
małych liter podczas wyszukiwania tekstu).
G przejście na początek ostatniego wiersza
nG powoduje przesunięcie kursora do n-tego wiersza
Przejście do trybu wydawania poleceń następuje po naciśnięciu w normalnym
$ przesunięcie kursora na koniec bieżącego wiersza
trybie dwukropka (:). Powrót z trybu wydawania poleceń do trybu normalnego
^ przesunięcie kursora na początek bieżącego wiersza
fx przesunięcie kursora do najbliższego znaku x znajdującego się po prawej
następuje automatycznie po wykonaniu polecenia.
stronie kursora w bieżącym wierszu
Fx przesunięcie kursora do najbliższego znaku x znajdującego się po lewej
stronie kursora w bieżącym wierszu
Normalny tryb wydawania
np. polecenie i, a, np. polecenie R
Tryb wprowadzania poleceń Tryb zastępowania
; powoduje powtórzenie ostatniego polecenie f lub F
A
tekstu (np. polecenia j, k, G, $, x, klawisz [Esc] tekstu
klawisz [Esc]
w przesunięcie kursora o jeden wyraz do przodu
dw)
nw przesunięcie kursora o n wyrazów do przodu
dwukropek (:)
b przesunięcie kursora o jeden wyraz do tyłu
nb przesunięcie kursora o n wyrazów do tyłu
Tryb wydawania poleceń z
e przesunięcie kursora na koniec bieżącego wyrazu
linii poleceń (np. polecenia
( przesunięcie kursora o jedno zdanie do tyłu
:wq, :help, :s/stary/nowy/g)
) przesunięcie kursora o jedno zdanie do przodu
Rys. 6. Tryby pracy edytora vi
Tabela 3. Polecenia edytora vi - wprowadzanie tekstu
i rozpoczęcie wprowadzania tekstu od bieżącej pozycji kursora
a rozpoczęcie wprowadzania tekstu od znaku znajdującego się za kursorem
I rozpoczęcie wprowadzania tekstu na początku linii w której znajduje się kursor
A rozpoczęcie wprowadzania tekstu na końcu linii w której znajduje się kursor
O wstawienie nowego wiersza powyżej kursora i rozpoczęcie wprowadzania tekstu w
nowym wierszu
o wstawienie nowego wiersza poniżej kursora i rozpoczęcie wprowadzania tekstu w
nowym wierszu
21 22
Tabela 4. Polecenia edytora vi - usuwanie tekstu
x usunięcie znaku znajdującego się pod kursorem
Bufor edytora
X usunięcie znaku znajdującego się przed kursorem
de usunięcie znaków znajdujących się od miejsca wskazywanego przez kursor do
Edytor tekstu vi umożliwia umieszczenie (skopiowanie lub przeniesienie)
końca bieżącego wyrazu
dw usunięcie znaków od miejsca wskazywanego przez kursor do początku następnego fragmentu tekstu do bufora (schowka), a następnie wklejenie go w dowolne
wyrazu
miejsce dokumentu.
d^ usunięcie znaków od bieżącej pozycji kursora do początku danego wiersza
d$ usunięcie znaków od bieżącej pozycji kursora do końca wiersza
W buforze umieszczany jest fragment tekstu, który został:
dG usunięcie tekstu od pozycji kursora do końca pliku
dnh usunięcie n znaków poprzedzających
" skopiowany (zob. Tabela 8),
dnl usunięcie n kolejnych znaków
D usunięcie znaków do końca bieżącego wiersza
J połączenie wiersza poniżej kursora z wierszem bieżącym
" usunięty (zob. Tabela 4).
dd usunięcie bieżącego wiersza
Tekst z bufora może być wielokrotnie wstawiany (wklejany) do dokumentu.
dnd usunięcie bieżącego wiersza i n-1 kolejnych wierszy
u anulowanie wprowadzonych zmian (m.in. usuniętego tekstu)
Tabela 8. Polecenia edytora vi - kopiowanie tekstu
Tabela 5
yw skopiowanie tekstu od bieżącej pozycji kursora do końca wyrazu
rx zastÄ…pienie znaku znajdujÄ…cego siÄ™ pod kursorem znakiem x ; po dokonaniu
yb skopiowanie tekstu od początku wyrazu do bieżącej pozycji kursora
zamiany edytor pozostaje w trybie wydawania poleceń
y$ skopiowanie tekstu od bieżącej pozycji kursora do końca wiersza
cw usunięcie znaków do końca bieżącego słowa i przejście do trybu wstawiania tekstu
Y skopiowanie do bufora bieżącego wiersza
C usunięcie znaków do końca wiersza i przejście do trybu wprowadzania
yy Działanie jak Y
R włączenie trybu zastępowania
p W klejenie zawartości bufora za znakiem wskazywanym przez kursor
P W klejenie zawartości bufora przed znakiem wskazywanym przez kursor
Tabela 6. Polecenia edytora vi - wyszukiwanie tekstu
/abc wyszukanie ciągu abc w dół ekranu
?abc wyszukanie ciągu abc w górę ekranu
n powtórzenie ostatniego polecenia wyszukania ciągu znaków w dół ekranu
N powtórzenie ostatniego polecenia wyszukania ciągu znaków w górę ekranu
:set ic włączenie (:set ic) i wyłączenie (:set noic - tryb domyślny) trybu
:set noic ignorowania wielkości znaków podczas wyszukiwania tekstu
Tabela 7. Polecenia edytora vi - zamiana tekstu
:s/stary/nowy/ znalezienie w bieżącym wierszu pierwszego wystąpienia tekstu
stary i zastÄ…pienie go tekstem nowy
:s/stary/nowy/g znalezienie w bieżącym wierszu wszystkich wystąpień tekstu
stary i zastÄ…pienie ich tekstem nowy
:n,m s/stary/nowy/g przeszukanie fragmentu tekstu od wiersza o numerze n do
wiersza o numerze m i znalezienie w tym obszarze wszystkich
wystąpień tekstu stary i zastąpienie ich tekstem nowy
:1,$ s/stary/nowy/g globalne zastępowanie w całym pliku
:1,$ s/stary/nowy/gc globalne zastępowanie w całym pliku - każda operacja
zamiany wymaga akceptacji przez użytkownika
23 24
Tabela 10. Polecenia edytora vi -
Praca z kilkoma oknami
:q zakończenie pracy edytora
:q! zakończenie pracy edytora bez zapisania zmian
:wq zakończenie pracy edytora wraz z zapisaniem zmian
:r nazwa_pliku wstawienie zawartości pliku w bieżącym wierszu
:! polecenie wykonanie polecenie powłoki
:r! polecenie wstawienie wyniku działania polecenia w bieżącym wierszu
4.3. Konfigurowane edytora vi
Ustawienia edytora zapisywane są w pliku .vimrc, który musi znajdować się w
katalogu domowym użytkownika.
Najczęściej zapisywane ustawienia konfiguracji:
syntax on
Rys. 7. Edytor tekstów vi z otwartymi dwoma oknami
włączenie podświetlania składni edytowanego kodu programu
Tabela 9. Polecenia edytora vi - praca z wieloma oknami
set number
:new otworzenie nowego okna edytora
numerowanie wyświetlanych wierszy dokumentu
:split lub [Ctrl+W] podział aktualnego okna na dwie części
set nonumber
[Ctrl+W] j przejście do okna poniżej
[Ctrl+W] k przejście do okna powyżej
wyłączenie numerowania wyświetlanych wierszy
[Ctrl+W] t przejście do górnego okna
[Ctrl+W] b przejście do dolnego okna set ts=4
:help wyświetlenie w nowym oknie pomocy
ustalenie pozycji tabulacji na 4 znaki
set textwidth=80
Koniec pracy z edytorem
ustawienie długości wyświetlanego wiersza na 80 znaków
Do zapisania zmian w dokumencie i zakończenia pracy z edytorem vi służy
set autoindent
polecenie :wq. Jeżeli użytkownik nie chce zapisywać wprowadzonych zmian
włączenie auto-wcięcia
musi wydać polecenie :q!. Polecenia związane z kończeniem pracy w edytorze
set noautoindent
oraz z wykonywaniem operacji na plikach zawiera poniższa tabela.
wyłączenie auto-wcięcia
set incsearch
automatyczne wyszukiwanie ciągu znaków podczas korzystania z
polecenia /
set ruler
25 26
wyświetlenie współrzędnych kursora (wiersz, kolumna)
5. Program Midnight Commader
set showmode
Midnight Commander jest programem do zarzÄ…dzania plikami i katalogami.
wyświetlenie informacji o trybie edytora
set showcmd
wyświetlenie wydawanego polecenia
set backup
tworzenie kopii zapasowych plików
set backupdir=~/backup/
określenie katalogu, w którym tworzone będą kopie zapasowe (w
tym przypadku jest to ~/backup/)
Powyższe polecenia można wydać w trybie poleceń.
Rys. 8. Midnight Commander
Uruchomienie programu Midnight Commander:
$ mc
Podstawowe skróty klawiaturowe i klawisze funkcyjne programu mc:
" [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10],
" [Tab], [Alt]+[?], [Alt]+[O], [Ctrl]+[O], [Ctrl]+[R], [Ctrl]+[S], [Ctrl]+[U],
" [Alt]+[+], [Alt]+[-], [Alt]+[*].
Szczegółowy opis możliwości programu i kombinacji klawiszy jest dostępny w
manualu (polecenie man mc).
27 28
6.2.
6. -
6.1. " przekierowanie wejścia oznacza zmianę urządzenia wejściowego z
domyślnego na inne, wskazane przez użytkownika. Służy do tego
" dostarczanie danych do procesów oraz generowanie danych przez
operator < ;
procesy polega na przesyłaniu tzw. strumieni danych,
" przekierowanie wyjścia oznacza zmianę urządzenia wyjściowego z
" dane do procesu trafiają, jako strumień danych wejściowych
domyślnego na inne, wskazane przez użytkownika. Służą do tego
wygenerowany przez urządzenie wejścia,
operator > lub operator >> . Różnica w działaniu tych operatorów
" z procesu dane wychodzą, jako wygenerowany przez proces strumień jest widoczna w przypadku przekierowania wyjścia do pliku, tzn.:
danych wyjściowych skierowany do urządzenia wyjścia,
- operator > powoduje zastąpienie bieżącej zawartości pliku
przekierowanym strumieniem danych,
" urządzenia wejścia to np. klawiatura, plik; urządzenia wyjścia to np.
- operator >> powoduje dopisanie (na końcu pliku) do zawartości
monitor, plik, drukarka. W przypadku tych urządzeń rozróżnia się, tzw.
pliku przekierowanego strumienia danych.
- standardowe wejście - urządzenie, z którego proces domyślnie
otrzymuje strumień danych wejściowych (najczęściej klawiatura),
standardowe wejście
- standardowe wyjście - urządzenie, do którego proces domyślnie
kieruje strumień danych wyjściowych (najczęściej monitor).
strumień
danych
wejściowych
urządzenie wejścia
strumień
danych
wejściowy
strumień
danych
strumień
danych
wyjściowy
plik
urządzenie wyjścia standardowe wyjście
Rys. 9 Rys. 10
29 30
Przykładowe przekierowanie wyjścia: Tworzenie potoków można równocześnie łączyć z przekierowaniem wejścia i
$ ls > spis.txt
wyjścia, co pozwala na zaawansowane przetwarzanie strumieni danych., np.
$ cat zaproszenie.txt > teksty.txt
proces | proces | ... | proces > urządzenie wyjścia
$ cat ogloszenie.txt >> teksty.txt
urządzenie wejścia
$ sort lista.txt > lista_posortowana.txt
$ echo Akademia Ekonomiczna > uczelnia.txt
strumień
danych
wejściowy
Przykładowe przekierowanie wejścia:
$ sort
ola
ala
strumień potok
basia
danych
[Crtl]+[D]
ala
basia
ola
strumień
standardowo polecenie sort pobiera z podanego pliku (standardowe
danych
wyjściowy
wejście polecenia sort) strumień danych i wyświetla go
posortowanego wierszami na monitorze (standardowe wyjście
polecenia sort). W tym przypadku plik nie został podany, dlatego
polecenie sort będzie pobierało strumień danych z klawiatury, aż do
urządzenie wyjścia
naciśnięcia kombinacji [Ctrl]+[D]. Następnie wyświetli je na
Rys. 11. Potok danych
monitorze posortowane.
$ write nowakj < komunikat.txt
Przykładowe tworzenie potoków:
6.3. Tworzenie potoków
$ ls | sort
$ finger | grep Jacek | sort > lista.txt
Potok jest to skierowanie standardowego wyjścia jednego procesu do
standardowego wejścia innego procesu. Operatorem tworzenia potoku jest Potoki mogą być także rozwidlane. Do rozwidlania potoku służy polecenie tee,
pionowa kreska | . które robi kopię strumienia danych i zapisuje ją w pliku, a oryginalny
Tworzenie potoku można przedstawić następująco: strumień danych przepuszcza dalej do standardowego wyjścia lub kolejnego
proces | proces | ... | proces procesu.
31 32
urządzenie wejścia
7. Ochrona zasobów systemu komputerowego
W łaściciel zasobów może ograniczyć innym użytkownikom systemu dostęp do
strumień
danych
wejściowy plików i katalogów dzięki możliwości nadawania i odbierania praw dostępu.
rozwidlenie potoku
Organizacja praw dostępu wygląda następująco:
kopia strumienia danych
" każdy plik i katalog posiada atrybuty określające prawo do:
strumień potok
danych - odczytania (r - ang. reading),
- zapisania (w - ang. writing),
- wykonania (x - ang. executing).
strumień
danych
wyjściowy
" prawa dostępu określane są niezależnie dla:
- właściciela zasobu (u - ang. user),
- członków grupy, do której należy właściciel zasobu (g - ang. group),
urządzenie wyjścia
- pozostałych użytkowników (o - ang. others).
Rys. 12. Rozwidlenie potoku danych
Przykładowe rozwidlenia potoków:
W yświetlenie praw dostępu - polecenia ls z opcją -l, np.
$ sort lista.txt | tee lista_posortowana.txt
$ ls -al
$ sort lista.txt | tee pliczek.txt | cat -n
drwxrwxr-x 6 nowakj infor 755 Feb 22 17:23 .
drwxrwxr-x 2 nowakj infor 222 Jan 10 10:22 ..
-rwxr-x--- 1 nowakj infor 1560 Feb 26 13:01 lista
Odczytanie wyświetlonych w taki sposób informacji o zasobie i prawach
dostępu do niego, umożliwia analiza 10 pierwszych znaków każdego wiersza
(np. drwxr-x--x). Znaczenie poszczególnych znaków (pozycji) jest następujące:
- 1. znak - rodzaj zasobu: katalog (d), plik (-), link symboliczny (l)
- 2. - 4. znak - prawa właściciela zasobu,
- 5. - 7. znak - prawa grupy, do której należy właściciel,
- 8. - 10. znak - prawa pozostałych użytkowników.
33 34
- r w x r W x r w X
plik (-), u (user) g (group) o (other)
8. Konfigur
katalog (d), prawa właściciela prawa grupy, do której prawa pozostałych
symlink (l) zasobu należy właściciel zasobu użytkowników
Do podstawowych elementów systemu operacyjnego Linux należy:
" powłoka (shell, interpreter poleceń) - program pełniący funkcję interfejsu
Dziewięć znaków, które mówią o prawach dostępu (znaki od 2. do 10.) określa
pomiędzy użytkownikiem i jądrem systemu, interpretujący polecenia oraz
siÄ™ mianem maski praw (np. rwxr-x--x).
umożliwiający uruchamianie programów. Najczęściej wykorzystywaną
powłoką w Linuksie jest Bash (Bourne Again SHell).
Liczbowa maska praw:
r w x r - x - - x
" jądro systemu - zbiór programów zarządzający procesami i zasobami
1 1 1 1 0 1 0 0 1
111 binarnie = 7 dziesiętnie 101 binarnie = 5 dziesiętnie 001 binarnie = 1 dziesiętnie
systemu,
user group other
" programy narzędziowe.
Przykładowe maski praw należy interpretować:
751 = rwxr-x--x
PROGRAMY
711 = rwx--x--x
NARZDZIOW E
530 = r-x-wx---
Do zmiany praw dostępu służy polecenie chmod, które można uruchomić
zarówno z maską liczbową, jak i prawami poszczególnych użytkowników (u,
JDRO SYSTEMU
g, o, a) zapisanymi odpowiednimi symbolami (r, w, x), np.
Rys. 13. Ogólna struktura systemu operacyjnego Linux
$ chmod 751 lista.txt
$ chmod g+wx *
Jednym ze sposobów komunikacji pomiędzy wymienionymi elementami
$ chmod a-rwx tajne.txt
systemu operacyjnego jest wykorzystanie zmiennych powłoki.
Schemat zmiany praw przy wykorzystaniu symbolicznych oznaczeń:
8.1. Zmienne powłoki
u
îÅ‚ Å‚Å‚
ïÅ‚gśłîÅ‚+Å‚Å‚îÅ‚ r Å‚Å‚
Zmienna to cecha posiadająca swoją nazwę i przyjmująca pewną wartość.
ïÅ‚ śłïÅ‚ ïÅ‚wśł
$ chmod plik
ïÅ‚ śłðÅ‚-śłïÅ‚ śł
o
ûÅ‚ïÅ‚ x śł
ïÅ‚aśł Polecenia wykorzystywane podczas pracy ze zmiennymi:
ðÅ‚ ûÅ‚
ðÅ‚ ûÅ‚
35 36
" set - wyświetlenie zmiennych powłoki (informacje wyświetlane są w " pojedyncze cudzysłowy (apostrofy) - maskowanie nazwy zmiennej, tzn.
postaci ), np. sprawienie, że nie pojawia się jej wartość, np.
$ set $ UCZELNIA= AE w Krakowie
HOME=/home/nowakj $ echo Studiuje w $UCZELNIA
PWD=/home/nowakj/public_html Studiuje w $UCZELNIA
USER=nowakj
" polecenie unset - usuwanie zmiennych powłoki, np.
$ unset UCZELNIA
" echo - polecenie można wykorzystać do wyświetlenia wartości jednej
zmiennej. Nazwę zmiennej należy poprzedzić znakiem dolara (np.
8.2. Przykładowe zmienne powłoki systemowej
$HOME, $USER), np.
Spośród wielu zmiennych powłoki, najczęściej wykorzystywane lub
$ echo informatyka
modyfikowane przez użytkowników są, zmienne:
informatyka
$ echo HOME
" PS1 - zmienna przechowuje definicjÄ™ tzw. (monitu
HOME
systemu), np.
$ echo $HOME
$ PS1= Podaj polecenie:
/home/nowakj
Podaj polecenie:
$ echo $SHELL
Użytkownik definiując znak zachęty może w nim zamieszczać specjalne kody,
/bin/bash
które są następnie zamieniane na odpowiednie wartości, np.
" operator = - zdefiniowanie nowej zmiennej lub zmiana wartości
$ PS1= \h: \w \$
zmiennej już istniejącej (po obu stronach znaku równości nie wolno
Tabela 11. Kody wykorzystywane przy definiowaniu znaku zachęty
zamieszczać spacji), np.
Kod Znaczenie
\! numer polecenia
\$ znak dolara ($) dla zwykłego użytkownika, dla użytkownika root znak hash (#)
$ UCZELNIA= Akademia Ekonomiczna
\d aktualna data
\s nazwa powłoki
$ UCZELNIA= $UCZELNIA w Krakowie
\t aktualny czas
$ echo $UCZELNIA
\u nazwa użytkownika
\w katalog bieżący
Akademia Ekonomiczna w Krakowie
\h nazwa komputera
37 38
8.3. Uruchamianie kolejnych powłok
" HOME - zmienna przechowuje ścieżkę dostępu do katalogu domowego
użytkownika, np.
Użytkownik w systemie Linux ma możliwość uruchamiania kolejnych powłok,
$ echo $HOME
tzw. , służy do tego polecenie bash. Do zamknięcia otwartej
/home/nowakj
powłoki potomnej służy polecenie exit.
Przykładowo:
" PATH - zmienna przechowuje tzw. . Dwukropek
$ ...
znajdujący się na końcu zmiennej PATH oznacza, że przeszukiwany
praca z
będzie także katalog bieżący.
$ bash
$ echo $PATH
$ ...
/usr/bin:/usr/sbin
Tabela 12. Zawartość zmiennej PATH a przeszukiwane katalogi $ exit
Zmienna PATH Przeszukiwane katalogi
/usr/bin:/usr/sbin /usr/bin
$ ...
/usr/sbin
/usr/bin:/usr/sbin: /usr/bin
/usr/sbin
katalog bieżący
$ ls
Nowe ścieżki dostępu do zmiennej PATH można dodać np. w ten sposób: $ cp plik test.txt
$ bash
$ PATH=$PATH:$HOME/programy
$ finger
" SHELL - zmienna przechowuje nazwę programu będącego interpreterem
$ bash
poleceń, np.
$ pwd
$ echo $SHELL
$ man cat
$ exit
/bin/bash
$ echo $HOME
$ exit
" USER - zmienna przechowuje nazwę użytkownika, np.
$ vi test.txt
$ echo $USER
$ logout
Rys. 14. Praca z kilkoma powłokami
nowakj
39 40
8.4. Lokalne i globalne zmienne systemowe 8.5. Pliki startowe
Użytkownik ma możliwość skonfigurowania systemu, w taki sposób, aby przy
" zmienna lokalna to zmienna dostępna tylko w bieżącej powłoce,
każdym logowaniu, uruchamianiu nowej powłoki lub kończeniu pracy, system
" zmienna globalna to zmienna widoczna w bieżącej powłoce (powłoce
automatycznie wykonywał polecenia zawarte w tzw. plikach startowych.
macierzystej) i wszystkich powłokach potomnych. Zmienną globalną
Mechanizm ten jest wykorzystywany do:
tworzy się za pomocą polecenia export, które może być wykorzystane
" tworzenia lub modyfikowania zmiennych systemowych,
przy tworzeniu nowej zmiennej lub do wyeksportowania zmiennej już
istniejącej. Zmienne utworzone (wyeksportowane) w powłoce potomnej
" tworzenia nowych nazw poleceń (aliasów),
nie są widoczne w powłoce macierzystej.
" uruchamiania lub zamykania programów,
$ UCZELNIA= AE
$ echo $UCZELNIA
" wyświetlania komunikatów powitalnych lub pożegnalnych.
AE
$ bash
$ echo $UCZELNIA
Wykorzystywane pliki startowe, to:
$ exit
" .bash_profile - polecenia zawarte w tym pliku sÄ… wykonywane
$ export UCZELNIA= AE
$ echo $UCZELNIA
każdorazowo przy logowaniu się użytkownika,
AE
$ MIASTO= Kraków
$ export MIASTO
" .bashrc - polecenia zawarte w tym pliku są wykonywane każdorazowo
$ echo $MIASTO
Kraków
przy uruchamianiu nowej powłoki,
$ bash
$ echo $UCZELNIA
" .bash_logout - polecenia zawarte w tym pliku sÄ… wykonywane
AE
każdorazowo przy kończeniu pracy przez użytkownika.
$ echo $MIASTO
Kraków
$ MIASTO= Gdynia
$ export STOLICA= Warszawa
$ exit
$ echo $MIASTO
Kraków
$ echo $STOLICA
$ logout
Rys. 15. Zmienne lokalne i globalne w powłokach
41 42
8.6. Aliasy
9. Skrypty powłoki
Użytkownik ma możliwość definiowania nowych nazw dla poleceń, tzw.
sÄ… to polecenia systemowe zapisane w pliku tekstowym.
aliasów. Służy do tego polecenie alias, a składnia jego jest następująca:
Wykonanie skryptu odbywa siÄ™ wiersz po wierszu .
$ alias nazwa=polecenie
lub
Przykładowy skrypt powłoki o nazwie kopia:
$ alias nazwa= polecenie
echo Mój katalog domowy > wykaz
date >> wykaz
Polecenie alias bez żadnych argumentów i opcji wyświetla wszystkie
ls -al >> wykaz
zdefiniowane przez użytkownika aliasy.
echo Koniec >> wykaz
Możliwość definiowania aliasów jest przydatna kiedy użytkownik chce nadać
w nim tekst Mój katalog domowy ,
np. łatwiejszą do zapamiętania nazwę jakiemuś poleceniu lub chce w skróconej
postaci zapisać polecenie wraz z jego opcjami i argumentami.
Do usuwania zdefiniowanych aliasów służy polecenie unalias.
Skrypt powłoki można uruchomić poprzedzając jego nazwę kropką i spacją
( . ) lub przekierowując jego zawartość do polecenia bash, np.
Przykładowe definicje i usuwanie aliasów:
$ . kopia
$ alias katalog=ls
$ bash < kopia
$ alias katalog= ls -al
$ alias ls= ls -al
Skrypt powłoki ma dla użytkownika status programu , wtedy kiedy
$ unalias katalog
użytkownik ma nadane prawo do jego wykonywania, np.
$ unalias ls
$ chmod u+x kopia
Uruchamianie programu jest możliwe poprzez podanie jego nazwy, np.
Jeżeli aliasy mają być dostępne w każdej nowej sesji użytkownika, to należy je
$ kopia
zdefiniować w pliku .bashrc_profile.
Taki sposób uruchomienia jest możliwy tylko wtedy, kiedy zmienna PATH
zawiera ścieżkę dostępu do katalogu bieżącego. Jeżeli PATH nie przeszukuje
bieżącego katalogu, to taki skrypt należy uruchamiać poprzedzając jego nazwę
względną ścieżką dostępu (czyli ./ ), tzn.
$ ./kopia
43 44
Parametry skryptu Możliwość odwołania się do wartości parametrów daje wykorzystanie symboli,
Parametr skryptu to informacja przekazywana do skryptu w momencie jego w miejsce których w czasie wykonywania skryptu wstawiane są wartości
uruchamiania, np. parametrów aktualnych:
$ skrypt parametr1 parametr2
" $1 - symbolizuje pierwszy parametr aktualny skryptu (tzn. w czasie
wykonania skryptu w jego miejsce wstawiana jest wartość pierwszego
Największą zaletą tworzenia skryptów z parametrami jest możliwość
parametru aktualnego), $2 - symbolizuje drugi parametr, itd. aż do $9,
podstawiania w ich miejsce różnych wartości. Przykładowo, skrypt o nazwie
" $0 - symbolizuje nazwÄ™ skryptu,
dopisz, który do pliku o nazwie podanej jako pierwszy parametr dopisuje
zawartość pliku o nazwie podanej jako drugi parametr, może być wykonany z
" $# - symbolizuje liczbę parametrów aktualnych,
takimi parametrami:
$ dopisz list1 list2 " $* - symbolizuje łącznie wszystkie parametry aktualne, z którymi został
uruchomiony skrypt.
co oznacza, że dopisze do zawartości pliku list1 zawartości pliku list2. Można
go uruchomić także z innymi parametrami, np.
$ dopisz rozdzial3 rozdzial4 Parametry występujące w tekście skryptu i symbolizujące parametry aktualne
(tzn. $1, $2, & , $9) nazywane sÄ… parametrami formalnymi.
co oznacza, że dopisze do pliku rozdzial3 zawartości pliku rozdzial4.
Uogólniając, można powiedzieć, że wywołanie skryptu ma następującą postać:
$ dopisz parametr1 parametr2 Przykładowo, wspomniany wyżej skrypt dopisz ma następującą postać:
cat $2 >> $1
gdzie parametr1 oraz parametr2 są nazwami plików.
Jego wywołanie poprzez podanie polecenia:
Parametry podawane przy uruchomieniu skryptu nazywane sÄ… parametrami
$ dopisz list1 list2
aktualnymi.
będzie realizowane jako:
cat list2 >> list1
Aby skrypt mógł wykonać postawione zadanie musi mieć możliwość
odwołania się do wartości parametrów podanych przy jego uruchamianiu, tzn.
pisząc skrypt jego autor musi podać, w którym miejscu skrypt odwołuje się do
parametru pierwszego, w którym do parametru drugiego, itd.
45 46
" zatrzymać proces na pierwszym planie i przenieść go w tło - służy do
10. ZarzÄ…dzanie procesami
tego kombinacja [Ctrl]+[Z], np.
Proces jest to program realizowany przez system operacyjny. W yróżniamy:
$ vi referat.txt
...
" )
(
- programy i polecenia
uruchomienie i praca z edytorem vi
uruchomione przez użytkownika,
[Ctrl]+[Z]
" procesy systemowe - programy uruchomione przez system operacyjny.
[3]+ Stopped vi
Systemy operacyjne umożliwiające współbieżną realizację procesów to: informacje o zatrzymanym edytorze, m.in. [3] - nadany numer
zadania, + -
" systemy wielozadaniowe - ponieważ w tym samym czasie system
operacyjny realizuje więcej niż jedno zadanie, " wyświetlić informacje o stanie zadań w tle - polecenie jobs, np.
$ jobs
" - ponieważ czas pracy procesora dzielony jest
[1] Stopped vi praca.txt
[2]- Running sleep 1000 &
pomiędzy poszczególne procesy.
[3]+ Stopped vi referat.txt
Przeciwieństwem systemów wielozadaniowych są systemy jednozadaniowe
[4] Done ls
(np. MS DOS).
$ jobs -l
[1]- 7835 Stopped vi praca.txt
10.1. Zarządzanie procesami użytkownika w systemie Linux
[2] 7841 Running sleep 10000 &
[3]+ 7902 Stopped vi referat.txt
Nowe zadanie użytkownika - np. program, polecenie - uruchamiane jest
domyślnie na pierwszym planie, pozostałe zadania znajdują się w tle. " wyświetlić informacje o procesach systemowych - polecenie ps, np.
$ ps
Użytkownik ma możliwość zarządzania uruchomionymi zadaniami - może:
PID TTY TIME CMD
7679 pts/1 00:00:00 bash
" uruchomić zadanie w tle - poprzez dodanie znaku ampersand (&), np.
7835 pts/1 00:00:00 vi
$ vi praca.txt &
7841 pts/1 00:00:00 sleep
[1] 7835
7902 pts/1 00:00:00 vi
-
8103 pts/1 00:00:00 ps
pierwszy, w nawiasach kwadratowych, oznacza numer zadania
7835).
$
47 48
Przykładowe zarządzanie procesami:
" przesunąć zadanie z tła na pierwszy plan - służy do tego polecenie fg
Napisane zostały dwa skrypty - skrypt1 i skrypt2
wywoływane z numerem zadania, nazwą procesu, znacznikiem zadania
Plik skrypt1:
bieżącego (+) lub poprzedniego (-), np.
echo Poczatek 1 > plik1
$ fg 1
sleep 45
$ fg +
echo Koniec 1 >> plik1
$ fg vi referat.txt
Plik skrypt2:
" przesunąć zatrzymane zadanie z pierwszego planu w tło - polecenie bg,
echo Poczatek 2 > plik2
np.
sleep 45
echo Koniec 2 >> plik2
$ bg 1
" zakończyć wykonywane zadanie przed czasem - do zakończenia zadania Uruchomienie zadania na pierwszym planie:
$ . skrypt1
pierwszoplanowego służy kombinacja [Ctrl]+[C], do zakończenie zadania
w tle służy polecenie kill wywoływane z numerem procesu systemowego
$
lub numerem zadania, znacznikiem bieżącego (+) lub poprzedniego (-)
Uruchomienie zadania w tle:
zadania. Przy poleceniu kill, numer zadania użytkownika i znaczniki
$ . skrypt1&
zadania muszą być poprzedzone znakiem procent (%), np.
[1] 783
$ kill 7835
chmiast
$ kill %2
$ . skrypt2&
$ kill %+
[2] 794
W yświetlenie stanu realizowanych zadań:
$ jobs -l
[1]- 783 Running program1&
[2]+ 794 Running program2&
Usunięcie zadań:
$ kill 783
$ kill %+
49 50
11. Bezpośrednia komunikacja z innymi użytkownikami systemu
Użytkownik w systemie Linux może komunikować się bezpośrednio z innymi
użytkownikami. Przydatne do tego celu są polecenia:
" finger - wyświetlenie informacji o zalogowanych użytkownikach, np.
$ finger
" write - wysłanie komunikatu do zalogowanego użytkownika, np.
$ write nowakj
Czesc Janek
Co u Ciebie slychac?
^D
" talk - prowadzenie rozmów z innym zalogowanym użytkownikiem, np.
$ talk nowakj
Message from Talk_Daemon@ie.ae.krakow.pl at 12:21...
talk: connection requested by kowalj@ie.ae.krakow.pl
talk: respond with: talk kowalj@ie.ae.krakow.pl
$ talk kowalj
kombinacji klawiszy [Ctrl]+[C]
" polecenie mesg - wyłączenie (mesg n) lub włączenie (mesg y)
przyjmowania wiadomości i rozmów przez użytkownika, np.
$ mesg n
51
Wyszukiwarka
Podobne podstrony:
CHEMIA materiały dodatkoweAnaliza samobójstw w materiale sekcyjnym Zakładu Medycyny Sądowej AMB w latach 1990 20031 Materiały tymczasoweMateriały pomocnicze Krzysztof ŻywickiMaterialyWyklad6,7Geologiamaterialsnotatek pl dr in Jaros aw Chmiel, Nauka o materia ?h, Przemiany podczas odpuszczaniaNauka o materiałach 2 VI12 Wykonywanie sterylizacji instrumentów, materiałówexams materials?emstr tb05materialmaterialy?Linux 2000 DVB T Experimentsus intelligence exploitation of enemy material 2006więcej podobnych podstron