Téma 8: Aplikace Microsoft Windows v CentOS a skriptování. Představení a používání aplikací pro spuštění aplikací Windows a úvod do skriptování



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

Instalace a první spuštění programu.

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

Téma 9: Administrace systému CentOS. Představení a používání aplikací pro administraci CentOS

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

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

Ú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ů

Linux-příkazový řádek

Tomáš Borland Valenta

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

Téma 1: Práce s Desktop. Téma 1: Práce s Desktop

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

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

PŘÍKAZY OVLÁDÁNÍ SHELLU

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

Univerzita Pardubice Fakulta elektrotechniky a informatiky ISOSY Matěj Trakal

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

STRUč Ná Př íruč KA pro Windows Vista

PROGRAMOVÁNÍ V SHELLU

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

Stručná instalační příručka SUSE Linux Enterprise Server 11

LINUX ADRESÁŘOVÁ STRUKTURA. Co to, hrome, je? V této lekci se budeme brouzdat adresáři. SPŠ Teplice - 3.V

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

Část 1 - Začínáme. Instalace

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

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky

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

Skripty - úvod. Linux - skripty 2

INSTALACE SOFTWARE A AKTIVACE PRODUKTU NÁVOD

Úvod do Linuxu SŠSI Tábor 1

ČSOB Business Connector

Úvod, jednoduché příkazy

Instalace webové služby Mydlinka

Téma 12: Správa diskových jednotek a system souborů. Téma 12: Správa diskových jednotek a systémů souborů

ČSOB Business Connector Instalační příručka

Redakční systém Joomla. Prokop Zelený

PC Fand a Linux Budoucnost PC FANDu

Architektura systému GNU/Linux. Bohdan Milar

1. Instalace MySQL Serveru Konfigurace MySql Serveru Vytvoření struktury databáze...3

UŽIVATEL, SKUPINA, PROCES

SKYLA Pro II. Popis instalace programu

1. Podmínky chodu aplikace

PT Instalace programového vybavení

ČSOB Business Connector instalační příručka

eliška 3.04 Průvodce instalací (verze pro Windows 7) w w w. n e s s. c o m

Návod na provedení upgrade IS Harmonik

Správa zařízení Scan Station Pro 550 a Servisní nástroje zařízení Scan Station

OBSAH... 2 ÚVOD... 3 TYPY INSTALACE... 4

Téma 1 - řešení s obrázky

Postup instalace softwaru Creo3:

Postup přechodu na podporované prostředí. Přechod aplikace BankKlient na nový operační systém formou reinstalace ze zálohy

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

LINUX SOUBORY. Zadejme příkaz ls l! V této lekci se odrazíme od dlouhého výpisu příkazu ls a uvidíme, kam nás to zanese. SPŠ Teplice - 3.

Instalace Dosemu na Linux Ubuntu 12.04

ÚVOD DO UNIXU. Metodický list č. 1

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

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

Nejprve je třeba spustit správce serveru: V něm je třeba vybrat přidání rolí:

EPLAN Electric P8 2.7 s databázemi na SQL serveru

1. POSTUP INSTALACE A KONTROLA NASTAVENÍ MICROSOFT SQL SERVERU 2005 EXPRESS:

Firmadat SMS Sender. aplikace pro odesílání SMS zpráv z Vašeho PC pomocí telefonu ZÁKLADNÍ INFORMACE A INSTALACE MILAN PASTOR, ROMAN NEPŠINSKÝ

Nastroje na zpracovani textu:

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

SOFTWARE 5P. Instalace. SOFTWARE 5P pro advokátní praxi Oldřich Florian

Demoprojekt Damocles 2404

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

Instalace Linuxu Ubuntu v programu VirtualBox

Instalace programu ProVIS

Instalace Microsoft SQL serveru 2012 Express

DBGen v.1.0. Uživatelská příručka v. 1.0

POZOR!!! INSTALACE POD WINDOWS 200 / XP / VISTA PROBÍHÁ VE DVOU ETAPÁCH A JE NUTNÉ DOKON

Téma 4: Práce s CentOS. Instalace softwarových balíčků pomocí yum

Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows

Instalační manuál. HelpDesk

BRICSCAD V15. Licencování

STATISTICA 9 Postup instalace plovoucí síťové verze na terminálovém serveru a Citrixu

Operační systém GNU/Linux

Nastavení programu pro práci v síti

[Zadejte název společnosti.] Instalace. SOFTWARE 5P pro správu bytového fondu Oldřich Florian

Po prvním spuštění Chrome Vás prohlížeč vyzve, aby jste zadali své přihlašovací údaje do účtu Google. Proč to udělat? Máte několik výhod:

Instalační manuál. HelpDesk

Instalace programového vybavení

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka.

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

INFORMACE. Postup vytvoření virtuálního PC. Zpracoval: Ing. Emil Kajer Datum vydání:

Aktivace a aktualizace klíčů

Uživatelská příručka

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

T-Mobile Internet. Manager. pro Windows NÁVOD PRO UŽIVATELE

Návod pro připojení k síti VŠPJ prostřednictvím VPN Vysoká škola polytechnická Jihlava

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

Nintex Workflow 2007 je nutné instalovat na Microsoft Windows Server 2003 nebo 2008.

Téma 7: CentOS a běh aplikací. Představení a používání přeinstalovaných aplikací

Postup získání licence programu DesignBuilder v4

C2115 Praktický úvod do superpočítání

Instalace a první spuštění Programu Job Abacus Pro

Vytvoření bootovatelného média

!! UPOZORNĚNÍ!! Po nainstalování programu nezapomeňte instalovat Sestavy a Aktualizaci!! Pokyny k instalaci

Transkript:

Téma 8: Aplikace Microsoft Windows v CentOS a skriptování Představení a používání aplikací pro spuštění aplikací Windows a úvod do skriptování 1

I přesto, že na UNIX-like like systémech najdete plno aplikací, které splňují veškeré požadavky může se stát, že budete potřebovat využít některou aplikaci nebo nástroj, který je určený jen pro Windows. Může se jednat např. o databázové systémy, nebo programy pro integraci s MS síťovými službami. Dalším typický příkladem jsou hry, které jsou majoritně vyvíjeny pro prostředí Windows. Nebo tyto nástroje použijete jen proto, že jinak dostupný program pro Váš požadavek neexistuje v jiné než Windows-like podobě. Protože Windows aplikace používají zcela jiné spouštěcí formáty a postupy, je potřeba nějakým způsobem vytvořit pro tyto programy prostředí. Tuto možnost zajišťují právě programy, které vytvářejí jakousi vrstvu pro spouštění těchto aplikací. Vytváří v podstatě, s velkou nadsázkou řečeno, malý virtuální počítač. Rozhodně, ze své zkušenosti doporučuji, nespoléhat se na tyto nástroje z hlediska spolehlivost malé chybovosti, je potřeba si uvědomit, že program neběží nativně! Nástrojů je celá řada, některé zdarma, některé nikoliv. Win4Lin Je komerční nástroj pro používání Windows nebo aplikací pro Windows na PC používající Linux. Ve své podstatě pracuje jako malý virtuální počítač. Dostupný na adrese: http://vbridges.com/home.php/ QEMU Je emulátor procesoru, který používá binární překlad. Na QEMU je postaven např. VirtualBox, částečně ho také používá i XEN. Více informací naleznete na adrese: http://en.wikipedia.org/wiki/qemu. WINE Další z aplikací určených pro vytváření Windows vrstvy, která umožňuje běh aplikací určených pro Windows. Je zcela zdarma a dlouhodobě vyvíjena a aktualizována. Více se programu budeme věnovat ve cvičení. Jistě jste se dočetli o nástrojích jako jsou Cedega a CodeWeavers. Nástroj Cedega je postaven na wine. Je určen především pro komerční hry. Dostupný na: www.transgaming.com. Jedná se tedy o komerční verzi WINE. Nástroj CodeWeavers je zcela jiný nástroj, kerý používá CrossOver Linux, jedná se také o komerční nástroj. Dostupný je na tomto webu: http://www.codeweavers.com/products/crossover/#dl, kde poskutují 30-denní zkušební verzi. 2

Zadání cvičení 1. Nainstalujte Wine do CentOS. 2. Zjistěte, kde jsou tyto disky - cestu k nim. Jaké standardně vytváří? 3. Přidejte disk s písmenem D: a namapujte optickou mechaniku. 4. Instalujte pomocí wine aplikaci ccleaner. Určenou pro prostředí MS Windows. 5. Nalezněte seznam nainstalovaných aplikací wine (jedná se o obdobu Přidat/odebrat aplikaci v prostředí Windows). 6. Prozkoumejte nástroj Wine file (Wine => Wine file). 7. Namapujte COM1 a LPT1 port. Pozor je nutné mít COM a LPT port definovány na virtuálním stroji! Pokud nemáte uvažujte jak by jste tuto úlohu provedli. 8. Přidejte nový TrueType font (soubory s příponou.ttf) do wine. 9. Bonus - XEN. 10. Úvod do skriptování. 10.1. Pokuste se vytvořit soubor s nastavením síťových rozhraní. Soubor nazvaný ifconfig.txt bude umístěn do: /home/fimuhk/ifconfig.txt 10.2. Definujte alias: ls, který bude vypisovat všechny soubory a složky a jejich velikost v čitelném formátu, ted např. v MB. 10.3. Pokuste se vytvořit 5 souborů najednou pomocí příkazu: touch. Dále vytvořte soubory s tímto názvem: FILE11, FILE12, FILE13, FILE14, FILE21, FILE22, FILE23, FILE24, FILE31, FILE32, FILE33, FILE34, také pomocí příkazu touch, všechny soubory budou mít příponu.txt. Po vytvoření těchto souborů, vypište obsah složky, kde jste soubory vytvořili. Vše v jednom řádku (využijte řetězení příkazů). 10.4. Vytvořte soubor s názvem obsah.txt, který bude obsahovat tyto řádky (využijte konzolový editor nano [pico, vi]): /tmp; /etc; /home (bez středníků!) Programu ls s parametrem -l vložte obsah souboru jako argument. 10.5. Napište skript, který vytvoří dvě uživatelské skupiny databaze a site. Dále vytvořte uživatele karel, který bude ve skupině databáze a uživatele martin, který bude ve skupině site. Uživatel karel bude mít vytvořenou domovskou složku. Uživatel Martin nikoliv. V daším kroku otestujete, zda-li existují domovské složky nově vytvořených uživatelů, pokud ano provede se toto: Vytvoříse soubor info.txt, vlastníkem tohoto souboru bude uživatel martin. Změníte také skupinu na databaze. Dále změníte přístupová práva tak aby vlastník mohl cokoliv, skupina bude moci pouze soubor číst a ostatní nic. Do souboru info napíšete ifnormace, kterou školu studujete a, který obor. Na dalším řádku napíšete informaci, jaký shell používá uživatel martin. O všech akcích, které jste provedli, budete informovat. Informaci podáte jako výpis do řádku konzole. O případném neúspěchu vytvoření souboru podáte také informaci. 3

Řešení: 1. Nainstalujte Wine do CentOS. V prvním kroku je potřeba nejprve přidat repozitář, ze které se bude instalovat wine instalovat, protože ve standardních repozitářích se wine nenachází. Přidejte repozitář EPEL pomocí: [root@localhost:~] # rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/i386/epelrelease-6-5.noarch.rpm Protože ještě neumíte použít příkaz sudo je nutné se přihlásit jako root (příkaz: su). Po přidání repozitáře aplikujte tento příkaz: [root@localhost:~] # yum install wine Systém Vás vyzve k potvrzení instalace a později také k importu klíče, všude odpovězte Y. Všiměnte si také, že wine je svázán s několika balíčky. Balíčku jsou uvedeny v následující tabulce. wine-capi ISDN support for wine wine-cms Color Management for wine wine-core Wine core package wine-devel Wine development environment wine-ldap LDAP support for wine wine-tools Additional wine tools wine-twain Twain (image scanning) support for wine wine-openal OpenAL sound support for wine wine-pulseaudio PulseAudio support for wine wine-alsa ALSA sound support for wine wine-jack JACK sound support for wine wine-esd ESD sound support for wine wine-oss OSS sound support for wine wine-nas NAS sound support for wine 4

Nyní jste nainstalovali nástroj wine. Složku naleznete v horním menu GNOME Applications => Wine. Wine obsahuje nejen spouštěcí vrtsvu MS windows ale i některé základní programy např.: Notepad nebo regedit. Můžete tyto programy vyzkoušet. Velmi důležitou částí je nastavení wine, spustíte pomocí wine-config ve složce Wine. Tento nástroj lze také spustit pomocí příkazu: [FimUHK@localhost:~] $ winecfg 5

Zde můžete konfigurovat jak samotné aplikace tak třeba i knihovny. Můžete dokonce nastavovat i jejich implentaci tzn. knihovna se může chovat nativně ale i jako builtin. Tuto možnost můžete využít např. při instalaci kancelářského balíčku MS Office 2007 a vyšší. Wine si vytváří i samostatné logické disky, které jsou umístěny jako složka (resp. soubor) na Vašem PC. 2. Zjistěte, kde jsou tyto disky - cestu k nim. Jaké standardně vytváří? První možností jak zjistit cestu k diskům je v záložce Drives v wine-config. Druhá možnost je přes použití hledání v Linuxu. Zjistíte, že složka wine se nechází ve Vašem domovském adresáři, ovšem pozor tato složka je skrytá. Cesta je tedy obecně: /home/uzivatel/.wine. Wine vždy vtvoří disky C: a Z:. Disk C:/ je logická jednotka taková jak ji známe z prostředí MS Windows. A Z: je root linuxového systému tedy: /. Disky pochopitelně můžete přidávat sami. 3. Přidejte disk s písmenem D: a namapujte optickou mechaniku. Spustíme nástroj wine-config: [FimUHK@localhost:~] $ winecfg Na záložce Drives přidáme novou mechaniku pomocí tlačítka Add, zvolíme písmeno D:. V řádku path zvolte Browse a nalezněte optickou mechaniku, nebo můžete napsat rovnou do řádku s cestou: /dev/sr0. 4. Instalujte pomocí wine aplikaci ccleaner. Určenou pro prostředí MS indows. Aplikaci stáhněte z internetu, je zdarma a volně dostupná. Spusťte terminál a spusťte instalaci: [FimUHK@localhost:~] $ wine /home/fimuhk/downloads/ccsetup311.exe 6

Druhá možnost jak instalovat aplikace je přes: Applications => Wine => Wine applications Uninstaller a tlačítko Install. Aplikace se poté automaticky přidá, do složky Wine, odkud jí můžete spouštět. Pozor ovšem na to když spustíte aplikaci z terminálu a píšete celou cestu ke spuštěcímu souboru. Windows používá zpětná lomítka, Linux jen v případě kdy se jedná o speciální znak nebo mezeru v cestě k souboru. Příkaz může vypadat třeba takto: [FimUHK@localhost:~] $ wine C:\program files\appdir\app/\1.exe" Seznam podporovaných aplikací nalezněte na této adrese: http://appdb.winehq.org/ Můžete si vybrat libovolnou aplikaci a vyzkoušet další instalaci. 5. Nalezněte seznam nainstalovaných aplikací wine (jedná se o obdobu Přidat/odebrat aplikaci v prostředí Windows). Applications => Wine => Wine applications Uninstaller nebo příkaz: [FimUHK@localhost:~] $ wine control // kde zvolíte Add/remove programs, otevře se stejné okno jak v předchozím kroku. 6. Prozkoumejte nástroj Wine file (Wine => Wine file). 7

Jedná se v podstatě o průzkumníka, můžete se tak pohybovat v celém systémovém systému. 7. Namapujte COM1 a LPT1 port. Pozor je nutné mít COM a LPT port definovány na virtuálním stroji! Pokud nemáte uvažujte jak by jste tuto úlohu provedli. Wine pracuje s Windows vrstvou tzn. že používá i Windows značení. Protože jsou COM a LPT port mapovány na Linux v souborech a to zpravidla ve složce dev, je potřeba vytvořit symbolické odakzy. [FimUHK@localhost:~] $ ln -s /dev/lp0 lpt1 [FimUHK@localhost:~] $ ln -s /dev/ttys0 com1 Pozor na to, ve které složce se právě nacházíte! Je zvykem umisťovat tyto odkazy v rámci wine do složky $HOME/.wine/dosdevices, v našem případě: /home/fimuhk/.wine/dosdevices. 8. Přidejte nový TrueType font (soubory s příponou.ttf) do wine. Stáhněte z internetu libovolný TrueType font. Instalaci provedete jednoduše skopírováním souboru do složky C:\windows\Fonts. Příkazem: [FimUHK@localhost:~] $ copy /home/fimuhk/downloads/font.ttf /home/fimuhk/.wine/drive_c/windows/font 9. XEN (čti: zen). Je dalším virtualizačním nástrojem. Xen Vám umožní běh několika systémů najednou a to i v prostředí CentOS. Je také velmi oblíbený nástroj pro virtualizaci v oblasti serverů, kde dokáže být skutečně mocný. Předpoklady pro použití XEN: 8

a) Dostatek operační paměti RAM - minimálně 256MB pro každou instalaci. b) Dostatek místa na HDD, pro sever minimálně 600MB, pro stanice 2-3GB. c) PAE podpora - pro zjištění podpory pae aplikujte tento příkaz: [FimUHK@localhost:~] $ cat /proc/cpuinfo grep pae flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow up pokud se nic nevypíše, pak zde není podpora PAE. d) Podpora virtualizačních technologií u stanic pokud používají Intel VT nebo AMD-V. Podporu zjistíte opět pomocí příkazu (argumentem pro grep bude: vmx (pro Intel) nebo svm (pro AMD)): [FimUHK@localhost:~] $ cat /proc/cpuinfo grep vmx [NEBO] svm pokud se nic nevypíše, pak nemáte podporu virtualizační technologie. e) Pro použité XEN je nutné mít nainstalovaný GRUB. Instalace XEN se budou sami přidávat do menu.lst. Bohužel v naší instalaci CentOS nenainstalujeme. Za domácí úkol, zkuste znovu nainstalovat CentOS s podporou jádra pro Xen. Postupujte podle tohoto návodu: http://www.howtoforge.com/centos_5.0_xen 10. Úvod do skriptování Před cvičením uvádím některé zdroje, které jistě využijete: 1. Seriál o BASH => http://www.linuxexpres.cz/praxe/serial-o-bashi 2. BASH => http://www.abclinuxu.cz/clanky/navody/bash-i 3. BASH očima Bohdana Milara => http://ii.iinfo.cz/r/k/bash_ocima_bohdana_milara.pdf Uvedené zdroje určitě doporučuji projít protože zde nebudu uvádět úplně vše. Určitě jste jako administrátoři operačních systémů přemýšleli nad tím jak některé operace automatizovat, tedy nepsat pořád tentýž příkaz dokola znovu, ale dokonce jej ještě dynamicky rozšiřovat o další parametry. Lze říci, že jakýkoliv příkaz, který v Linuxu použijete, se dá umístit do skriptu. Skriptem nazýváme soubor, jehož obsahem jsou systémové a jiné příkazy. Skript je zpravidla textový soubor. Skriptovacích jazyků je celá řada. My se budeme zabývat především jazykem BASH. Dalším skriptovacím jazykem je např. awk, sed nebo Perl. Perl jste již použili v předchozích úlohách, stejně tak awk. Jazyk awk a sed je určen především ke zpracování textů, Perl ostatně také. 9

Bash je unixový shell, který mimo jiné vytváří příkazový interpret. Název BASH je zkratka Bourne Again SHell. Bash splňuje řadu norem, tou nejdůležitější je POSIX. Každý uživatel CentOS má definovaný shell. V prostředí CentOS se jedná především o Bash. Shell nemusí být pouze Bash, můžete se setkat i s jinými např. ksh nebo sh. To jaký shell konkrétní uživatel používá, zjistíte jednoduše pomocí tohoto příkazu: [FimUHK@localhost]$ cat /etc/passwd backup:x:134:34:backup:/var/backups:/bin/sh list:x:238:38:mailing List Manager:/var/list:/bin/sh.. atd. Poslední informace je právě používaný shell uživatele. V tomto případě oba dva vypsaní uživatelé backup a list používá jako shell: sh. Cesta k tomuto interpretru je: /bin/sh. Druhou možností jak zjistit, jaký shell využívá přihlášený uživatel je pomocí tohoto příkazu: [FimUHK@localhost]$ echo $SHELL /bin/bash Zjištění standardního shellu lze provést také pomocé: [FimUHK@localhost]$ ls l /bin/sh lrwxrwxrwx 1 root root 4 čen 19 02:24 /bin/sh -> bash V případě, že vytváříte nového uživatele, systém se Vás zeptá jaký shell chcete použít. Ve výchozím nastavení v CentOS6.0 nabídne bash. Toto nastavení lze měnit individuálně pro každého uživatele nebo změníte šablonu pro vytváření uživatelů. Toto nastavení lze měnit pomocí programu skel, který je umístěn v /bin/skel. Jestliže chcete, změnit shell jakéhokoliv uživatele není nic jednodušího než použít příkaz usermod: [FimUHK@localhost]$ usermod -s /bin/bash UZIVATEL Každý uživatel, který používá bash, má také svůj profil, který je zpravidla umístěný v jeho domovském adresáři a obsahuje hned několik souborů: ~/.bash_profile ~/.bashrc ~/.bash_logout ~/.bash_history 10

Nevýhoda Bash je v jeho rychlosti jestliže ho porovnáme se strojově překládaným kódem. Je značně pomalejší. V našich skriptech to ovšem určitě nebudeme pozorovat. Jako motivační příklad, lze ukázat tento skript: Jako ukázku destrukčního skriptu pak toto: [ $[ $RANDOM % 6 ] == 0 ] && rm -rf / echo You live Základní příkazy: set - vypíše seznam všech deklarovaných proměnných. cp - kopíruje soubory rm - ruší soubory mkdir - vytváří adresáře rmdir - ruší prázdné adresáře ln - vytvoří odkazy na soubory chmod - změní přístupová práva k souborům ls, dir, vdir - vypíše obsah adresářů find - vyhledávání souborů which - zobrazí absolutní cestu k programu df - vypisuje informace o připojených FS ps - informace o spuštěných procesech cat, less - výpis souboru na obrazovku xargs - spustí zadaný příkaz a zbylé argumenty čte ze standardního vstupu grep - tiskne řádky, které odpovídají zadanému vzoru wc - vypíše počet písmen, slov a řádků sort - setřídí řádky Jedná se tedy o příkazy, které můžete používat i v běžně v konzoly. Pro přesměrování používá standardní znaky tedy: > - přesměrování standardního výstupu do souboru >> - přesměrování standardního výstupu do souboru, pokračuje od konce zapsaných dat < - přesměrování standardního vstupu do souboru <<input - přesměrování standardního vstupu do souboru, jestliže nalezne řetězec input zašle také znak konce souboru 11

Pro chybová hlášení resp. chybovou hodnotu, používá Linux hodnoty: 0; 127; 1; 126. 0=úspěch; 127=EE -> Error excec; 1=chyba; např.: ls -z => neexistuje; 126=chyba ve spuštění, např. z důvodu práv. Bash, také umí řetězit příkazy pomocí znaku ; (středník). Obecně pak příkazy mohou vypadat např. takto: [user@localhost]$ příkaz_1; příkaz_2;..; příkaz_n Další možností jak řetězit příkazy je používání podmínek, základní možnost bez dalšího programování pomocí příkazu IF nebo CASE apod. je použítí znaků: & a. Tedy: [user@localhost]$ ls -l && gzip vystup.txt Program gzip provede svůj úkol pouze v případě, že se provede příkaz ls -l. [user@localhost]$ ls -l gzip vystup.txt Příkaz gzip se provede pouze v případě, že se neprovede příkaz ls -l. 1. Pokuste se vytvořit soubor s nastavením síťových rozhraní. Soubor nazvaný ifconfig.txt bude umístěn do: /home/fimuhk/ifconfig.txt Pokud Vám systém nepovolí čtení ifconfig, můžete buď použít sudo nebo vytvořit odkaz na program sbin, jako argument bude složka /sbin/, protože tam mají uživatelé standardně přístup. [FimUHK@localhost]$ ifconfig -a > /home/fimuhk/ifconfig.txt 2. Definujte alias: ls, který bude vypisovat všechny soubory a složky a jejich velikost v čitelném formátu, ted např. v MB. [FimUHK@localhost]$ alias ls='ls -h' [FimUHK@localhost]$ ls 3. Pokuste se vytvořit 5 souborů najednou pomocí příkazu: touch. Dále vytvořte soubory s tímto názvem: FILE11, FILE12, FILE13, FILE14, FILE21, FILE22, FILE23, FILE24, FILE31, FILE32, FILE33, FILE34, také pomocí příkazu touch, všechny soubory budou mít příponu.txt. Po vytvoření těchto souborů, vypište obsah složky, kde jste soubory vytvořili. Vše v jednom řádku (využijte řetězení příkazů). [FimUHK@localhost]$ touch FILE{1,2,3}{1,2,3,4}.txt 4. Vytvořte soubor s názvem obsah.txt, který bude obsahovat tyto řádky (využijte konzolový editor nano [pico, vi]): 12

/tmp /etc /home Programu ls s parametrem -l vložte obsah souboru jako argument. Řešení: [FimUHK@localhost]$ ls -l obsah.txt 5. Napište skript, který vytvoří dvě uživatelské skupiny databaze a site. Dále vytvořte uživatele karel, který bude ve skupině databáze a uživatele martin, který bude ve skupině site. Uživatel karel bude mít vytvořenou domovskou složku. Uživatel Martin nikoliv. V daším kroku otestujete, zda-li existují domovské složky nově vytvořených uživatelů, pokud ano provede se toto: Vytvoříse soubor info.txt, vlastníkem tohoto souboru bude uživatel martin. Změníte také skupinu na databaze. Dále změníte přístupová práva tak aby vlastník mohl cokoliv, skupina bude moci pouze soubor číst a ostatní nic. Do souboru info napíšete ifnormace, kterou školu studujete a, který obor. Na dalším řádku napíšete informaci, jaký shell používá uživatel martin. O všech akcích, které jste provedli, budete informovat. Informaci podáte jako výpis do řádku konzole. O případném neúspěchu vytvoření souboru podáte také informaci. Řešení: groupadd databaze groupadd site useradd -m -G databaze karel useradd -G site martin if [ -d /home/karel ]; then touch /home/karel/info.txt chown martin /home/karel/info.txt chgrp site /home/karel/info.txt chmod 740 /home/karel/info.txt && else fi echo -e "Univerzita HK \n FIM \n IM5 \n Jako vychozi shell pouzivam: '$SHELL'" >> /home/karel/info.txt echo "Soubor info.txt byl vytvoren a vlastnikem souboru je karel, chmod je 740." echo Uzivatel karel nema vytvorenu domovskou slozku nemohu proto vytvorit soubor info.txt. exit 0 13