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śnie Abstrakcyjny – 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
Lata 50 – początki systemów operacyjnych, programy batch, minimalizacja przestojów między kolejnymi programami Lata 60 – pierwsze systemy operacyjne interaktywne. Kilku użytkowników korzystało z tego samego komputera równocześnie. Podział czasu Wiele różnych zespołów, wiele projektów, jednym z nich był Multics, koniec lat 60, general Electric, MIT, Bell Labs
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 uniwersytetach Lata 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
UNICS 1969 Piąta edycja 1973 Szósta edycja 1976 Siódma edycja 1978 SYSV (5) 1983 BSD 1979 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
Użytkownicy Shell, GUI Programy systemowe Aplikacje Biblioteki systemowe Jądro (kernel) Sprzęt (procesor, pamięć, dyski itp.)
Jądro systemu – tworzy wirtualny komputer dla procesów użytkowych Interfejs 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 uprzywilejowanym Cały kod i struktury danych w jednej przestrzeni adresowej Interfejs do bibliotek systemowych (system libraries)
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ścia Pełnią też zadania, które nie mają odpowiedników w funkcjach jądra, np. sortowanie, operacje matematyczne Zapewniają zgodność ze standardami – POSIX, UNIX itp.
Aplikacje – np. Arkusz kalkulacyjny, edytor tekstu, przeglądarka internetowa Programy systemowe – dostarczane wraz z systemem operacyjnym, np. wyszukiwanie wzorca w plikach, konwersja formatu pliku, sortowanie Shell – tekstowy interfejs między człowiekiem a programami systemowymi i aplikacjami GUI (Graphical User Interface) graficzny interfejs między człowiekiem a programami systemowymi i aplikacjami
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
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
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 ~]$
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
Ćwiczenia Zalogować się do systemu, zmienić hasło Wydać 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
System plików 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 Kartoteki Zwykłe pliki Link symboliczny, zwykły Pipe Pliki urządzeń – znakowych i blokowych
Filesystem Hierarchy Standard (FHS) 2.3 29 stycznia 2004
System plików - / (Root) 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 - /bin Zawiera podstawowe polecenia używane przez administratora i wszystkich użytkowników Musi zawierać polecenia niezbędne do zamontowania filesytemów
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 /
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
System plików - /etc Zawiera pliki konfiguracyjne Nie może zawierać programów binarnych Zawiera podkartoteki na konfiguracje aplikacji
System plików - /home Zawiera pliki użytkowników Nie musi występować w systemie
System plików - /lib Zawiera podstawowe biblioteki systemu Musi występować w systemie Musi zawierać zbiory: libc.so.* podstawowa biblioteka C ln (linker/loader)
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
System plików - /sbin Programy używane przez administratora systemu Inne lokalizacje tych programów - /usr/sbin, /usr/local/sbin
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
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
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
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
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)
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
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
? * - 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
Pewne znaki mają znaczenia specjalne 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!
Ć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
[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]$ Wykonaj to samo dla linku miękkiego
[kempny@kempny tmp]$ cp /etc/passwd . [kempny@kempny tmp]$ ls [kempny@kempny tmp]$ mv passwd .. [kempny@kempny tmp]$ ls .. [kempny@kempny tmp]$ mv ../passwd . [kempny@kempny tmp]$ mv passwd haselka [kempny@kempny tmp]$rm haselka
Utwórz dwie kartoteki o nazwach kot i pies W kartotece kot utwórz pusty plik o nazwie mysz Skopiuj 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
[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 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]
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ład 754 oznacza: 7 – czytanie, zapis i wykonanie dla właściciela 5 – czytanie i wykonanie dla grupy 4 – czytanie dla pozostałych
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
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
Kolejne bity: 4 set-UID 2 set-GID 1 sticky bit 4 odczyt – właściciel 2 zapis – właściciel 1 wykonywanie – właściciel 4 odczyt – grupa 2 zapis – grupa 1 wykonywanie – grupa 4 odczyt – wszyscy 2 zapis – wszyscy 1 wykonywanie - wszyscy
Inny zapis: Chmod maska plik(i) 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
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
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
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
sort input.txt | uniq > output.txt sort input.txt | uniq | wc wc – oblicz liczbę wierszy, wyrazów i znaków w zbiorze uniq – pomiń powtarzające się wiersze uniq -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.txt sort input.txt | uniq | wc
expand – zamień znaki tab na spacje colrm [startcol [endcol]] – usuń znaki w zbiorze od kolumny startcol do endcol, liczone od 1 ed – edytor liniowy, np. do zamiany łańcuchów vi – edytor ekranowy, makropolecenia do modyfikowania zawartości zbioru
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 poziomu Zbiór /etc/dumpdates zawiera informacje które filesystemy, kiedy i z jakim poziomem były składowane Typowe użycie dump -0u -f /dev/st0 /usr
restore – odtwarza filesystem lub pojedyncze zbiory z kopii utworzonej przez dump z opcją -i wchodzi w tryb interaktywny umożliwiając odtworzenie pojedynczych zbiorów Typowe użycie: mke2fs /dev/sda1 mount /dev/sda1 /mnt cd /mnt restore 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
x – odtwórz zbiory z archiwum t – wyświetl zbiory z archiwum 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 skopiowania typowe opcje c – utwórz archiwum x – odtwórz zbiory z archiwum t – wyświetl zbiory z archiwum v – verbose, wyświetlaj co jest wykonywane f – zbiór z archiwum (domyślnie /dev/rmt0) C kartoteka – odtwórz pliki do wskazanej kartoteki
w bieżącej kartotece odtworzy wszystkie zbiory z archiwum w /tmp/kopia Typowe użycie: tar -cvf /tmp/kopia /etc w zbiorze /tmp/kopia zostanie utworzone archiwum wszystkich zbiorów z kartoteki (i podkartotek) /etc tar -vxf /tmp/kopia w bieżącej kartotece odtworzy wszystkie zbiory z archiwum w /tmp/kopia
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
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 cron Ważnym jest opracowanie i opisanie szczegółowych procedur wykonywania kopii bezpieczeństwa. Jest to bardzo przydatne podczas odtwarzania systemu po awarii.
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
Do zamontowana systemu plików służy komenda mount, do odmontowania - umount Typowe użycie: mount -t typ urzadzenie punkt_montowania umount urzadzenie umount punkt montowania urzadzenie to plik specjalny w /dev punkt to kartoteka, w której chcemy zamontować system plików
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
Podczas startu systemu automatycznie montowane są systemy wskazane w zbiorze /etc/fstab: LABEL=/1 / ext3 defaults 1 1 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 LABEL=/usr1 /usr ext3 defaults 1 2 LABEL=/var1 /var ext3 defaults 1 2 /dev/hda2 swap swap defaults 0 0 /dev/hda7 /home ext3 defaults 1 2
Ć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]$ rm ala [kempny@kempny tmp]$
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/*
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
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 bin
Edytory ed, vi - ed Ed – edytor liniowy operuje zawsze na pojedynczej linii tekstu operuje na kopii zbioru w buforze, oryginalny zbiór jest modyfikowany dopiero podczas zapisu bufora dwa tryby pracy – komend i wprowadzania Przydatny 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
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ę
W trybie komend wszystko, co wprowadzimy z klawiatury traktowane jest jako polecenia. Adresowanie linii: . bieżąca linia $ ostatnia linia n 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 ,
Przykładowe komendy (. )a – dodaj tekst za zaadresowaną linią (. , 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.
Podstawowe komendy q – opuszczenie edytora w [plik] - zapisanie zmian, opcjonalnie do innego pliku r plik -wczytanie zbioru i dopisanie za bieżącą linią
Przykładowa sesja >$ cd /etc >$ ed inittab 1666 /\:initdefault id:5:initdefault: s/5/3/ w q >$
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
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
tryb wprowadzania tekstu tryb komend tryb liniowy
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
Poruszanie się po tekście – strzałki lub klawisze: k – w górę h – w lewo l – w prawo j – 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
Podstawowe komendy i – 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 tekstu r – 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
Podstawowe komendy [n]dd usuń n linii (zapamiętaj je w buforze) [n]yy skopiuj do bufora n linii p - 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)
Zapamiętanie makropolecenia: q{rejestr} ciag komend do zapamietania q jako rejestr może być użyta dowolna litera a -z Wykonanie makropolecenia [n] @{rejestr} wykonane zostaną wszystkie zapamiętane poprzednio w rejestrze polecenia. n wskazuje, ile razy makropolecenie ma zostać wykonane
Ćwiczenia: skopiuj do własnej kartoteki zbiór konfiguracyjny inetrfejsu ethernet: /etc/sysconfig/network-scripts/ifcfg-eth0 zmień adres IP korzystając z edytora vi zmień linię DEVICE=eth0 na DEVICE=eth1 korzystając z edytora ed