Wiele różnych zespołów, wiele projektów, jednym z nich był Multics

Slides:



Advertisements
Podobne prezentacje
Procedura instalacji systemu Linux
Advertisements

Usługi sieciowe Wykład 5 DHCP- debian
Systemy Operacyjne (1) DOS.
Serwer WWW na AT89C52 Adrian Witlib Maciej Przeor ID06SK1
Sieci komputerowe Usługi sieciowe Piotr Górczyński 27/09/2002.
Domy Na Wodzie - metoda na wlasne M
Prezentacja o MS-DOS’ie
System operacyjny MS-DOS
1 Linux jako system wielozadaniowy i wielodostępny.
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE INSTALACJA.
WITAM NA SZKOLENIU Porady na dziś i jutro.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Systemy operacyjne.
Podstawowe polecenia systemu DOS
Podstawowe komendy UNIXA
Instalacja systemu Windows Vista
SO – LAB3 Wojciech Pieprzyca
System operacyjny LINUX
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
WINDOWS 95 WYCINEK AUTOSTART TWORZENIE POWIĄZAŃ PLIKÓW Z APLIKACJAMI
POŁĄCZENIE MODEMOWE 1. Połączenie modemowe w Ubuntu.
SPRZĘT W UBUNTU 1. Sterowniki do sprzętu w naszym komputerze? Większość sterowników jest już dostępnych w ramach jądra Linuksa i są zainstalowane wraz.
Zarządzanie zasobami komputera.
Ogólnopolski Konkurs Wiedzy Biblijnej Analiza wyników IV i V edycji Michał M. Stępień
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
Bootloader – program rozruchowy
Praca napisana pod kierownictwem dra Jacka Kobusa
Interpretatory poleceń - powłoki systemu
Linux - polecenia.
Wielozadaniowowść systemu operacyjnego Linux
Systemy operacyjne.
Budowa systemu komputerowego
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Prezentacja i szkolenie
Sieci komputerowe.
Systemy operacyjne.
System plików systemu linux
Programowanie obiektowe – zastosowanie języka Java SE
Polecenia systemowe dos, winodws, linux
1. Pomyśl sobie liczbę dwucyfrową (Na przykład: 62)
Sieciowe systemy operacyjne - UNIX
Konfiguracja IP i sieci w Win XP
Sieć oparta o serwer Ubuntu 12.10
Linux w sieci Konfigurowanie interfejsu sieciowego.
Konsola odzyskiwania.
Na pasku komunikatów kliknij przycisk Włącz edytowanie,
Laboratorium systemów operacyjnych
Etapy uruchamiania systemu Pliki konfiguracyjne
Sieci komputerowe.
Administracja systemami operacyjnymi wiosna 2014
EcoCondens Kompakt BBK 7-22 E.
EcoCondens BBS 2,9-28 E.
User experience studio Użyteczna biblioteka Teraźniejszość i przyszłość informacji naukowej.
WYNIKI EGZAMINU MATURALNEGO W ZESPOLE SZKÓŁ TECHNICZNYCH
Testogranie TESTOGRANIE Bogdana Berezy.
Jak Jaś parował skarpetki Andrzej Majkowski 1 informatyka +
Linux, to kompletny system operacyjny (jądro i programy użytkownika), który powstał na zasadzie GNU – czyli Powszechnej Licencji Publicznej (General Public.
Linux. Legalność i Dostępność Oparty jest na licencji GNU – tzn. Dla zwykłych użytkowników jest bezpłatny Oparty jest na licencji GNU – tzn. Dla zwykłych.
Microsoft Disk Operating System
Elementy geometryczne i relacje
System operacyjny Windows
Strategia pomiaru.
Podstawy języka skryptów
Prezentacja na temat: Narzedzia do naprawy systemu.
Procedura instalacji Linuksa. Z serwera pobieramy obraz płyty. Nagrywamy obraz na płytę. Sprawdzamy ustawienia w BIOS – podczas uruchamiania systemu napęd.
Linux ssh.
System operacyjny LINUX
System operacyjny Linux
Sieci komputerowe Usługi sieciowe 27/09/2002.
Programowanie obiektowe – zastosowanie języka Java SE
Zapis prezentacji:

Wiele różnych zespołów, wiele projektów, jednym z nich był Multics Trochę historii 1 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

Trochę historii 2 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

Trochę historii 3 Październik 1991 Linus Torvalds używał Unixa na uniwersytecie w Helsinkach, chciał mieć podobny system w domu. Próbował systemu Minix, ale chciał coś lepszego. Rozpoczął pisanie własnego systemu operacyjnego Po opublikowaniu pierwszej działającej wersji system przyciągnął uwagę innych programistów. Zaczął się dynamicznie rozwijać

Trochę historii 4 Linux to tylko jądro systemu (zarządzanie pamięcią, drivery urządzeń, zarządzanie wielozadaniowością itp). Pozostałe oprogramowanie systemowe, w tym najaważniejszy – kompilator C pochodziły z Free Software Foundation's GNU project. Free Software Foundation's GNU project rozpoczął sie w 1984 roku, ma za cel stworzenie kompletnego farmowego wzorowanego na Unixie systemu operacyjnego. Linux czasami jest nazywany GNU/Linux.

Początek 1994 – rozpoczęto wydawanie Linux Magazine Trochę historii 5 Lata 92 i 93 – Linux wzbogacił się o protokół TCP/IP i środowisko graficzne (X Window), mogł zastąpić w stacjach roboczych Unixa. Wiele małych firm zajęło się rozwojem i dystrybucją Linuxa, pojawiły się grupy użytkowników Początek 1994 – rozpoczęto wydawanie Linux Magazine Marzec 1994 – jądro 1.0 1997 rok – Netscape udostępniło swoje oprogramowanie bezpłatnie. Powstał model oprogramowania typu “open source”

Co to takiego 6 Linux to wzorowany na systemie Unix wielozadaniowy i wielodostępny system operacyjny dla 32 i 64 bitowych procesorów, działający na wielu platformach. Programy pisane dla UNIX działają na Linux po rekompilacji Linux, podobnie jak Unix był od początku projektowany jako wielozadaniowy. Wielozadaniowość musi być brana pod uwagę w całym systemie operacyjnym, systemy do których dodano ja później, robią to gorzej (przykład: win95 – win NT)

Dobra ochrona pamięci, program użytkowy nie może zniszczyć innego Co to takiego 7 Dobra ochrona pamięci, program użytkowy nie może zniszczyć innego Linux był pisany na Intel 386, teraz działa na Sun SPARC i UltraSPARC, Motorola 68000, PowerPC, PowerPC64, ARM, Hitachi SuperH, IBM S/390, MIPS, HP PA-RISC, Intel IA-64, DEC VAX, AMD x86-64 and CRIS – procesory 32 i 64 bitowe

Dzięki technologii cluster np. Beowulf działa na superkomputerach Co to takiego 8 Skalowalność – działa w komputerach wbudowanych, telefonach komórkowych, mainframe, .... Dzięki technologii cluster np. Beowulf działa na superkomputerach

Co to takiego 9 Pierwsze aplikacje to oprogramowanie naukowe, bazy danych, sieci komputerowe. Interfejs z linii komend. Pierwsze poważne zastosowania – jako serwery plików, poczty, baz danych Środowisko graficzne - KDE, Gnome pozwoliło na powstanie aplikacji dla zwykłych użytkowników, na przykład Open Office.

Linux i jego oprogramowanie rozwijane jest przez wiele zespołów Dystrybucje 10 Linux i jego oprogramowanie rozwijane jest przez wiele zespołów Możliwe jest samodzielne zebranie oprogramowania i jego zainstalowanie Wygodniej jest skorzystać z gotowego zestawu, dystrybucji

Dystrybucje 11 Dystrybucja to jądro systemu, program instalacyjny i zestaw programów użytkowych Istnieją setki dystrybucji, ogólnego przeznaczenia i wyspecjalizowane. Różnią się programem instalacyjnym, konfiguracją jądra, zestawem programów użytkowych i ich wersją Najważniejsze dystrybucje ogólnego przeznaczenia - Red Hat, SuSE, Debian ....

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 Budowa systemu - jądro 14 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)

Pięć głównych podsystemów: Budowa systemu - jądro 15 Pięć głównych podsystemów: PSHED(process sheduler) odpowiada za dostęp do CPU MM (memory manager) odpowiada za bezpieczne użycie pamięci przez wiele procesów, obsługuje pamięć wirtualną NET (network interface) zapewnia dostęp do urządzeń sieciowych w różnych standardach

Pięć głównych podsystemów: Budowa systemu - jądro 16 Pięć głównych podsystemów: VFS (virtual filesystem) ukrywa dla procesów szczegóły fizycznego dostępu do urządzeń pamięci zewnętrznej. Obsługuje wiele formatów, kompatybilnych z innymi systemami operacyjnymi (vfat, cdfs, ntfs itp.) IPC (inter process communication) dostarcza mechanizmów do komunikacji między różnymi procesami na tej samej maszynie

Budowa systemu – biblioteki systemowe 17 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.

Budowa systemu – programy użytkowe 18 Interpretatory poleceń – sh, 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

System plików 19 FHS 2.3.1

System plików - / (Root) 20 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

Musi zawierać polecenia niezbędne do zamontowania filesytemów System plików - /bin 21 Zawiera podstawowe polecenia używane przez administratora i wszystkich użytkowników Musi zawierać polecenia niezbędne do zamontowania filesytemów

Jadro systemu może być w kartotece /boot lub w kartotece / System plików - /boot 22 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 /

Zawiera pliki specjalne lub pliki urządzeń System plików - /dev 23 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

Zawiera pliki konfiguracyjne Nie może zawierać programów binarnych System plików - /etc 24 Zawiera pliki konfiguracyjne Nie może zawierać programów binarnych Zawiera podkartoteki na konfiguracje aplikacji

Zawiera pliki użytkowników Nie musi występować w systemie System plików - /home 25 Zawiera pliki użytkowników Nie musi występować w systemie

Zawiera podstawowe biblioteki systemu Musi występować w systemie System plików - /lib 26 Zawiera podstawowe biblioteki systemu Musi występować w systemie Musi zawierać zbiory: libc.so.* podstawowa biblioteka C ln (linker/loader)

System plików - /media 27 Zawiera punkty montowania dla mediów wymiennych, CDROM, dyskietki, taśmy itp.

Zawiera punkty montowania dla filesystemów montowanych tymczasowo System plików - /mnt 28 Zawiera punkty montowania dla filesystemów montowanych tymczasowo

Programy używane przez administratora systemu System plików - /sbin 29 Programy używane przez administratora systemu Inne lokalizacje tych programów - /usr/sbin, /usr/local/sbin

Kartoteka na zbiory tymczasowe System plików - /tmp 30 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

Kartoteka na pozostałe zbiory systemu System plików - /usr 31 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

Może zawierać opcjonalnie np. mail, games System plików - /var 32 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

Opcjonalny, lecz często występujący w systemach Unix System plików - /proc 33 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

System plików - rodzaje plików 34 Kartoteki Zwykłe pliki Link symboliczny, zwykły Pipe Pliki urządzeń – znakowych i blokowych

System plików - prawa do plików 35 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 użytkowników

System plików - prawa do plików 36 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

System plików - prawa do plików 37 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

System plików - prawa do plików 38 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

System plików - prawa do plików 39 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

System plików – montowanie i odmontowanie 40 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

System plików – montowanie i odmontowanie 41 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

System plików – montowanie i odmontowanie 42 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

System plików – montowanie i odmontowanie 43 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

System plików – tworzenie filesystemu 44 fdisk – program do podziału dysku na partycje fdisk urządzenie (np. /dev/hda) p – wyświetla istniejącą tablicę partycji n – tworzy nową partycję d - kasuje partycję l – wyświetla listę znanych typów partycji m – wyświetla help t – zmienia typ partycji w- zapisuje tablicę partycji na dysku q – wyjście bez zapisania zmian

System plików – tworzenie filesystemu 45 mke2fs – program do tworzenia w partycji filesystemu ext2/ext3 mkfs – program do tworzenia w partycji filesystemu. Jeśli nie podamy typu, utworzy ext2. Potrafi utworzyć filesystemy msdos, vfat, reiserfs, jfs... Wszystkie, dla których zainstalowano programy mkfs.typ Użycie: mke2fs urzadzenie (np. /dev/hda0) mkfs -t typ urzadzenie

System plików – tworzenie filesystemu 46 fdformat – program do formatowania dyskietki w formacie dos fdformat [-n] urzadzenie urzadzenie to /dev/fd0 (/dev/fd1) lub /dev/fd0d360 (minor = 4) /dev/fd0h1200 (minor = 8) . /dev/fd0H1440 (minor = 28) n – bez weryfikacji w niektórych systemach urządzenia inne niż fd0 trzeba utworzyć przez MAKEDEV

System plików – użyteczne polecenia 47 ls – wyświetla zawartość kartoteki cp – kopiuje pliki i kartoteki mv – przenosi plik w inne miejsce lub zmienia nazwę pliku more – wyświetla zawartość pliku znakowego od – wyświetla zawartość pliku ósemkowo, dziesiętnie, szesnastkowo lub znakowo df – wyświetla zajętość systemu plików du – wyświetla wielkość podkartotek mount – (bez parametrów) wyświetla zamontowane systemy plików

System plików – użyteczne polecenia 48 touch – tworzy nowy, pusty zbiór cat - wyświetla zawartość pliku lub plików, umożliwia łączenie plików grep – wyszukuje wzorcowy łańcuch w plikach tail – wyświetla koniec pliku rm – usuwa plik lub kartotekę rmdir – usuwa kartotekę mkdir – tworzy kartotekę ln – tworzy symboliczny link mkfifo – tworzy pipe chmod – zmienia prawa pliku chown – zmienia właściciela pliku

ln plik nazwa_linku – tworzy twardy link do wskazanego pliku 49 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 50 ? * - 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

poprzedzić go znakiem \ 51 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!

Jeden z podstawowych programów systemu Unix Postawy języków shell 52 Jeden z podstawowych programów systemu Unix Interpreter języka poleceń wydawanych w linii komend lub ze zbioru Klasyczna wersja – sh, odmiany csh, tcsh, bash, ksh W systemach Linux używany jest jako podstawowy bash - GNU Bourne-Again Shell, kompatybilny z SH Tworzy interfejs użytkownika do systemu Unix, do jego jądra, dlatego nazywany często powłoką

Postawy języków shell - bash 53 Separator (blank) – jedna lub więcej spacji lub znaków tabulacji Potok (pipeline) – znak | kieruje wyjście z jednego polecenia do wejścia następnego, na przykład: cat moj_list | grep Ania wyświetli te linie w zbiorze moj_list w których występuje wyraz Ania Lista (lists) – jeden lub więcej potoków oddzielonych operatorem ; & && lub ||, zakończonych opcjonalnie przez ; & lub nową linię

Postawy języków shell - bash 54 Potoki oddzielone operatorem ; wykonywane są sekwencyjnie – po skończeniu jednego wykonuje się kolejny Potoki oddzielone operatorem & wykonywane są równolegle – po uruchomieniu pierwszego wykonuje się kolejny. Będą pracowały równocześnie pipeline1 && pipeline2 – pipeline2 wykona się tylko wtedy, jeśli pipeline1 zakończy działanie bez błędu (status 0) pipeline1 || pipeline2 – pipeline2 wykona się tylko wtedy, jeśli pipeline1 zakończy działanie błędem (status <>0)

Postawy języków shell – bash. Polecenia złożone 55 for name [ in word ] ; do list ; done Lista word jest rozwijana, każde wystąpienie przypisywane jest zmiennej name i wykonywana jest lista list Przykład: >$ for I in a* ; do file $I ; done aaa: ASCII text aaa.zip: Zip archive data, at least v2.0 to extract aplik: directory

Postawy języków shell – bash. Polecenia złożone 56 if list; then list; [ elif list; then list; ] ... [ else list; ] fi Wykonywana jest lista po if. Jeśli zakończy się sukcesem, wykonywana jest lista po then, w przeciwnym wypadku wykonywane są kolejne elif. Jeśli żadna lista po if i elif nie zakończy się sukcesem, wykonywana jest lista po else. Przykład: >$ if ls | grep -q zip; then echo "jest"; else echo "brak"; fi brak >$ touch aaa.zip jest

Postawy języków shell – bash. Quoting 57 Pewne znaki i wyrazy mają specjalne znaczenie dla bash. Aby to zmienić, należy użyć 'quoting': znak \ wyłącza specjalne znaczenie następnego znaku. Jeśli następnym znakiem jest nowa linia, to sekwencja taka oznacza kontynuację linii. Dwa kolejne znaki \ oznaczają pojedynczy \ Ujęcie sekwencji znaków w parę ' wyłącza specjalne znaczenie wszystkich znaków w tej sekwencji Ujęcie sekwencji znaków w parę “ wyłącza specjalne znaczenie wszystkich znaków w tej sekwencji za wyjątkiem $, ` i \. Znaki * i @ uzyskują nowe znaczenie

Postawy języków shell – bash. Parameters 58 Parameter służy do przechowywania wartości. Może być to nazwa, liczba albo znak specjalny. Zmienna to parameter który jest nazwą. Tworzymy ją: nazwa=[wartosc] Jesli wartosc nie wystąpi, to tworzona jest zmienna, której wartością jest zerowy łańcuch Przykład: >$Imie=”Ewa” >$echo $Imie Ewa

Postawy języków shell – bash. Parameters 59 Positional parameter – określony jedną cyfrą różną od 0 lub kilkoma cyframi. Ich wartościami są kolejne parametry wywołania komendy. Przykład: >$cat -> aaa echo $1:$2:$3 >$chmod 777 aaa >$./aaa Nic nie rozumiem Nic:nie:rozumiem

Postawy języków shell – bash. Special Parameters 60 ? - status ostatnio wykonanego potoku $ - nasz numer procesu 0 – nazwa programu, który uruchomił nasz proces Przykład: >$cat -> aaa echo $0__$1:$2:$3 >$chmod 777 aaa >$./aaa Nic nie rozumiem ./aaa__Nic:nie:rozumiem

Postawy języków shell – bash. Expansion 61 mkdir /tmp/{kart1,kart2,kart3} tworzy trzy kartoteki o nazwach kart1, kart2, kart3 w kartotece /tmp echo ~uzytkownik wyświetla domyślną kartotekę użytkownika. Bez podania nazwy użytkownika wyświetla domyślną kartotekę aktualnego użytkownika ${parameter} – zostaje rozwinięte jako wartość parameter. Nawiasy są konieczne, jeśli po nazwie są znaki, które do niej nie należą, na przykład: >$Imie=Ewa >$echo ${Imie}12 Ewa12

Postawy języków shell – bash. Expansion 62 `polecenie` lub $(polecenie) – wykonywane jest polecenie, a to, co wyświetli, staje się częścią linii polecenie, w której konstrukcja została użyta. Na przykład: >$touch /tmp/{a,b,c,akuku} >$ls /tmp a b c akuku >$cat -> aaa a b c >$rm `cat aaa` >$la /tmp akuku

Postawy języków shell – bash. Przekierowanie wejścia i wyjscia 63 Każdy proces w unixie, jeśli tego nie zmienimy, pobiera dane ze standardowego wejścia (stdin), wysyła na standardowe wyjście (stdout). Ewentualne komunikaty o błędach kierowane są na standardowe wyjście błędów (stderr). W interaktywnym shell stdin to klawiatura, a stdout i stderr to ekran. Te trzy strumienie w sh można przekierować: > przekierowuje stdout < przekierowuje stdin stdin, stdout i stderr mają odpowiednio file descriptor 0, 1 i 2

Postawy języków shell – bash. Przekierowanie wejścia 64 [n]<word File descriptor n będzie pobierał dane z pliku word. Jeśli n zostanie pominięte, zostanie przyjęte 0, czyli stdin.

Postawy języków shell – bash. Przekierowanie wyjścia 65 [n]>word Użycie >> spowoduje dopisanie wyjścia do istniejącej zawartości zbioru. Wyjście do file descriptor n zostaje przekierowane do pliku word. Jeśli n zostanie pominięte, zostanie przyjęte 1, czyli stdout. Na przykład: ps ax >aaa 2>/dev/null spowoduje wyświetlenie stanu wszystkich procesów i zapisanie tego wydruku w zbiorze aaa. Ewentualne komunikaty o błędach zostaną zniszczone.

Postawy języków shell – bash. Alias 66 Pozwala na zastąpienie słowa ciągiem znaków. Słowo to użyte jako pierwsze w poleceniu zostanie zastąpione tym ciągiem znaków. Używane tylko w trybie interaktywnym. alias ll='ls -l' unalias ll alias bez parametrów wyświetla listę zdefiniowanych aliasów.

Postawy języków shell – bash. Operatory arytmetyczne i logiczne 67 i++ i-- ++i –i zwiększenie/zmniejszenie zmiennej i po/przed operacją o 1 + - znak (unary + -) ! ~ negacja logiczna i bitowa ** potęgowanie +- dodawanie, odejmowanie << >> przesunięcie bitowe w lewo i prawo <= >= < > porównanie == != równość i nierówność

Postawy języków shell – bash. Operatory arytmetyczne i logiczne 68 = *= /= %= += -= <<= >>= &= ^= |= przyporządkowanie wartości & ^ | bitowe and, xor, or && || logiczne and, or expr1?expr2:expr3 obliczenie warunkowe – jeśli expr1 = 1, to wykonywane expr2, jeśli 0, to expr3 expr1 , expr2 wyrażenie przecinkowe – wykonywane kolejno expr1, expr2, ale pozostaje tylko wynik expr2

Postawy języków shell – bash. Zadania (jobs) 69 Wykonując potok shell uruchamia zadanie. Może ono byś wykonywane w pierwszym planie (foreground) lub w tle (background). ^z przeniesienie zadania do background (jego wykonywanie zostanie wstrzymane) jobs – wyświetlenie zadań w background fg – przeniesienie zadania do foreground bg %n – uruchomienie wstrzymanego zadania w background kill %n – usunięcie zadania z background

Postawy języków shell – bash. Historia poleceń 70 Bash pamięta historię wydawanych poleceń (domyślnie 1000) w zbiorze ~/.bash_history !n !-n, !! – powtórz linię n, bieżącą minus n, poprzednią !lancuch – powtórz linię zaczynającą się od łańcucha !?lancuch[?] - powtórz linię zawierającą łańcuch ^lancuch1^lancuch2^ powtórz ostatnią linię, zastąp lańcuch1 łańcuchem2 klawisze starzałek w górę i w dół wyświetlają kolejne polecenia

Postawy języków shell – bash. Funkcje wbudowane 71 break [n] opuść pętlę for, while, until, select (lub n poziomów) cd dir – zmień kartotekę continue n – kontynuuj wykonywanie for, while, until (n – który poziom w górę) echo [arg ...] wyświetl argumenty oddzielone spacjami, zakończone nową linią exit [n] zakończenie pracy shell z kodem n help [wzór] – podpowiedź. history – wyświetla historię poleceń pwd – wyświetl bieżącą ścieżkę

Postawy języków shell – bash. Funkcje wbudowane 72 test expr lub [ expr ] - wylicza wyrażenie expr i zwraca wartość 0 lub 1 ! expr - negacja wyrazenie1 -a wyrazenie2 – and (-o - or) lancuch1 = lancuch2 łańcuchy równe (!= - nierówne) stala1 -eq stala2 – stałe równe (-ge, -gt, -le, -lt, -ne) plik1 -ef plik2 – plik1 nowszy (-ot – starszy) niż plik2 -c plik – istnieje plik i jest znakowy (-d – kartoteka, -e – po prostu istnieje) -r plik – istnieje i jest do odczytu (-w – do zapisu)

Postawy języków shell – bash. Przykład 73 #!/bin/sh echo "*******************************************" echo -e "Poczatek archiwizacji `date`" cd /home/automaty/kopie # usun stare kopie, zostanie jeden zestaw, z # ostatniego przebiegu rm *.gz NAME=fksa`date +%d%m%y` echo $NAME tar -cf $NAME /reszta1/fkdbfsa/*.dbf /reszta1/fkdbfsa/*.mem 2>/dev/null gzip $NAME

Postawy języków shell – bash. Przykład 74 echo Skladowanie na tasme: tar -cvf /dev/nst0 *.gz 2>/dev/null mt -f /dev/nst0 rewoffl # przeslij ftp do innego komputera ftp alpha.huta echo -e "Koniec archiwizacji `date`"

Uruchamianie i zatrzymywanie systemu 75 Pierwszy uruchamiany program - manager bootowania (boot loader). Lilo, GNU Grub – używane w Linuxie Przekazują sterowanie do jądra systemu (lub innego systemu operacyjnego) zbiory konfiguracyjne - /etc/lilo.conf, /etc/grub.conf zmiany w lilo.conf trzeba zapisać poleceniem /sbin/lilo Grub jest nowszy, ma większe możliwości

Uruchamianie i zatrzymywanie systemu 76 Pierwszym procesem uruchamianym po załadowaniu jądra jest init. Jest on ojcem wszystkich innych procesów Odczytuje plik /etc/inittab opisujący jakie procesy uruchomić Linia zawierająca initdefault podaje, w jakim trybie uruchomić system, np: id:5:initdefault:

Uruchamianie i zatrzymywanie systemu 77 0 – halt (zatrzymanie systemu, nie używac w inittab) 1 – single user – tryb jednoużytkownikowy 2 – wieloużytkownikowy, bez NFS 3 – wieloużytkownikowy 4 – nie używany 5 – X11 6 – reboot (przeładowanie systemu) tryby 7 – 9 są poprawne, ale nie używane Zmiana trybu pracy – tellinit n n = 0, 1, 2, 3, 5 lub 6 – przełączenie do innego trybu n= s lub S – do trybu 1 n = Q lub q - ponowne odczytanie inittab

Uruchamianie i zatrzymywanie systemu 78 W linuxie skrypty startowe są w kartotece /etc/rc.d Pierwszym uruchamianym skryptem jest rc.sysinit. Inicjuje on nazwę komputera, urządzenia, parametry jądra, ustawia czas systemowy, montuje swap i filesystemy, łąduje moduły jądra itp. Po jego skończeniu uruchamiane są skrypty w kartotece /etc/rc.d/rcn.d (n to numer poziomu). Uruchamiane są tylko te, których nazwa zaczyna się od litery S. Skrypty te to linki do plików w kartotece /etc/rc.d/init.d

Uruchamianie i zatrzymywanie systemu 79 Skrypty w kartotece /etc/rc.d/init.d pozwalają na zatrzymanie, uruchomienie, restart, sprawdzenie stanu zainstalowanych w systemie składników oprogramowania: # ./syslog stop Shutting down kernel logger: [ OK ] Shutting down system logger: [ OK ] # ./syslog start Starting system logger: [ OK ] Starting kernel logger: [ OK ] #./syslog status syslogd (pid 571) is running... klogd (pid 575) is running..

Uruchamianie i zatrzymywanie systemu 80 Skrypty startowe systemu czytają konfigurację ze zbiorów w /etc/sysconfig. Są tam informacje o strefie czasowej, języku, układzie klawiatury, wyglądzie konsoli, ustawieniach sieci itp. Są tam również skrypty do konfigurowania urządzeń, na przykład interfejsów sieciowych

Uruchamianie i zatrzymywanie systemu 81 Procesy uruchamiane podczas startu systemu mogą zakończyć swoje działanie po wykonaniu swojego zadania, albo pracować przez cały czas. Procesy które działają ciągle, świadcząc pewne usługi nazywamy daemonami. Niektóre procesy obsługujące usługi internetowe, które są potrzebne czasami uruchamiane są na żądanie przez superdaemon xinetd (inetd)

Monitorowanie stanu systemu 82 ps – procesy w systemie w – aktywni użytkownicy top – najaktywniejsze procesy vmstat – pamięć wirtualna, plik wymiany, obciążenie we/wy, procesora lsof – otwarte pliki df – zamontowane filesystemy i ich zajętość du – rozmiar podkartotek last – historia logowania użytkowników (zbiór wtmp)

Monitorowanie stanu systemu 83 dmesg - komunikaty jądra systemu lsmod – załadowane moduły jądra lspci – sprzęt przyłączony do szyny PCI lsusb – urządzenia przyłączone do USB filesystem /proc – informacje o procesach, zajętych zasobach, sprzęcie itp.

Monitorowanie stanu systemu 84 find – wyszukuje pliki o wskazanej nazwie, wielkości, czasie utworzenia, właścicielu (grupie), bez właściciela (grupy), prawach. Umożliwia dla znalezionych plików wykonanie dodatkowych operacji, na przykład: find . -mtime +14 -name "*.gz" -exec rm -f {} \; wyszukaj w bieżącej kartotece pliki modyfikowane (utworzone) dawniej niż 14 dni, z nazwą *.gz” i usuń je.

Sterowniki użytkownika zdefiniowane w: /etc/sysconfig/modules Funkcje sieciowe 85 Sterowniki urządzeń sieciowych ładowane jako moduły jądra, przez skrypt: /etc/rc.d/rc.sysinit Sterowniki użytkownika zdefiniowane w: /etc/sysconfig/modules

Funkcje sieciowe 86 /etc/sysconfig/network uruchamiany przez /etc/rc.d/rc.sysinit, ustawia zmienne środowiskowe, czytane później przez skrypty startowe /etc/rc.d/init.d/network i skrypty w /etc/sysconfig/network-scripts NETWORKING=yes HOSTNAME=kempny GATEWAY=195.164.200.62 GATEWAYDEV=eth0 FORWARD_IPV4="yes"

skrypty startowe i konfiguracja interfejsów sieciowych Funkcje sieciowe 87 /etc/sysconfig/network-scripts skrypty startowe i konfiguracja interfejsów sieciowych $>more ifcfg-eth0 # Broadcom Corporation|BCM4401 100Base-T DEVICE=eth0 BOOTPROTO=static BROADCAST=195.164.200.255 HWADDR=00:02:E3:3A:52:FC IPADDR=195.164.200.52 NETMASK=255.255.255.0 NETWORK=195.164.200.0 ONBOOT=yes TYPE=Ethernet

Interfejs sieciowy może mieć więcej niż jeden adres: Funkcje sieciowe 88 Interfejs sieciowy może mieć więcej niż jeden adres: $>more ifcfg-eth0:0 # Broadcom Corporation|BCM4401 100Base-T DEVICE=eth0:0 BOOTPROTO=static BROADCAST=195.164.199.255 IPADDR=195.164.199.5 NETMASK=255.255.255.0 NETWORK=195.164.199.0 ONBOOT=yes TYPE=Ethernet

Funkcje sieciowe 89 Ifconfig – programuje interfejsy sieciowe, wyświetla ich ustawienia i statystyki: ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:02:E3:3A:52:FC inet addr:195.164.200.52 Bcast:195.164.200.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:152 errors:0 dropped:0 overruns:0 frame:0 TX packets:132 errors:0 dropped:0 overruns:0 carrier:4 collisions:0 txqueuelen:1000 RX bytes:20858 (1.9 Mb) TX bytes:988724 (965.5 Kb) Interrupt:3

Funkcje sieciowe 90 Ifconfig – programuje interfejsy sieciowe, wyświetla ich ustawienia i statystyki: ifconfig eth0:0 195.164.199.52 netmask 255.255.255.0 Tworzy wirtualny interfejs eth0:0 i przypisuje mu adres IP 195.164.199.52 z maską 255.255.255.0

Pozostałe ścieżki dodać (usunąć) możemy poleceniem route: Funkcje sieciowe 91 Ścieżka default i ścieżki do sieci przyłączonych bezpośrednio do interfejsów tworzone są przy starcie systemu lub po zaprogramowaniu nowego interfejsu Pozostałe ścieżki dodać (usunąć) możemy poleceniem route: route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If] route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]

Wyświetlenie tablicy routingu – polecenie route lub netstat -rn Funkcje sieciowe 92 Wyświetlenie tablicy routingu – polecenie route lub netstat -rn Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 195.164.199.0 * 255.255.255.0 U 0 0 0 eth0 195.164.200.0 * 255.255.255.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth0 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default 195.164.200.250 0.0.0.0 UG 0 0 0 eth0

Nie uruchamiać bez wyraźnej potrzeby!! Funkcje sieciowe 93 Dynamiczne tworzenie tablicy routingu – daemony routed (protokół RIP) i gated (protokoły RIP, BGP, EGP, OSPF) Nie uruchamiać bez wyraźnej potrzeby!! Aby Linux pracował jako router, potrzebny wpis FORWARD_IPV4="yes" w /etc/sysconfig/network. Czasami ten wpis jest ignorowany, wtedy: echo 1 > /proc/sys/net/ipv4/ip_forward

Funkcje sieciowe 94 $> cat /etc/host.conf order hosts,bind $> cat /etc/resolv.conf domain stanpol.com.pl #nameserver 195.164.200.3 nameserver 195.164.200.62 W /etc/resolv.conf zdefiniowane jest nazwa domeny DNS. Polecenie domainname wyświetla i ustawia nazwę domeny NIS/YP !

Funkcje sieciowe $> cat /etc/hosts 95 $> cat /etc/hosts 127.0.0.1 localhost.localdomain localhost $> cat /etc/services telnet 23/tcp telnet 23/udp # 24 - private mail system smtp 25/tcp mail smtp 25/udp mail time 37/tcp timserver time 37/udp timserver

Funkcje sieciowe 96 netstat – stan połączeń sieciowych. Z opcjami alp wyświetla, które programy słuchają na portach ping - diagnostyka sieci, wysyła ramki ICMP. Opcje - -n bez DNS, -f flood, -s rozmiar ramki, -b na adres broadcast, -R zapis trasy traceroute, mtr - wyświetlenie trasy ramek. Traceroute używa domyślnie UDP (można zmienić na ICMP) nslookup, host – konwersja adresów IP i nazw z użyciem DNS

Funkcje sieciowe 97 ipchains – filtrowanie pakietów z dokładnością do interfejsu, adresów nadawcy i odbiorcy, portów iptables – firewall arpwatch – śledzi przyporządkowanie adresów IP adresom MAC nmap – narzędzie do skanowania zasobów sieciowych i wykrywania luk w bezpieczeństwie ettercap – sniffer, man in the middle – czasami przydatny dla administratora arp – wyświetla i modyfikuje tablicę ARP

Funkcje sieciowe 98 Serwery sieciowe działają jako samodzielne daemony, albo uruchamiane na żądanie przez daemon xinetd sendmail – poczta elektroniczna SMTP apache – serwer WWW squid – serwer w3cache vuftpd, vsftpd – serwery ftp tftp – serwer tftp pop3d, imap.d – serwery po3, imap4 lpd, cups – serwery drukarek samba – serwer (i klient) plików w sieciach Microsoft ntpd – serwer czasu telnetd, sshd – serwery telnet, ssh ....

Kopie bezpieczeństwa systemu 99 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

Kopie bezpieczeństwa systemu 100100 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

Kopie bezpieczeństwa systemu 101101 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

Kopie bezpieczeństwa systemu 102102 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

Kopie bezpieczeństwa systemu 103103 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

Kopie bezpieczeństwa systemu 104104 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.

operuje zawsze na pojedynczej linii tekstu Edytory ed, vi - ed 105105 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

Edytory ed, vi - ed 106106 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ę

Zakres linii – dwa adresy linii oddzielone znakiem , Edytory ed, vi - ed 107107 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 ,

Edytory ed, vi ed 108108 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.

Edytory ed, vi - ed 109109 Podstawowe komendy q – opuszczenie edytora w [plik] - zapisanie zmian, opcjonalnie do innego pliku r plik -wczytanie zbioru i dopisanie za bieżącą linią

Edytory ed, vi - ed Przykładowa sesja >$ cd /etc >$ ed inittab 110110 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 Edytory ed, vi - vi 111111 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

:q! wyjście z anulowaniem zmian :wq lub ZZ – zapis zmian i wyjście Edytory ed, vi - vi 112112 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 Edytory ed, vi - vi 113113 tryb wprowadzania tekstu tryb komend tryb liniowy

W trybie liniowym można wprowadzać polecenia edytora ed Edytory ed, vi - vi 114114 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ę Edytory ed, vi - vi 115115 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

esc – wyjście z trybu wprowadzania tekstu r – zastąp jeden znak nowym Edytory ed, vi - vi 116116 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

Edytory ed, vi - vi Podstawowe komendy 117117 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: Edytory ed, vi – vi 118118 Makropolecenia 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

Klasyczny sposób instalacji oprogramowania w Unix - Pakiety rpm 119119 Klasyczny sposób instalacji oprogramowania w Unix - programy w wersji źródłowej, spakowane tar >$ tar -vxf pakiet.tar >$ cd pakiet >$ ./configure >$ make >$ make install >$ make clean Podstawowa wada – po zainstalowaniu trudno zapanować, gdzie zostały skopiowane poszczególne komponenty

Pakiety rpm 120120 Pakiety rpm zawierają archiwum plików i dane pomocnicze używane do instalowania i usuwania plików z archiwum Po zainstalowaniu pakietu w bazie danych pamiętana jest informacja o zainstalowanych składnikach – gdzie zostały zainstalowane, jaka powinna być ich suma MD5 i atrybuty – umożliwia to dokładne odinstalowanie oprogramowania i sprawdzenie jego zgodności z oryginałem

Do zarządzania pakietami rpm służy program rpm Pakiety rpm 121121 Pakiety rpm występują w dwu wariantach, zawierających skompilowane, binarne programy do zainstalowania (binary rpm) lub programy źródłowe i zasady ich kompilacji (source rpm) Do zarządzania pakietami rpm służy program rpm Baza danych zainstalowanych pakietów przechowywana jest w /var/lib/rpm

Instalowanie nowych pakietów Uaktualnianie pakietów: Pakiety rpm 122122 Instalowanie nowych pakietów rpm {-i|--install}[install-options] PACKAGE_FILE ... Uaktualnianie pakietów: rpm {-U|--upgrade}[install-options] PACKAGE_FILE ... PACKAGE_FILE może być podane jako URL - http lub ftp. Ważniejsze opcje: --force – wymuszaj instalację nawet gdy jest konflikt z innymi pakietami --nodeps – nie sprawdzaj zależności od innych pakietów

Pakiety rpm Usuwanie pakietów 123123 rpm {-e|--erase}[--nodeps] [--test] PACKAGE_FILE ... --test – nie usuwaj pakietu, symuluj usuwanie

Ważniejsze select-options: Pakiety rpm 124124 Pytania o pakiety rpm {-q|--query} [select-options] [query-options] Ważniejsze select-options: PACKAGE_FILE – zainstalowany pakiet o tej nazwie -all – wszystkie zainstalowane pakiety -f PLIK – pakiet do którego należy PLIK -p PACKAGE_FILE nie zainstalowany pakiet o tej nazwie Ważniejsze query-options: -i, --info – podaj nazwę, wersję i opis pakietu -l, --list – wyświetl pliki w pakiecie

wyświetli nazwy wszystkich zainstalowanych pakietów Pakiety rpm 125125 Pytania o pakiety Przykład: rpm -q -all -i |grep Name wyświetli nazwy wszystkich zainstalowanych pakietów rpm -q ethtool -i wyświetli informacje o zainstalowanym pakiecie ethtool

Pakiety rpm Weryfikacja pakietów 126126 Weryfikacja pakietów rpm {-V|--verify} [select-options] [verify-options] select-options jak przy query, verify-options umożliwia wyłączenie niektórych sprawdzeń Sprawdza rozmiar, sumę MD5, pozwolenia, typ, właściciela i grupę każdego pliku z pakietu porównując z zapamiętaną w bazie danych. Przykład: rpm -V -f /etc/inittab ..5....T c /etc/inittab S.5....T c /etc/rc.d/rc.local

Pakiety rpm - yum komendy: yum [opcje] [komenda] pakiet...] install 127127 yum [opcje] [komenda] pakiet...] komendy: install update (upgrade) remove (erase) localinstall, localupdate (instaluj z lokalnego rpm, ewentualne zależności z repozytorium)

Protokół X opracowano w połowie lat 80, pierwotnie dla Unix Interfejsy graficzne 128128 Protokół X opracowano w połowie lat 80, pierwotnie dla Unix Obecnie wersja X11R6.8.2 Architektura klient-serwer Inaczej niż w Windows, klient i serwer mogą komunikować się przez sieć Serwer obsługuje ekran, klientem jest aplikacja, która z niego korzysta

Wyświetla informację na ekranie Odpowiada na pytania klienta Interfejsy graficzne 129129 Serwer: Wyświetla informację na ekranie Odpowiada na pytania klienta Wysyła komunikaty o błędach Wysyła komunikaty o zdarzeniach Obsługuje mysz, klawiaturę i ekran Tworzy i zamyka okienka, wyświetla informacje w okienkach

Wysyła polecenia do serwera Interfejsy graficzne 130130 Klient: Wysyła polecenia do serwera Odbiera informacje o zdarzeniach od serwera (np. o kliknięciu myszką) Odbiera informacje o błędach od serwera

monitor (typ, częstotliwości odchylania) mysz (liczba klawiszy, rolka) Interfejsy graficzne 131131 Konfiguracja Xserwera w zbiorze /etc/xorg.conf (dawniej - /etc/X11/XF86config) Opisuje: monitor (typ, częstotliwości odchylania) mysz (liczba klawiszy, rolka) klawiaturę (liczba i układ klawiszy, wersja językowa) kartę wideo sposób korzystania z czcionek

Czcionki obsługuje serwer czcionek, xfs Interfejsy graficzne 132132 Czcionki obsługuje serwer czcionek, xfs Konfiguracja xfs w zbiorze /etc/X11/fs/config Komunikacja pomiędzy xfs i X serwerem poprzez sieć

Serwer czcionek uruchamiany jest skryptem /etc/rc.d/init.d/xfs Interfejsy graficzne 133133 Serwer czcionek uruchamiany jest skryptem /etc/rc.d/init.d/xfs X-serwer uruchamia skrypt /usr/X11R6/bin/startx Startx ustawia konfigurację (zbiory /etc/X11/xinit/xinitrc i .xinitrc), po czym uruchamia program binarny /usr/X11R6/bin/xinit

Managery windows – programy zarządzające oknami w X serwerze Interfejsy graficzne 134134 Managery windows – programy zarządzające oknami w X serwerze FVWM, AfterStep, Enlightenment, IceWM, Sawfish... Umożliwiają zmianę tła, wyglądu okien itp.

Interfejsy graficzne 135135 Managery pulpitu – programy zapewniające pełniejszy interfejs do systemu operacyjnego, zawierają własne wbudowane narzędzia i aplikacje KDE i Gnome

KDE – nowoczesny manager pulpitu utworzony w QT Interfejsy graficzne 136136 KDE – nowoczesny manager pulpitu utworzony w QT Zawiera własny manager okien – kwm Posiada przeglądarkę WWW, wbudowany help, przeglądarkę PDF, HTML, klienta poczty i wiele innych Przetłumaczony na ponad 50 języków

Zawiera własny manager okien – kwm Zdobywa coraz większą popularność Interfejsy graficzne 137137 GNOME – nie posiada własnego managera okien, najczęściej używany jest Sawfish, ale działa też z innymi (Icewm, enlightenment) Zawiera własny manager okien – kwm Zdobywa coraz większą popularność Do współpracy z GNOME powstaje coraz więcej aplikacji