systemy operacyjne - podstawy pracy w systemie linux · podstawy pracy w systemie linux andrzej...

30
Institute of Computing Science Poznan University of Technology Systemy Operacyjne podstawy pracy w systemie linux Andrzej Stroiński [email protected] February 28, 2017

Upload: ngonhi

Post on 28-Feb-2019

255 views

Category:

Documents


0 download

TRANSCRIPT

Institute of Computing SciencePoznan University of Technology

Systemy Operacyjnepodstawy pracy w systemie linux

Andrzej Stroiń[email protected]

February 28, 2017

1

Content

WstepMateriałyZasady zaliczeniaMotywacja

Srodowisko pracyterminalPolecenia

Pomoc systemowahelpmanaproposinfo

Interpreter polecenhistoryskróty terminalanazwy uogólnione

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

2

Wstepmateriały

I Warto przejrzec inne zródła:I Uzytkowanie systemu operacyjnego UNIX - dr D.WawrzyniakI Systemy operacyjne - skrypt - dr C.SobaniecI Strona przedmiotuI Strona Dr A.KobusinskiejI Strona K.SiekaI pomoc systemowa manI inne...

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

3

Wstepzasady zaliczenia

Na ocene koncowa z laboratorium składaja sie:I test — 60% oceny koncowejI skrypt — 30% oceny koncowejI inne (wejsciówki, zadania domowe, aktywnosc) — 10% oceny

koncowejWymagana jest obecnosc na wszystkich zajeciach

I na dwóch zajeciach wolno nie byc bez podania przyczyny — niewpływa to na ocene koncowa

I brak obecnosci na połowie lub wiecej zajec skutkujeniezaliczeniem zajec

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

4

Wstepmotywacja

Dlaczego linux:I darmowyI open sourceI wiodace rozwiazanie serwerowe

Srodowisko:I tekstoweI graficzne (Unity, KDE, GNOME, MATE, Pantheon)

Dystrybucje:I Debian, Ubuntu, Mint, ElementaryOS (.deb)I OpenSuse, Fedora (.rpm)I Arch, Manjaro (.pact)

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

5

Srodowisko pracyTerminal

I Zaloguj sie do systemu podajac login i hasło.I Uruchom program Terminal (pozycja Terminal Program z menu)

TerminalTo interfejs pomiedzy uzytkownikiem a jadrem systemu operacyjnego.W momencie zalogowania sie uzytkownika, program ”logujacy”sprawdza czy zgadzaja sie podane login i hasło. W przypadkuudanego logowania uruchamiany jest program powłoki. Powłoka jestinterpreterem linii polecen ang. command line interpreter (CLI).Celem jej jest interpretacja wpisywanych przez uzytkownika polecen iprzekazanie obsługi ich do odpowiednich aplikacji. Polecenia sa wpraktyce programami. Po ich zamknieciu powłoka wypisuje znakzachety.

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

6

Srodowisko pracyTerminal

I Wykonaj dowolne polecenie np. ls wpisujac je zwyczajnie woknie terminala. (znaczenie polecenia zostanie wyjasnionepózniej)

Znak zachety<user_name>@<mashine>:<current_dir><prompt><user_name> — nazwa zalogowanego uzytkownika<mashine> — nazwa zalogowanego uzytkownika<current_dir> — nazwa zalogowanego uzytkownika<prompt> — znak zachety np. "$" - dla zwykłego uzytkownika "#" -dla administratoraPrzykład:[email protected]:˜/pp/$ ls

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

7

Srodowisko pracyTerminal

Skróty terminalaCrtl-Alt-F1 — uruchomienie terminala tekstowego Alt-F1 ... Alt-F2 ...— przełaczanie sie na kolejne terminale tekstoweCrtl-Alt-F7 — powrót do srodowiska graficznegoShift-Crtl-n — otwórz nowy terminal (w srodowisku graficznym)Shift-Crtl-q — zamknij terminal (w srodowisku graficznym)Shift-LEFT — poprzedni terminal (srodowisko graficzne)Shift-RIGHT — nastepny terminal (srodowisko graficzne)Shift+PgUp — przewin terminal w góre (tryb tekstowy)Shift+PgDown — przewin terminal w dół (tryb tekstowy)

I Przejdz do konsoli tekstowej i zaloguj sie. Pozmieniaj terminale.I Wróc z powrotem do trybu graficznego. Pobaw sie podanymi

skrótami.

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

8

Srodowisko pracyPolecenia

Anatomia wywołania polecenia[inf70000@unixlab ˜]$ yaourt -Sy –clean docutils

I string zachetyI nazwa komendyI krótkie opcje: [ -O [VALUE] ]...I długie opcje: [ –OPTARG[=VALUE] ]...I argumenty: [ARG]...

I Uwagi:I wrazliwe na wielkosc literI bardzo potezne i niebezpieczne narzedzie — nalezy byc ostroznym

korzystajac z terminalaI Przykład:

I $ lsI $ ls -a

I $ ls -/homeI $ ls -a /home

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

9

Srodowisko pracyPolecenia

passwdProgram pozwalajacy uzytkownikowi na zmiane hasła. Na poczatkupyta o stare hasło uzytkownika, a nastepnie prosi o dwukrotnepodanie nowego. W przypadku uruchomienia bez parametru zmianahasła dotyczy aktualnie zalogowanego uzytkownika.Składnia: passwd [nazwa_użytkownika]Przykład: $ passwd

I zmien hasło poleceniem passwdI zmien hasło poleceniem passwd z podaniem nazwy uzytkownika

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

10

Srodowisko pracyPolecenia

exitProgram pozwalajacy na opuszczenie programu, terminala orazwylogowanie sie z sieci Unix.Składnia: exitPrzykład: $ exit

logoutWyloguj z powłoki.Składnia: logoutPrzykład: $ logout

I Wyloguj sie z systemu za pomoca jednego z wyzejwymienionych polecen.

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

11

Srodowisko pracyPolecenia

whoPolecenie pokazuje kto jest zalogowany do systemu.Składnia: who [OPTION]... [ FILE | ARG1 ARG2 ]-s — wypisz tylko najwazniejsze dane: nazwa, terminal, data.-b — czas ostatniego uruchomienia systemu...Przykład: $ who

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

12

Srodowisko pracyPolecenia

idPolecenie pokazuje faktyczne numery UID, GID oraz grupy doktórych nalezy dany uzytkownik.Składnia: id [options] [username]-g — wypisz tylko GID-u — wypisz tylko UID-n — razem z -u i -g wypisuje nazwy nie numer...Przykład: $ id

whoamiWypisuje UID w postaci nazwy nie numeru. Polecenie równowazneid -un.Składnia: whoamiPrzykład: $ whoami

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

13

Pomoc systemowahelp

helpDla wiekszosci programów z linii polecen mozna uzyc tzw. pomocykontekstowej. Przedstawia ona podstawowe informacje jak uzywacpolecenia. Wystarczy zaraz za nazwa polecenia dodac przełacznik--help.Składnia: <polecenie> --helpPrzykład: $ ls --help

I Wyswietl informacje o poleceniu passwd.

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

14

Pomoc systemowaman

manZdecydowanie bardziej rozbudowana pomoca jest tzw. podstawowapomoc systemowa czyli aplikacja man. Funkcjonuje niemalze wkazdym systemie z rodziny Unix i pomimo swojego wieku stale jestpodstawowym zródłem informacji dla uzytkownika systemu. Pomocdo polecenia man mozna oczywiscie pokazac korzystajac z poleceniaman man. Zródłem danych dla polecenia man jest katalog:/usr/share/man.Składnia: man <polecenie>Przykład: $ man ls

I Wyswietl informacje o poleceniu passwd.

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

15

Pomoc systemowaman

Obsługa (skróty klawiszowe) polecenia manq — wyjscieEnter, j, k — przewijanie liniamiSpacja, Crtl-f, Crtl-b, Crtl-d, Crtl-u — przewijanie stronamig, G — przejscie na poczatek/koniec pliku/ — rozpoczecie wyszukiwania tekstun, N — przejscie do nastepnego/poprzedniego wystapienia słowa

I Wyswietl informacje o poleceniu passwd. Nastepnie przewijajstrone pomocy liniami, stronami itd. Wyszukaj słowo pass. Czyznajdowane jest wystapienie dokładnie tego słowa?

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

16

Pomoc systemowaman

Zmiana jezyka — pomocy i komunikatówW celu uzyskania dostepu do stron pomocy w jezyku polskim nalezyustawic zmienna srodowiskowa LANG w nastepujacy sposób:export LANG=pl_PL.UTF-8gdzie pl oznacza jezyk polski, PL oznacza Polske, UTF-8 oznaczastandard kodowania znaków. W przypadku problemu zwyswietlaniem niektórych znaków narodowych ustaw zmienna LANGnastepujaco:export LANG=pl_PLnastepnie wybierz z okna terminala kodowanie ISO 8859-2(Settings/Encoding).

I Przecwicz zmiane jezyka czytajac pomoc w róznych jezykach,oraz wyswietlajac komunikaty np. polecenia $ rm abcdef.Przykładowe inne słowniki to: de_DE.UTF-8, fr_FR.UTF-8,ru_RU.UTF-8, zh_TW.UTF-8.

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

17

Pomoc systemowaman

Sekcje pomocyPomoc systemowa została podzielona na rozne sekcje tematyczne.W kazdej z sekcji moga wystepowac te same polecenia (w innychkontekstach), nalezy okreslic z której sekcji tematycznej chcemykorzystac. Słuzy do tego polecenie:Składnia: man <numer_sekcji> <polecenie>Przykład: man 1 passwdSekcje pomocy:

I 1: poleceniaI 2: funkcje systemoweI 3: funkcje biblioteczneI 4: pliki specjalne

I 5: formaty plikówI 6: gryI 7: rózneI 8: polecenia

administracyjne

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

18

Pomoc systemowaman

I Odwołaj sie do róznych sekcji pomocy systemowej, np.I $ man sleepI $ man 3 sleep

Uwaga!Zapis sleep(3) oznacza strone pomocy systemowej dla hasła sleepznajdujaca sie w sekcji 3.

whatisPrzeszukuje strony we wszystkich sekcjach tematycznych pomocy.Zwraca jednozdaniowy opis dotyczacy stron w pomocy (wraz zwskazaniem sekcji) na temat wyspecyfikowanego w argumenciepolecenia.Składnia: whatis <polecenie>Przykład: $ whatis sleep

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

19

Pomoc systemowaapropos

aproposPrzeszukuje strony we wszystkich sekcjach tematycznych pomocy.Zwraca jednozdaniowy opis dotyczacy stron w pomocy (wraz zwskazaniem sekcji) na temat wyspecyfikowanego w argumenciesłowa. Działa bardzo podobnie do polecenia whatis ale przeszukujebaze danych dopasowywujac słowa, a nie polecenia. Moznakorzystac z wyrazen regularnych.Składnia: apropos <słowo>Przykład: $ apropos directoryPrzykład II: $ apropos "make.*director"

Uwaga!Zapis ".*" jest fragmentem wyrazenia regularnego, oznaczajacegodowolny ciag znaków (równiez pusty).

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

20

Pomoc systemowaapropos

I Dowiedz sie gdzie mozna znalezc informacje w pomocy na tematpolecenia ls?

I Dowiedz sie gdzie wystepuje w pomocy informacja na tematmetody sleep

I Nastepnie otwórz sekcje opisujace metode sleep.I Co sie stanie gdy odwołasz sie do strony w pomocy, której nie

ma?

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

21

Pomoc systemowainfo

infoAlternatywnym programem do polecenia man udzielajacymuzytkownikowi niezbednych informacji jest polecenie info. Niektórenowe programy w stronach podrecznikowych man wyswietlaja tylkoinformacje, ze nalezy otworzyc strone pomocy za pomoca poleceniainfo.Zródłem informacji dla polecenia jest katalog: /usr/share/infoSkładnia: info <polecenie>Przykład: $ info sleep

pinfoAlternatywna przegladarka do plików pomocy to pinfo.Składnia: pinfo <polecenie>Przykład: $ pinfo sleep

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

22

Pomoc systemowazadanie

I Wykorzystujac zdobyta wiedze, na temat pomocy systemowejodszukaj informacje o nastepujacych katalogach: /etc, /bin,/usr, /tmp, /var, /home, /dev. Podpowiedz: hier(7).

I Korzystajac z pomocy systemowej do czego słuzy polecenie diri jakie ma mozliwosci.

I Przygotuj przykładowa strone pomocy systemowej do wydruku iobejrzyj ja na ekranie:

I $ man -t ls > out.psI $ gv out.ps lub $ kghostview out.ps

I Sprawdz do czego słuza przełaczniki -p, -l, -m poleceniafinger.

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

23

Interpreter polecenhistory

historyPolecenie wyswietla na standardowym wyjsciu historie ostatniowykonanych polecen.UP — poprzednie polecenie z historiiDOWN — kolejne polecenie w historiiCrtl-r — interaktywne poszukiwanie polecenie w historiiPolecenie: $ !124 — wykonanie 124 polecenie z historii

I Wykonaj 5 polecenie od konca.I Wykonaj 74 polecenie z historii.I Przecwicz interaktywne wyszukiwanie w historii.

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

24

Interpreter polecenskróty terminala

Skróty terminalaShift-UP, Shift-DOWN — przewijanie zawartosci okna terminala(tryb graficzny jak i tekstowy)Crtl-a, Crtl-e — przejscie na poczatek/koniec liniiCrtl-f, Crtl-b — zmiana pozycji kursora o jeden znakCrtl-k — usuniecie tekstu do konca wierszaCrtl-w — usuniecie poprzedniego słowaCrtl-c — przerwanie działania poleceniaCrtl-z — uspienie działajacego procesuCrtl-l — oczyszczenie ekranuPolecenie: $ clear — oczyszczenie ekranu

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

25

Interpreter polecenskróty terminala

I Przecwicz mechanizm automatycznego uzupełniania nazwprogramów i plików:$ mk<Tab><Tab>d<Tab>

I Znajdz ten sposób wszystkie programy zaczynajace sie na pr i x.Uzupełnianie nazw plików przecwicz w swoim katalogudomowym:$ ls p<Tab>

I Spróbuj wyswietlic zawartosc katalogu/usr/share/doc/packages, na kazdym etapie w maksymalnymstopniu wykorzystujac automatyczne uzupełnianie nazwkatalogów.

I Uruchom program $ sleep 10 i przerwij jego działanie.I Przecwicz przedstawione na poprzednim slajdzie skróty.

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

26

Interpreter polecennazwy uogólnione

Nazwy uogólnioneJest to mechanizm pozwalajacy na odwoływanie sie z linii polecen dobardzo uogólnionej nazwy parametru polecenia. Ma to na celu np.adresowac cała grupe plików spełniajacych dane kryterium. * —dowolny ciag znaków? — pojedynczy znak[] — pojedynczy znak ze wskazanego zbioruUwaga!: nazwy uogólnione to inny mechanizm niz wyrazeniaregularne!

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

27

Interpreter polecennazwy uogólnione

I Zastosuj nazwy uogólnione w odwołaniach do plików, stosujacznaki specjalne. W celu wykonania cwiczenia utwórz komendatouch puste pliki o róznych nazwach:$ touch a.txt b.txt c.txt$ touch a.dat b.dat ab.dat$ ls *.txt$ ls a*$ ls *.*$ ls [ab].txt$ ls ?.dat$ ls *.???

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

28

Interpreter polecennazwy uogólnione

I Wyswietl liste jednoznakowych programów z katalogu /usr/bin.Nastepnie wyswietl analogiczna liste trzyznakowych programówz tego katalogu. Zastosuj przełacznik -d komendy ls (zobaczdokumentacja man). Wyswietl programy dwuliterowe złozone zliter "a", "b" i "c". Wyswietl programy zawierajace przynajmniejjedna wielka litere i jedna cyfre.

Andrzej Stroinski | Systemy Operacyjne — podstawy pracy w systemie linux

Dzieki za uwage!