'
Jerzy
Sobczyk
$
'
Jerzy
Sobczyk
$
Ocena
Plan wykładu
0 pkt.
20 pkt.
0
21 pkt.
50 pkt.
2
•
51 pkt.
60 pkt.
3
Sprawy organizacyjne.
• Zadania administratora.
61 pkt.
70 pkt.
3.5
• Krótka historia systemu UNIX.
71 pkt.
80 pkt.
4
• Edytory ed i vi.
• Programowanie Bourne shell’a.
81 pkt.
90 pkt.
4.5
91 pkt.
100 pkt.
5
1
3
&
19
padziernika
1998
roku
VI
ASU
%
&
19
padziernika
1998
roku
VI
ASU
%
'
Jerzy
Sobczyk
$
'
Jerzy
Sobczyk
$
Organizacja zajęć
Zadania administratora
• instalacja systemu,
Osoby prowadzące zajęcia
pokój
• zakładanie i kasowanie kont użytkowników, mgr inż. Jerzy Sobczyk
p.25c
J.Sobczyk@ia.pw.edu.pl
• zabezpieczenie systemu,
• wykonywanie kopii rezerwowych plików, mgr inż. Piotr Bolek
p.561
P.Bolek@ia.pw.edu.pl
• konfigurowanie środowiska dla użytkowników, mgr inż. Grzegorz Wójcik
p.519
G.Wojcik@ia.pw.edu.pl
• monitorowanie pracy systemu (czytanie i kasowanie logów), Sposoby zaliczenia:
• instalacja oprogramowania,
•
•
ocena z laboratorium 0—60 pkt.
instalacja urządzeń,
• ocena z kolokwium 0—40 pkt.
• naprawianie uszkodzeń.
2
4
&
19
padziernika
1998
roku
VI
ASU
%
&
19
padziernika
1998
roku
VI
ASU
%
'
Jerzy
Sobczyk
$
'
Jerzy
Sobczyk
$
Historia systemu UNIX
UNIX
edition 5
1 BSD
1969 Ken Thompson porzuca prace nad systemem MULTICS i rozpoczyna nowy. System od Briana Kernighana otrzymuje edition 6
nazwę: Uniplexed Information and Computing System czyli 3 BSD
UNICS a w skrócie UNIX.
edition 7
ULTRIX
1971 Rozpoczynają się prace nad językiem C
BSD 4.2
HP-UX
1973 Jądro systemu w języku C, przeniesienie na inne platformy System III
AIX
AUX
sprzętowe i udostępnienie uniwersytetom. AT&T nie domaga się żadnych opłat od uczelni.
Xenix
System IV
1974 Uniwersytet w Berkeley (UCB) otrzymuje kopię systemu.
BSD 4.3
SunOS
System V
1975 Powstaje UNIX edition 5 znany jako PWB/UNIX 1.0.
1977 Bell Labs ogłasza tzw. UNIX edition 6. UCB rozsyła ok. 30
SVR3.2
386BSD
SunOS 4.0
kopii swoich udoskonaleń jako 1 BSD. Interactive Systems Co.
rozpoczyna sprzedaż programów dla biur.
OSF/1
SVR4
1978 Wersja 3 BSD zawiera pamięć wirtualną, edytor vi, biblioteki curses i termcap.
Linux
SunOS 5.0
5
7
&
19
padziernika
1998
roku
VI
ASU
%
&
19
padziernika
1998
roku
VI
ASU
%
'
Jerzy
Sobczyk
$
'
Jerzy
Sobczyk
$
tmp
tmp
Historia systemu UNIX, cd.
var
spool
etc
adm
bin
log
1979 Powstaje UNIX edition 7. Stanford University Network board sbin
komercjalizuje się i powstaje SUN Microsystems, Inc.
lib
lib
1982 Programmers Workbench (PWB) wraz z Unix System Group dev
bin
(USG) z Bell Labs tworzą Unix Sytem Developement Laboratory (USLD). Powstaje UNIX System III.
/
man
sbin
1983 AT&T wypuszcza UNIX System V.
usr
ucb
man
1984 W oparciu o ”edition 7” i ”System III” firma Microsoft tworzy opt
local
lib
XENIX. Firma IBM na podstawie ”Systemu III” tworzy AIX.
mnt
home
bin
Firma SUN rozpoczyna stosowanie procesorów SPARC.
export
man
1987 AT&T wykupuje pakiet kontrolny akcji firmy SUN. Wybucha share
wojna o UNIX.
1988 Powstaje Open Systems Foundation.
local
home
6
8
&
19
padziernika
1998
roku
VI
ASU
%
&
19
padziernika
1998
roku
VI
ASU
%
'
Jerzy
Sobczyk
$
'
Jerzy
Sobczyk
$
vi - Tryb liniowy - adresowanie(ed)
vi - Poruszanie się w pliku
:beg,end cmd
• /pattern poszukanie wzorca
•
•
. aktualna linia
?pattern poszukanie wzorca wstecz
• .-1 poprzednia linia
• // ponowne poszukanie wzorca
• .+1 następna linia
• ?? ponowne poszukanie wzorca wstecz
• /patt/ linia zawierająca wzorzec
• /pattern/-n poszukanie wzorca i przesunięcie o n linii wstecz
• ?patt? linia zawierająca wzorzec
• /pattern/+n poszukanie wzorca i przesunięcie o n linii do przodu
• ’m linia zaznaczona markerem m
• ?pattern?-n poszukanie wzorca wstecz i przesunięcie o n linii
• 1 pierwsza linia pliku
wstecz
•
•
5 piąta linia pliku
?pattern?+n poszukanie wzorca wstecz i przesunięcie o n linii do
• $ ostatnia linia pliku
przodu
% jest równoważny 1,$
9
11
&
19
padziernika
1998
roku
VI
ASU
%
&
19
padziernika
1998
roku
VI
ASU
%
'
Jerzy
Sobczyk
$
'
Jerzy
Sobczyk
$
vi - Poruszanie się w pliku
vi - tryb liniowy (ed)
• h jeden znak w lewo
• j następna linia
•
•
:a dopisywanie za beżącą linią
k poprzednia linia
•
•
:a! dopisywanie za bieżącą linią (ignorując autoindent) l jeden znak w prawo
•
• :i dopisywanie przed beżącą linią
^D pół strony w dół
•
• :i! dopisywanie przed bieżącą linią (ignorując autoindent)
^U pół strony w górę
•
• :l wyświetlenie wskazanych linii
^F o stronę w dół
•
• :d skasowanie wskazanych linii
^B o stronę w górę
•
• :w file zapisanie do pliku
^E przewinięcie tekstu o linię do góry
•
• :r file wczytanie z pliku
^Y przewinięcie tekstu o linię do dołu
• ^L odświeżenie ekranu
10
12
&
19
padziernika
1998
roku
VI
ASU
%
&
19
padziernika
1998
roku
VI
ASU
%
'
Jerzy
Sobczyk
$
'
Jerzy
Sobczyk
$
Wyrażenia zastępujące
vi - tryb liniowy (ed)
• & wszystko co pasowało do wzorca
• :s/patt/repl/gc zastąpienie wzorca
• \1 to co pasowało do pierwszego podwyrażenia
• :g/patt/cmd wykonanie komend na liniach zawierających
• \2 to co pasowało do drugiego podwyrażenia wzorzec
•
•
\L rozpocznij zmaianę na małe litery
:g!/patt/cmd wykonanie komend na liniach nie zawierających wzorca
• \l zmień następny znak na małą literę
• :n pobierz następny plik z listy
• \U rozpocznij zmianę na duże litery
• :n list pobierz pierwszy plik z listy
• \u zmień następny znak na dużą literę
• :rew powróć do pierwszego pliku z listy
• \E zakończ zmienianie pocztu liter
• \e zakończ zmienianie pocztu liter 13
15
&
19
padziernika
1998
roku
VI
ASU
%
&
19
padziernika
1998
roku
VI
ASU
%
'
Jerzy
Sobczyk
$
'
Jerzy
Sobczyk
$
Przykłady komend liniowych edytora vi
Wyrażenia regularne edytora vi
• :%s/\([^ ]*\) \(.*\)/\2 \1/ przestawienie pierwszego słowa
• * powtórzenie ostatniego wyrażenia w linii na jej koniec
• . dowolny znak
• :%g/ala/s/^\([a-zA-Z]*\)/\[\1\]/ ujęcie w nawiasy
• [...] dowolny znak z klasy
początkowego ciągu liter w liniach zawierających słowo ala
• [a-z] dowolny znak pomiędzy a i z
• :1,’mg/==/d skasowanie linii zawierających znaki == w zakresie
• [^...] dowolny znak spoza klasy
od początku pliku do znacznika m
• \(...\) podwyrażenie
• :1,.-1g!/==/d skasowanie linii nie zawierających znaków == w
• ^ początek linii
zakresie od początku pliku do linii porzedzającej bieżącą
• $ koniec linii
• :%s/\([^ ]*\) \(.*\)/\2 \U\1\E/ przestawienie pierwszego słowa w linii na jej koniec ze zmianą jego liter na duże 14
16
&
19
padziernika
1998
roku
VI
ASU
%
&
19
padziernika
1998
roku
VI
ASU
%