Úvod do Operačních Systémů

Podobné dokumenty
Seznámení se shellem, textové editory numerické výpočty

Přednáška 8. Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. Úvod do Operačních Systémů Přednáška 8

Úvod do Operačních Systémů

Úvod, jednoduché příkazy

Úvod do Operačních Systémů

Cvičení 2. Přesměrování vstupu a výstupu. Posloupnost příkazů. Příkazy pro informaci o uživatelích

Unix je víceuživatelský a víceúlohový OS

PRACUJEME S SHELLEM Ať žije BASH.

Úvod do Operačních Systémů

Příkazová řádka. predn_02.odt :55:55 1

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici

Úvod do Operačních Systémů

PSK3-7. Plánované spouštění programů a správce sezení. Skupiny procesů

Úloha 3 editor a skripty. připojte se vzdáleně na dray6.feld.cvut.cz heslo získáte na adrese

C2110 Operační systém UNIX a základy programování

Základy operačního systému LINUX část III

LINUX přesměrování a roury

ABC Linux běží z CD české prostředí tištěná příručka obsah portálu Mutt Jak začít? Jan Fuchs

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Linux-příkazový řádek

Přednáška 5. Identita uživatelů, procesů a souborů. Přístupová práva a jejich nastavení. Úvod do Operačních Systémů Přednáška 5

Úvod. unx-predn_01-uvod.odt :13:43 1

Střední odborná škola a Střední odborné učiliště, Hořovice

Přednáška 1. Úvod. Historie OS Unix. Architektura OS Unix. Interpret příkazů. SHELL. Zpracování příkazové řádky. Speciální znaky. Zkratky příkazů.

Základní příkazy UNIXu (Linuxu)

Základní příkazy pro práci se soubory

Úvod do Linuxu. SŠSI Tábor 1

Přednáška 1. Úvod. Historie OS Unix. Architektura OS Unix. Interpret příkazů SHELL. Zpracování příkazové řádky. Speciální znaky. Zkratky příkazů.

Operační systémy. Cvičení 3: Programování v C pod Unixem

Proměnné a parametry. predn_08.odt :00:38 1

C2110 Operační systém UNIX a základy programování

Operační systémy. Cvičení 1: Seznámení s prostředím

A7B38UOS Úvod do operačních systémů. 6. Cvičení. Příkazy sed a awk

Úvod do UNIXu. Okruh č. 4 - vi, regulární výrazy, grep a sed. Jakub Galgonek. verze r2. inspirováno materiály Davida Hokszy

Martin Kopta. Unixové shelly. Středisko Unixových Technologií, 2009

Skripty - úvod. Linux - skripty 2

PŘÍKAZY OVLÁDÁNÍ SHELLU

Úvod do Operačních Systémů

PŘESMĚROVÁNÍ VÝSTUPU DO SOUBORU

Identita uživatelů, přístupová práva. Linux

Základní příkazy OS UNIX

ZOS CV1 Základy operačních systémů

BASH. Kouzla s příkazovou řádkou. Petr Koloros

Úvod do Operačních Systémů

PSK3-3. Základní příkazy. Zápis cesty

UŽIVATEL, SKUPINA, PROCES

Úvod do UNIXu. Okruh č. 1 - přihlášení, historie, práce se soubory. Jakub Galgonek. verze r1. inspirováno materiály Davida Hokszy

Systém souborů (File System)

C2110 Operační systém UNIX a základy programování

Administrace OS Unix. Úvodní informace Principy administrace Uživatelé

Studium enzymatické reakce metodami výpočetní chemie

Rozšíření ksh vůči sh při práci s proměnnými

Regulární výrazy a grep

Téma 2: Práce s commands. Téma 2: Práce s Commands

Západočeská univerzita v Plzni. Správce virtuálních strojů

PŘÍKAZY PRÁCE SE SLOŽKAMI

Předmluva 23 1 Vítejte ve světě Linuxu 33. ČÁST 1 Operační systém Linux 49

FILTRY V GNU/LINUXU ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště

Nápověda k aplikaci EA Script Engine

Domácí příprava k předmětu YD38UOS Úloha 10 práce s lokálními soubory pokračování

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

Paralelní výpočty na clusteru KMD

Speciální soubory. Editace příkazové řádky. $ fg mp3blaster $./skript.sh. [2]+ Stopped./skript.sh $ bg [2]+./skript.sh & $ fg 2./skript.

ČÁST 1. Základy 32bitového programování ve Windows

Základy práce na PC. Ing. Jan Roubíček

Nastroje na zpracovani textu:

Django. Webový framework pro Python Projekt = webová stránka Aplikace = určitá funkcionalita webu

Sekvenční a podmíněné provádění

Lekce 25 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

ÚVOD DO UNIXU. Metodický list č. 1

Přednáška 6. Procesy a vlákna (vznik, stavy, atributy). Signály. Nástroje pro práci s procesy a vlákny. Úvod do Operačních Systémů Přednáška 6

Příkaz find, práce s procesy a úlohami, plánování úloh

MS Word. verze Přehled programů pro úpravu textu

PŘÍKAZOVÝ ŘÁDEK ZÍSKÁVÁNÍ NÁPOVĚDY

Instalace Dosemu na Linux Ubuntu 12.04

Jemny u vod do operacˇnı ho syste mu Linux

2.2 Acronis True Image 19

Jednoduchý návod k použití programu Vinotéka 2007, v 2.2.1

KIV/ZIS cvičení 6. Tomáš Potužák

Téma 8: Konfigurace počítačů se systémem Windows 7 IV

Obsahy kurzů MS Office

Počítačové sítě Systém pro přenos souborů protokol FTP

Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru

Střední odborná škola a Střední odborné učiliště, Hořovice

more Program se zastaví vždy po vypsání jedné stránky textu. Ukončení Ctrl+C less Umožňuje pohybovat se v souboru dopředu i dozadu.

Obsah. 1 Úvod do Visia Práce se soubory 47. Předmluva 11 Typografická konvence použitá v knize 13

PSK3-9. Základy skriptování. Hlavička

1. Uživatelská úprava příkazů II.

Operační systém UNIX

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R

Koncepce (větších) programů. Základy programování 2 Tomáš Kühr

LINUX uživatelské účty (1)

MS PowerPoint ZÁKLADY

Správce virtuálních strojů

Maturitní téma: Operační MS-DOS

ZŠ ÚnO, Bratří Čapků 1332

KIV/ZIS cvičení 5. Tomáš Potužák

Microsoft. Word. Hromadná korespondence. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

Základy IOS, Přepínače: Spanning Tree

Popis programu EnicomD

Transkript:

Úvod do Operačních Systémů 2. cvičení Seznámení se shellem, editor vi 1

Obsah Zpracování příkazové řádky Práce se znaky se speciálním významem Práce s proměnnými, prompt Aliasy Historie Editor vi 2

Formátování data a času Pomocí příkazu date vypište aktuální datum a čas ve tvaru: Dnes je pondeli, 9.10.2006 (42. tyden). Prave je 08:35:49 [MEST]. Nápověda: man date export LANG=cs_CZ 3

q ukončení (quit) f,space následující stránka (forward) b predešlá stránka (backward) g začátek (n-tý řádek) G konec (n-tý řádek) /str následující výskyt řetězce str?str předcházející výskyt řetězce str n následující výskyt N předcházející výskyt = informace o souboru v editace souboru Ovládání programu less + 4

Zpracování příkazové řádky I Detekce znaků rušících speciální význam (Quoting) ' ' \ Odstranění komentářů (Comments) Rozdělení řádky (Lists) na jednotlivé příkazy (Pipelines) Přesměrování (Redirection) Expanze speciálních znaků Rozdělení na slova (Word splitting) Náhrada jmen souborů (Pathname expansion) Hledání (spuštění) příkazů 5

Zpracování příkazové řádky II Detekce znaků rušících speciální význam (Quoting) Odstranění komentářů (Comments) # Př.: date # ls Rozdělení řádky (Lists) na jednotlivé příkazy (Pipelines) Přesměrování (Redirection) Expanze speciálních znaků Rozdělení na slova (Word splitting) Náhrada jmen souborů (Pathname expansion) Hledání (spuštění) příkazů 6

Zpracování příkazové řádky III Detekce znaků rušících speciální význam (Quoting) Odstranění komentářů (Comments) Rozdělení řádky (Lists) na jednotlivé příkazy (Pipelines) ; & && Př.: date wc -wc Přesměrování (Redirection) Expanze speciálních znaků Rozdělení na slova (Word splitting) Náhrada jmen souborů (Pathname expansion) Hledání (spuštění) příkazů 7

Zpracování příkazové řádky IV Detekce znaků rušících speciální význam (Quoting) Odstranění komentářů (Comments) Rozdělení řádky (Lists) na jednotlivé příkazy (Pipelines) Přesměrování (Redirection) > < >> << <<KONEC >& Př.: ls -l > s1 ; cat s1 date > s1 ; cat s1 date >> s1 ; cat s1 Expanze speciálních znaků Rozdělení na slova (Word splitting) Náhrada jmen souborů (Pathname expansion) Hledání (spuštění) příkazů 8

Zpracování příkazové řádky IV Detekce znaků rušících speciální význam (Quoting) Odstranění komentářů (Comments) Rozdělení řádky (Lists) na jednotlivé příkazy (Pipelines) Přesměrování (Redirection) > < >> << <<KONEC >& Př.: cat <<KONEC > s1 Dnesni datum: `date` v adresari $PWD. KONEC Expanze speciálních znaků Rozdělení na slova (Word splitting) Náhrada jmen souborů (Pathname expansion) Hledání (spuštění) příkazů 9

Zpracování příkazové řádky V Detekce znaků rušících speciální význam (Quoting) Odstranění komentářů (Comments) Rozdělení řádky (Lists) na jednotlivé příkazy (Pipelines) Přesměrování (Redirection) Expanze speciálních znaků { } ~ $ ` ` $( ) $(( )) Rozdělení na slova (Word splitting) Náhrada jmen souborů (Pathname expansion) Hledání (spuštění) příkazů 10

Zpracování příkazové řádky VI Detekce znaků rušících speciální význam (Quoting) Odstranění komentářů (Comments) Rozdělení řádky (Lists) na jednotlivé příkazy (Pipelines) Přesměrování (Redirection) Expanze speciálních znaků Rozdělení na slova (Word splitting) $IFS: space tab newline Náhrada jmen souborů (Pathname expansion) Hledání (spuštění) příkazů 11

Zpracování příkazové řádky VII Detekce znaků rušících speciální význam (Quoting) Odstranění komentářů (Comments) Rozdělení řádky (Lists) na jednotlivé příkazy (Pipelines) Přesměrování (Redirection) Expanze speciálních znaků Rozdělení na slova (Word splitting) Náhrada jmen souborů (Pathname expansion) *? [ ]?() *() +() @()!() Hledání (spuštění) příkazů 12

Zpracování příkazové řádky VIII Detekce znaků rušících speciální význam (Quoting) Odstranění komentářů (Comments) Rozdělení řádky (Lists) na jednotlivé příkazy (Pipelines) Přesměrování (Redirection) Expanze speciálních znaků Rozdělení na slova (Word splitting) Náhrada jmen souborů (Pathname expansion) Hledání (spuštění) příkazů $PATH Doplňování názvů příkazů (souborů) pomocí TAB 13

Zpracování příkazové řádky VIII Detekce znaků rušících speciální význam (Quoting) Odstranění komentářů (Comments) Rozdělení řádky (Lists) na jednotlivé příkazy (Pipelines) Přesměrování (Redirection) Expanze speciálních znaků Rozdělení na slova (Word splitting) Náhrada jmen souborů (Pathname expansion) Hledání (spuštění) příkazů Př.: /usr/ucb/whereis ls /usr/bin/which ls echo $PATH 14

Brace expansion Zpracování příkazu expanze I Př.: touch s{1,2,3}{.txt,} Vytvoří (změní čas modifikace) soubory: s1.txt s1 s2.txt s2 s3.txt s3 Tilde expansion Parameter/variable expansion Command substitution Arithmetic expansion Word splitting Pathname expansion 15

Zpracování příkazu expanze II Brace expansion Tilde expansion Př.: ls ~ ~barinkl/.. Vylistuje domovský adresář a nadřazený adresář uživatele barinkl (pokud do něj máte právo přístupu) Parameter/variable expansion Command substitution Arithmetic expansion Word splitting Pathname expansion 16

Zpracování příkazu expanze III Brace expansion Tilde expansion Parameter/variable expansion Př.: echo $PATH $0 ${USER}2 Vypíše obsah proměnné PATH, nultého parametru a jméno uživatele2 Př.: PATH=$PATH:$HOME/scripts Do proměnné PATH vloží její aktuální obsah a přidá adresář scripts Command substitution Arithmetic expansion Word splitting Pathname expansion 17

Zpracování příkazu expanze IV Brace expansion Tilde expansion Parameter/variable expansion Command substitution Př.: OS=`uname -sr` Do proměnné OS uloží název a verzi operačního systému (výstup programu uname -sr) Arithmetic expansion Word splitting Pathname expansion 18

Zpracování příkazu expanze V Brace expansion Tilde expansion Parameter/variable expansion Command substitution Arithmetic expansion Př.: sleep $((5*60*60)) ; echo Uplynulo 5 hodin. Po 5 hodinách vypíše zadaný text Word splitting Pathname expansion 19

Zpracování příkazu expanze VI Brace expansion Tilde expansion Parameter/variable expansion Command substitution Arithmetic expansion Word splitting Př.: echo `ls -l` Vypíše (bez formátování) podrobný výpis aktuálního adresáře Pathname expansion 20

Zpracování příkazu expanze VII Brace expansion Tilde expansion Parameter/variable expansion Command substitution Arithmetic expansion Word splitting Pathname expansion Př.: cd /usr/bin ls *q ls *q* ls q* ls */* 21

Zpracování příkazu expanze VII Brace expansion Tilde expansion Parameter/variable expansion Command substitution Arithmetic expansion Word splitting Pathname expansion Př.: cd /usr/bin ls? ls?? ls [a-j]? ls [!a-j]? ls?[^a-j] 22

Vyzkoušejte následující příkazy Použití znaků $ \ ' ` echo PWD je $PWD echo PWD\ je\ \ \ $PWD echo "PWD je $PWD" echo "\$PWD je $PWD" echo '\$PWD je $PWD' 23

Co se stane po provedení příkazů? cmd=who Použití znaků $ \ ' ` 24

Co se stane po provedení příkazů? cmd=who echo cmd Použití znaků $ \ ' ` 25

Co se stane po provedení příkazů? cmd=who echo cmd echo $cmd Použití znaků $ \ ' ` 26

Co se stane po provedení příkazů? cmd=who echo cmd echo $cmd echo "$cmd" Použití znaků $ \ ' ` 27

Co se stane po provedení příkazů? cmd=who echo cmd echo $cmd echo "$cmd" echo '$cmd' Použití znaků $ \ ' ` 28

Co se stane po provedení příkazů? cmd=who echo cmd echo $cmd echo "$cmd" echo '$cmd' echo `$cmd` Použití znaků $ \ ' ` 29

Použití znaků $ \ ' ` Jak zachovat formátování příkazu who? cmd=who echo cmd echo $cmd echo "$cmd" echo '$cmd' echo `$cmd` 30

Použití znaků $ \ ' ` Jak zachovat formátování příkazu who? cmd=who echo cmd echo $cmd echo "$cmd" echo '$cmd' echo `$cmd` echo "`$cmd`" 31

Co se stane po provedení příkazů? cmd=who echo cmd echo $cmd echo "$cmd" echo '$cmd' echo `$cmd` echo "`$cmd`" $cmd Použití znaků $ \ ' ` 32

Proměnné Proměnné jsou lokální a globální lokální proměnné se nedědí do procesů potomků globální proměnné se dědí do procesů potomků (prostředí) Změna lokální proměnné na globální příkazem export Proměnná má platnost do jejího zrušení nebo do ukončení shellu Proces potomka nemůže změnit hodnotu proměnné v rodičovském procesu 33

Práce s proměnnými Nastavení hodnoty proměnné (vyzkoušejte na příkazu man) PAGER=less ; man man PAGER=less man man Výpis hodnoty proměnné echo $PAGER Výpis lokálních / globálních proměnných set ; env ; export -p Zrušení obsahu / proměnné PAGER='' ; unset PAGER Export proměnné (změna na globální proměnnou) export PAGER (v některých shellech setenv) export PAGER=less 34

Prompt + Proměnné PS1 až PS4 PS1 primární prompt PS2 sekundární prompt (pokračování na nové řádce) PS3 výzva pro výběr (příkaz select) PS4 znak při trasování programu (set -x) Některé speciální sekvence \d datum (den měsíc rok) \t čas (HH:MM:SS), případně \A pro čas (HH:MM) \h, \u jméno počítače (hostname), jméno uživatele (username) \w aktuální adresář (working directory) \! pořadí v historii, případně \# pro pořadí příkazu v akt. shellu \$ znak $ pro uživatele a znak # pro root 35

Náhrady dlouhého zápisu příkazů jedním slovem Alias (slovo) musí být na začátku příkazu Platnost aliasu je do skončení shellu Není dostupné v Bourn Shellu (sh) Definice aliasu alias ll='ls -l' alias la='ll -a' Výpis aliasů alias alias ll Zrušení aliasu unalias ll Aliasy 36

Historie Proměnné HISTFILE, HISTFILESIZE Příkaz history vypíše historii příkazů Zápis pomocí znaku!!n spustí n-tý příkaz z historie (od začátku)!-n spustí poslední n-tý příkaz z historie (od konce)!! spustí poslední příkaz (předchozí)!string spustí poslední příkaz začínající na řetězec string!?str? spustí poslední příkaz obsahující řetězec str ^str1^str2^ spustí poslední příkaz a nahradí řetězec str1 za str2 Interaktivní vyhledávání pomocí ^R Není dostupné v Bourn Shellu 37

Textové editory Na tomto systému je nainstalováno několik textových editorů (editorů pracujících s čistým textem). joe textový režim, ovládání klávesovými zkratkami, nápověda ^KH vi textový režim, funguje na všech terminálech dtpad grafický režim, holý editor bez funkcí emacs grafický režim, ovládání klávesovými zkratkami 38

Editor vi Textový editor (Visual editor) program vi Dostupný na většině platforem a OS Nepotřebuje žádné speciální klávesy kromě ESC Vylepšená verze program vim (Vi IMproved) Syntaxe: vi vi soubor Režimy editoru Příkazový (ESC) Vkládací Základní příkazy Ukončení editoru :q nebo :q! Uložení :w Pohyb h j k l Vložení textu i Smazání znaku x Smazání řádky dd 39

Editor vi příkazy + 40

Editor vi příkazy + Značka v textu (mark) mx Skok na značku `x Skok na předchozí místo `` Skok na konec souboru G Skok na řádku 5 5G Spuštění příkazu v shellu :! ls Vložení výstupu příkazu :r! date Náhrada slova (prvního výskytu) :s/slovo/jine/ Náhrada slova na celé řádce :s/slovo/jine/g Náhrada slova v celém souboru :%s/slovo/jine/g 41

Příprava na příští cvičení Upravte startovací soubor shellu (~/.bashrc) tak, aby jako stránkovač byl používán program less a jako editor program vi (vim). Do startovacího souboru shellu nadefinujte 2 aliasy. První s názvem newprompt bude nastavovat nový prompt, který si vytvoříte (použijte předdefinované sekvence i externí příkazy). Druhý s názvem oldprompt bude nastavovat původní prompt. Do startovacího souboru shellu nadefinujte proměnnou s názvem GREETINGS. Jejím obsahem bude uvítání uživatele do systému. Buďte kreativní 42