Zarządzanie zasobami komputera.
description
Transcript of Zarządzanie zasobami komputera.
1
Zarządzanie zasobami komputera.Zestaw programów pozwalających człowiekowi i programom użytkowym na dostęp do zasobów komputera w wygodny i bezpieczny, efektywny i abstrakcyjny sposób.Wygodny i bezpieczny – dane do drukarki są wysyłane przez jeden program, pozwalając na bezpieczne drukowanie przez wielu użytkowników równocześnieAbstrakcyjny – system operacyjny oferuje abstrakcyjne pojęcie pliku zwalniając programy i użytkowników z potrzeby znajomości fizycznego położenia danych na dysku (głowice, cylindry, sektory, rozkazy sterownika)Efektywny – system operacyjny zawiesza działanie programów czekających na ukończenie wejścia/wyjścia, oszczędzając czas procesora
2
Lata 50 – początki systemów operacyjnych, programy batch, minimalizacja przestojów między kolejnymi programamiLata 60 – pierwsze systemy operacyjne interaktywne. Kilku użytkowników korzystało z tego samego komputera równocześnie. Podział czasuWiele różnych zespołów, wiele projektów, jednym z nich był Multics, koniec lat 60, general Electric, MIT, Bell Labs
3
Bell Labs opuścił zespół pracujący nad systemem Multics i stworzył własny system operacyjny, Unix. Początkowo rozprowadzany za darmo, zdobył dużą popularność w uniwersytetachLata 90 – pozycja Unixa stała się mocna, ale został produktem komercyjnym i drogim. Tani, podobny do Unixa system Minix był ubogi, napisany w celach dydaktycznych. 386BSD, prekursor systemów NetBSD, FreeBSD, OpenBSD był niedojrzały i potrzebował mocnego sprzętu
4
UNICS 1969
Siódma edycja 1978
Szósta edycja 1976
Piąta edycja 1973
BSD 1979SYSV (5) 1983
Solaris/SUNOS 5.x (SUN)
AIX (IBM)IRIX (SGI)
HP-UX (HP)Digital Unix (DEC)SCO UNIX (SCO)
SUNOS 4.x (SUN)NextStep (NeXT)
FreeBSD (Open Source)OpenBSD (Open
Source)NetBSD (Open Source)
Linux (Open Source) 1991
5
Użytkownicy
Aplikacje Programysystemowe
Shell, GUI
Biblioteki systemowe
Jądro (kernel)
Sprzęt (procesor, pamięć, dyski itp.)
6
Jądro systemu – tworzy wirtualny komputer dla procesów użytkowychInterfejs do sprzętu (kart sieciowych, pamięci RAM, dysków itp)Ładowalne moduły do obsługi urządzeń, sieci, systemu plików itp.Pracuje w trybie uprzywilejowanymCały kod i struktury danych w jednej przestrzeni adresowejInterfejs do bibliotek systemowych (system libraries)
7
Procesy użytkowe chcąc skorzystać z jadra wywołują funkcje bibliotek systemowych. Biblioteki systemowe nie działają w trybie uprzywilejowanym, wykonują te funkcje systemu, które tego trybu nie wymagają, na przykład buforowanie wejścia/wyjściaPełnią też zadania, które nie mają odpowiedników w funkcjach jądra, np. sortowanie, operacje matematyczneZapewniają zgodność ze standardami – POSIX, UNIX itp.
8
Aplikacje – np. Arkusz kalkulacyjny, edytor tekstu, przeglądarka internetowaProgramy systemowe – dostarczane wraz z systemem operacyjnym, np. wyszukiwanie wzorca w plikach, konwersja formatu pliku, sortowanieShell – tekstowy interfejs między człowiekiem a programami systemowymi i aplikacjamiGUI (Graphical User Interface) graficzny interfejs między człowiekiem a programami systemowymi i aplikacjami
9
shell – sh, ksh, csh, tcsh, bash... Programy obsługujące zewnętrzne polecenia
systemowe – ls, ps, netstat, grep .... Programy działające w tle – daemony Kompilatory i biblioteki Aplikacje użytkowników
10
Podajemy nazwę użytkownika Podajemy hasło System sprawdza poprawność nazwy i hasła
(rozróżnia duże i małe litery!) Wyświetla 'prompt” (interfejs tekstowy) lub
uruchamia windows manager (interfejs graficzny) Koniec pracy – exit (logout, ctrl-d) – interfejs
znakowy, lub pozycja w menu (ikona) – interfejs graficzny
11
Po pierwszym zalogowaniu się, a potem okresowo, lub w miarę potrzeb zmieniamy swoje hasło:
[test@kempny ~]$ passwd
Changing password for user test.
Changing password for test
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[test@kempny ~]$
12
Ogólna postać komend UNIX
nazwa_komendy opcje cel_komendy
Nazwa_komendy (zwykle krótka, ze względów historycznych) to polecenie wbudowane w shell, nazwa aplikacji lub nazwa programu systemowego
opcje modyfikują działanie komendy
cel – obiekt, którego komenda dotyczy
Przykład:
ls -l /etc
13
ĆwiczeniaZalogować się do systemu, zmienić hasłoWydać poniższe komendy i zinterpretować ich wynik:
cal 2000 cal 9 1752 echo Dzien dobry
uname uname -a date pwd
dmesg|more man dmesg ls /etc ls -l /etc
uptime who whoami history
id last w arch
echo $SHELL echo ala\ ma\ {kota,psa}
clear echo 5+4 echo 5+4|bc
14
Jedno drzewo zawierające pliki na wszystkich urządzeniach
Urządzenia (dyski, partycje, pamięci flash) dołączane do filesystemu w punktach montowania
Punkt montowania to kartoteka, z chwila zamontowania urządzenia dotychczasowa zawartość jest przesłaniana
System plików
15
Kartoteki Zwykłe pliki Link symboliczny, zwykły Pipe Pliki urządzeń – znakowych i blokowych
System plików
16
Filesystem Hierarchy Standard (FHS) 2.329 stycznia 2004
17
Musi zawierać wszystko, co potrzebne do uruchomienia systemu, jego odtworzenia lub naprawienia
Nie powinien być duży Musi umożliwić zamontowanie pozostałych
systemów plików
System plików - / (Root)
18
System plików - /bin Zawiera podstawowe polecenia używane przez
administratora i wszystkich użytkowników Musi zawierać polecenia niezbędne do
zamontowania filesytemów
19
System plików - /boot
Zawiera wszystko, co niezbędne do uruchomienia systemu, dane potrzebne zanim jądro systemu rozpocznie działanie
Jadro systemu może być w kartotece /boot lub w kartotece /
20
System plików - /dev
Zawiera pliki specjalne lub pliki urządzeń Jeśli w kartotece /dev możliwe jest
tworzenie nowych plików urządzeń, musi zawierać polecenie MAKEDEV do ich tworzenia
21
System plików - /etc
Zawiera pliki konfiguracyjne Nie może zawierać programów binarnych Zawiera podkartoteki na konfiguracje
aplikacji
22
System plików - /home
Zawiera pliki użytkowników Nie musi występować w systemie
23
System plików - /lib
Zawiera podstawowe biblioteki systemu Musi występować w systemie Musi zawierać zbiory: libc.so.* podstawowa biblioteka C ln (linker/loader)
24
System plików - /media
Zawiera punkty montowania dla mediów wymiennych, CDROM, dyskietki, taśmy itp.
System plików - /mnt
Zawiera punkty montowania dla filesystemów montowanych tymczasowo
25
System plików - /sbin
Programy używane przez administratora systemu
Inne lokalizacje tych programów - /usr/sbin, /usr/local/sbin
26
System plików - /tmp
Kartoteka na zbiory tymczasowe Dostępna do zapisu dla wszystkich
użytkowników Podczas przeładowania systemu jej
zawartość może i powinna być usunięta Alternatywnym miejscem dla zbiorów
tymczasowych jest /var/tmp – zawartość tej kartoteki nie jest kasowana przy przeładowaniu systemu
27
System plików - /usr
Kartoteka na pozostałe zbiory systemu Nie powinna być używana do zapisu przez
użytkowników i aplikacje Podkartoteki bin, sbin, share, lib, include,
local Może zawierać inne podkartoteki, np,
X11R6, src
28
System plików - /var
Kartoteka na zmieniające się pliki, np. logi systemowe, kolejki drukarek, kolejki poczty
Zawiera podkartoteki cache, lib, local, lock, log, opt, run, spool, tmp
Może zawierać opcjonalnie np. mail, games
29
System plików - /proc Opcjonalny, lecz często występujący w
systemach Unix Zawiera informacje o stanie systemu –
procesach, urządzeniach, pamięci, przerwaniach itp.
Wirtualny, tworzony podczas pracy systemu.
Poprzez modyfikację zbiorów w tym systemie plików można zmienić działanie systemu, np. włączyć routing
30
pwd - podaj bieżącą kartotekę
ls - wyświetl zawartość kartoteki
ls ścieżka - wyświetl zawartość wskazanej kartoteki
ls -a -l – wszystkie pliki, ze szczegółami
cd scieżka – zmień kartotekę (bez ścieżki – do kartoteki 'home')
mkdir nazwa – utwórz kartotekę
rmdir nazwa – usuń kartotekę (pustą)
cp co gdzie – kopiuj plik(i) kartotekę(i)
mv co gdzie – przenieś lub zmień nazwę pliku (kartoteki)
31
rm plik(i) – usuń plik(i) (Uwaga! Nie da się odzyskać!)
rm -i pliki – usuń pliki pytając przy każdym, czy na pewno
rm -rf pliki – usuń pliki i kartoteki z podkartotekami, nie pytaj o nic
touch nazwa – utwórz pusty plik o podanej nazwie (jeśli istnieje, zmień czas dostępu i modyfikacji na bieżący)
pushd ścieżka - przejdź do wskazanej kartoteki, powrót komendą popd (nie każdy shell)
df – wyświetla zajętość filesystemów
du – wyświetla wielkość podkartotek
32
ln plik nazwa_linku – tworzy twardy link do wskazanego pliku
ln -s plik nazwa_linku – tworzy miękki link do wskazanego pliku
Twardy link tworzy nowy wpis w kartotece wskazujący na zbiór, musi wskazywać na istniejący plik w tym samym filesystemie, usunięcie oryginału nie spowoduje usunięcia linku
33
? * - zastępują jeden i wiele znaków w nazwie
[abxeo3-8] zastępuje pojedynczy znak jednym z wymienionych w nawiasach(znak '-' podaje przedział znaków)
{ala,ola}.txt – iloczyn kartezjański łańcuchów w nawiasach
. .. - bieżąca kartoteka, nadrzędna kartoteka
34
Pewne znaki mają znaczenia specjalne. Aby to znaczenie specjalne wyłączyć, należy:
poprzedzić go znakiem \
ująć tekst w pojedynczych apostrofach ' ' - wyłącza specjalne znaczenie wszystkich znaków
ująć tekst w podwójnych apostrofach ” ” - wyłącza specjalne znaczenie większości znaków
Uwaga, apostrofy ` ` działają inaczej!
35
Ćwiczenia. Wykonaj i zaobserwuj działanie:
[kempny@kempny ~]$ cat -> akuku
to jest zawartosc zbioru akuku
[kempny@kempny ~]$ cat akuku
[kempny@kempny ~]$ cd tmp
[kempny@kempny tmp]$ ln ../akuku kopia
[kempny@kempny tmp]$ ls -l ../akuku kopia
[kempny@kempny tmp]$ cat kopia
[kempny@kempny tmp]$ cat ->> kopia
a to dopisane do kopia
36
[kempny@kempny tmp]$ cat kopia
[kempny@kempny tmp]$ cat ../akuku
[kempny@kempny tmp]$ ls -l ../akuku kopia
[kempny@kempny tmp]$ rm ../akuku
[kempny@kempny tmp]$ ls -l
[kempny@kempny tmp]$ cat kopia
[kempny@kempny tmp]$
Wykonaj to samo dla linku miękkiego
37
[kempny@kempny tmp]$ cp /etc/passwd .
[kempny@kempny tmp]$ ls
[kempny@kempny tmp]$ mv passwd ..
[kempny@kempny tmp]$ ls
[kempny@kempny tmp]$ ls ..
[kempny@kempny tmp]$ mv ../passwd .
[kempny@kempny tmp]$ mv passwd haselka
[kempny@kempny tmp]$ ls
[kempny@kempny tmp]$rm haselka
38
Utwórz dwie kartoteki o nazwach kot i pies
W kartotece kot utwórz pusty plik o nazwie myszSkopiuj kartotekę kot z jej zawartością do wnętrza kartoteki pies
Komendą ls -laR wyświetl zawartości wszystkich podkartotek
Usuń utworzone kartoteki z ich zawartością
Utwórz zbiór o nazwie #gwiazdy, następnie usuń go
Korzystając z komendy man wypróbuj działanie różnych opcji komendy ls
39
[kempny@kempny tmp]$ touch ala{1,2,3,4}
[kempny@kempny tmp]$ ls
[kempny@kempny tmp]$ touch ala{1,2,3,4}nowe
[kempny@kempny tmp]$ ls
[kempny@kempny tmp]$ ls ala[12]
[kempny@kempny tmp]$ ls ala?
[kempny@kempny tmp]$ ls ala?n*
[kempny@kempny tmp]$ ls ala[23]n*
[kempny@kempny tmp]$ ls ala[1-3]
[kempny@kempny tmp]$ ls ala[1-24]
40
System plików - prawa do plików Prawo do zapisu, odczytu, wykonania Grupy praw dla właściciela, grupy i pozostałych
użytkowników Zapisywane często ósemkowo, kolejne bity
oznaczają kolejno czytanie, zapis, wykonanie. Kolejne cyfry ósemkowe odnoszą się do właściciela, grupy i pozostałych. Na przykład754 oznacza:7 – czytanie, zapis i wykonanie dla właściciela5 – czytanie i wykonanie dla grupy4 – czytanie dla pozostałych
41
Sticky bit Dla plików dawniej nakazywał
przechowywanie w swap, obecnie w Linuxie ignorowany
Dla kartotek – kasować i zmieniać nazwę zbiorów w nich może tylko root lub właściciel. Używane np. w kartotece /tmp
42
set-UID set-GID uruchomienie pliku przez zwykłego
użytkownika spowoduje nadanie procesowi praw jego właściciela (grupy)
Niezbędne dla niektórych programów, np. passwd – modyfikuje shadow
Niebezpieczne, jeśli użytkownik podstawi własny program (np. shell) z set-UID
43
Kolejne bity:4 set-UID2 set-GID1 sticky bit4 odczyt – właściciel2 zapis – właściciel1 wykonywanie – właściciel4 odczyt – grupa2 zapis – grupa1 wykonywanie – grupa4 odczyt – wszyscy2 zapis – wszyscy1 wykonywanie - wszyscy
44
Chmod maska plik(i)
Inny zapis:chmod [ugoa...][[+-=][rwx]
u – user – właściciel
g- group – grupa
o, a other, all – pozostali
r, w, x – odczyt, zapis, wykonywanie (dostęp do kartoteki)
+ dodaj
- usuń
= usuń wszystkie i pozostaw tylko te podane
45
file nazwa – wyświetla informacje o pliku
head, tail plik – wyświetla poczatek/koniec pliku
tail -f plik – wyświetla ciągle koniec pliku (dodawane linie)
more plik – wyświetla zawartość zbioru tekstowego ekran po ekranie
cat plik plik plik - wyświetla cały zbiór(y)(również binarne, może sklejać zbiory)
od plik – wyświetla ósemkowo (-x – szesnastkowo, -c znakowo) zawartość pliku binarnego
46
find kartoteka -name nazwa – wyszukuje plik o podanej nazwie począwszy od wskazanej kartoteki
Na przykład:
find /home/kempny/ -name "*pdf" -exec ls -l {} \;
which plik – wyszukuje położenie pliku komendy
whereis komenda – wyszukuje położenie pliku binarnego, źródłowego i strony man komendy
47
grep wzorzec plik – wyszukuje w pliku (plikach wskazany wzorzec
Na przykład:
grep kot *txt wyszuka słowo kot we wszystkich plikach o nazwach kończących się literami txt
Pożyteczne opcje:
-v – działanie odwrotne, znajdzie linie nie zawierające wzorca
-i – ignoruj duże/małe litery
-c – wyświetli tylko liczbę wystąpień wzorca
48
wc – oblicz liczbę wierszy, wyrazów i znaków w zbiorzeuniq – pomiń powtarzające się wierszeuniq -c – jak wyżej, ale podaj liczbę wystąpieńsort -k pos1[pos2] sortuje linie według klucza od znaku pos1 do pos2 włącznie (liczone od 1)Na przykład:sort input.txt | uniq > output.txtsort input.txt | uniq | wc
49
expand – zamień znaki tab na spacjecolrm [startcol [endcol]] – usuń znaki w zbiorze od kolumny startcol do endcol, liczone od 1ed – edytor liniowy, np. do zamiany łańcuchówvi – edytor ekranowy, makropolecenia do modyfikowania zawartości zbioru
50
Kopie bezpieczeństwa systemu
Dump – składuje filesystem lub jego część na taśmę (opcjonalnie do zbioru lub pipe)Poziomy 0-9. 0 - składuj wszystkie pliki, n<>0 składuj tylko te pliki, które zostały utworzone lub zmienione od ostatniego dump niższego poziomuZbiór /etc/dumpdates zawiera informacje które filesystemy, kiedy i z jakim poziomem były składowaneTypowe użycie dump -0u -f /dev/st0 /usr
51
restore – odtwarza filesystem lub pojedyncze zbiory z kopii utworzonej przez dumpz opcją -i wchodzi w tryb interaktywny umożliwiając odtworzenie pojedynczych zbiorówTypowe użycie:mke2fs /dev/sda1mount /dev/sda1 /mntcd /mntrestore rf /dev/st0
Jeśli były wykonywane częściowe dumpy, najpierw należy odtworzyć dump poziomu 0, później kolejno dumpy wyższych poziomów
52
tar – program do składowania zbiorów na taśmę i odtwarzania ich. Może też składować do pliku.Użycie:tar opcje zbiory_do skopiowaniatypowe opcjec – utwórz archiwumx – odtwórz zbiory z archiwumt – wyświetl zbiory z archiwumv – verbose, wyświetlaj co jest wykonywanef – zbiór z archiwum (domyślnie /dev/rmt0)C kartoteka – odtwórz pliki do wskazanej kartoteki
53
Typowe użycie:
tar -cvf /tmp/kopia /etcw zbiorze /tmp/kopia zostanie utworzone archiwum wszystkich zbiorów z kartoteki (i podkartotek) /etc
tar -vxf /tmp/kopiaw bieżącej kartotece odtworzy wszystkie zbiory z archiwum w /tmp/kopia
54
Polecenia tar i dump mogą opcjonalnie poddawać pakowane zbiory kompresji. Jeśli składowanie odbywa się do zbioru, lepiej jest jednak poddać kompresji archiwum, jednym z dostępnych programów:compress, gzip, bzip2, zip, arj
55
Polecenia tar i dump w przypadku składowania na taśmę działają powoli. Niewielkie ilości danych wygodnie jest zarchiwizować do pliku na dysku lokalnym i przesłać na dysk innego komputera (samba, nfs, ftp), składując na taśmie jedynie okresowe kopie.Składowanie najlepiej uruchamiać daemonem cronWażnym jest opracowanie i opisanie szczegółowych procedur wykonywania kopii bezpieczeństwa. Jest to bardzo przydatne podczas odtwarzania systemu po awarii.
56
System plików – montowanie i odmontowanie
W dowolnym miejscu hierarchii systemu plików dołączyć możemy kolejny system plików
miejsce, gdzie nowy system plików dołączymy nazywa się punktem montowania.
Punkt montowania musi być kartoteką, po zamontowaniu jej ewentualna zawartość zostanie przesłonięta nową zawartością.
Zamontować można dyskietkę, partycję dysku, cdrom, dysk udostępniany przez sieć itp
57
Do zamontowana systemu plików służy komenda mount, do odmontowania - umount
Typowe użycie:mount -t typ urzadzenie punkt_montowaniaumount urzadzenieumount punkt montowania
urzadzenie to plik specjalny w /devpunkt to kartoteka, w której chcemy zamontować system plików
58
typ określa fizyczny format zapisu na montowanym nośniku, może to być fat, vfat, cdfs, ntfs, ufs, ext2, ext3, nfs ....
Odmontować system plików można podając urządzenie lub punkt jego zamontowania. Nie można odmontować systemu plików, jeśli jest używany
59
Podczas startu systemu automatycznie montowane są systemy wskazane w zbiorze /etc/fstab:
LABEL=/1 / ext3 defaults 1 1none /dev/pts devpts gid=5,mode=620 0 0none /proc proc defaults 0 0none /dev/shm tmpfs defaults 0 0LABEL=/usr1 /usr ext3 defaults 1 2LABEL=/var1 /var ext3 defaults 1 2/dev/hda2 swap swap defaults 0 0/dev/hda7 /home ext3 defaults 1 2
60
Ćwiczenia. Wykonaj i obserwuj rezultat:
[kempny@kempny tmp]$ touch ala
[kempny@kempny tmp]$ ls -l
[kempny@kempny tmp]$ echo KUKU >>ala
[kempny@kempny tmp]$ cat ala
[kempny@kempny tmp]$ chmod 550 ala
[kempny@kempny tmp]$ ls -l
[kempny@kempny tmp]$ echo KUKU >>ala
[kempny@kempny tmp]$ rm ala
[kempny@kempny tmp]$
61
find / -name *txt >ala&
tail -f ala
find /etc/sysconfig -name ”*” -exec wc {} \;
grep bash /etc/passwd
grep -c bash /etc/passwd
hostname
grep -R `hostname` /etc/sysconfig/*
62
ls -R /etc | grep .conf$
ls -R /etc | grep .conf$ | wc
ls -R /etc 2>/dev/null | grep .conf$ | wc
ls -R /etc 2>/dev/null|grep .conf$ | sort |more
ls -R /etc 2>/dev/null|grep .conf$ | sort | wc
ls -R /etc 2>/dev/null|grep .conf$ | sort | uniqu | wc
ls -R /etc 2>/dev/null|grep .conf$ | sort | uniqu | more
63
od /bin/ls | more
od -h /bin/ls | more
od -c /bin/ls |more
ls
tar -cvf kopia.tar /bin
tar -tf kopia.tar
tar -xvf kopia.tar
ls
ls bin
64
Edytory ed, vi - edEd – edytor liniowy
operuje zawsze na pojedynczej linii tekstuoperuje na kopii zbioru w buforze, oryginalny zbiór
jest modyfikowany dopiero podczas zapisu buforadwa tryby pracy – komend i wprowadzaniaPrzydatny do obróbki bardzo dużych zbiorów, do
wielokrotnej zamiany tekstu w dużej części zbioru lub kiedy nie jest dostępny tryb pełnoekranowy (niektóre awarie systemu)
użycie – ed plik
65
W trybie wprowadzania wszystko, co wprowadzimy z klawiatury jest wpisywane do pliku
wejście w tryb wprowadzania: i – przed zaadresowaną linią, a – za zaadresowaną linią
wyjście z trybu wprowadzania i powrót do trybu komend – linia zawierająca tylko jedną kropkę
66
W trybie komend wszystko, co wprowadzimy z klawiatury traktowane jest jako polecenia.
Adresowanie linii:. bieżąca linia$ ostatnia linian linia n (liczona od 1)- poprzednia linia (-n – n-ta poprzednia linia)+ następna linia (+n – n-ta kolejna linia)/re/ (?re?) następna (poprzednia) linia zawierająca regular expression
Zakres linii – dwa adresy linii oddzielone znakiem ,
67
Przykładowe komendy(.)a – dodaj tekst za zaadresowaną linią(.,.)d – usuń linie z zakresu(.)i - dodaj tekst przed zaadresowaną linią(.,.)s/wzor1/wzor2/ – w podanym zakresie w każdej linii zamienia pierwsze wystąpienie wzor1 na wzor2.(.,.)s/wzor1/wzor2/g – jak wyżej, ale zamienia wszystkie wystąpienia w każdej linii z zakresu.
68
Podstawowe komendy
q – opuszczenie edytoraw [plik] - zapisanie zmian, opcjonalnie do innego pliku r plik -wczytanie zbioru i dopisanie za bieżącą linią
69
Przykładowa sesja
>$ cd /etc>$ ed inittab1666/\:initdefaultid:5:initdefault:s/5/3/w1666q>$
70
vi - edytor ekranowy (vim, vi IMproved) potężne możliwości rozumie składnię wielu języków programowania możliwość pracy w trybie liniowym makropolecenia pracuje na każdym terminalu ze sterowaniem
kursorem
71
Uruchomienie:vi plik
:q! wyjście z anulowaniem zmian:wq lub ZZ – zapis zmian i wyjście:r zbiór wczytanie zbioru i dopisanie za bieżącą linią:w [plik] zapisanie zmian, opcjonalnie w innym pliku
72
tryb wprowadzania tekstu tryb komend tryb liniowy
73
W trybie liniowym można wprowadzać polecenia edytora ed
Wejście w tryb liniowy – poprzedzenie polecenia znakiem :
Przykłady::1,45s/zmienna_c/stala_c/g w liniach 1 – 45 zamieni łańcuch zmienna_c na stala_c:1,.d usunie linie od pierwszej do bieżącej:= wyświetli numer bieżącej linii:5 przeniesie kursor do linii 5
74
Poruszanie się po tekście – strzałki lub klawisze:k – w góręh – w lewo l – w prawoj – w dół
w niektórych wersjach vi poruszanie się w górę i w dół nie działa w trybie wprowadzania tekstu
Wyszukiwanie tekstu:/wzor przeniesie kursor na początek wzoru. Kolejne pojedyncze / wyszukają jego kolejne wystąpienia
75
Podstawowe komendyi – wejdź w tryb wprowadzania tekstu, ustaw kursor przed bieżącym znakiem (a – za nim, I – na początku linii, A – na końcu linii)esc – wyjście z trybu wprowadzania tekstur – zastąp jeden znak nowym[n]s – zastąp n znaków nowymi, pozostań w trybie wprowadzania[n]x – usuń znak (n znaków) pod kursorem (X – na lewo od niego) zapamiętaj je w buforze. powtórz ostatnia komendę:h – wyświetl help
76
Podstawowe komendy
[n]dd usuń n linii (zapamiętaj je w buforze)[n]yy skopiuj do bufora n liniip - wstaw zawartość bufora pod bieżącą linię (P – nad nią). Jeśli w buforze są znaki usunięte komendą x, to wstaw zawartość bufora za kursorem (P - przed)
77
Makropolecenia
Zapamiętanie makropolecenia:q{rejestr}ciag komend do zapamietaniaqjako rejestr może być użyta dowolna litera a -zWykonanie makropolecenia[n] @{rejestr}wykonane zostaną wszystkie zapamiętane poprzednio w rejestrze polecenia. n wskazuje, ile razy makropolecenie ma zostać wykonane
78
Ćwiczenia:skopiuj do własnej kartoteki zbiór konfiguracyjny inetrfejsu ethernet:/etc/sysconfig/network-scripts/ifcfg-eth0zmień adres IP korzystając z edytora vizmień linięDEVICE=eth0na DEVICE=eth1korzystając z edytora ed