Úvod do UNIXu, cvičení 1. Organizační informace Co je vlastně ten UNIX? Jak to chodí v labech

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

Ú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

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

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

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

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

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

Základní příkazy OS UNIX

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

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

Úvod, jednoduché příkazy

Systém souborů (File System)

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

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

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

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.

Linux-příkazový řádek

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 č. 1 - přihlášení, historie, práce se soubory. Jakub Galgonek. verze r1. inspirováno materiály Davida Hokszy

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

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

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

Nastroje na zpracovani textu:

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

Administrace Unixu a sítí. Tomáš Kouba <

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

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

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

Návod na používání webmailu

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

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ě

PŘÍKAZY OVLÁDÁNÍ SHELLU

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.

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

ÚVOD DO UNIXU. Metodický list č. 1

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

Systém souborů (file system, FS)

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

Úvod do UNIXu. Libor Forst

LINUX přesměrování a roury

Paralelní výpočty na clusteru KMD

PROGRAMOVÁNÍ V SHELLU

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

Univerzita Pardubice Fakulta elektrotechniky a informatiky ISOSY Matěj Trakal

Informace o poštovním provozu na serveru mail.ktkadan.cz a stručný návod na použití OpenWebMailu

LINUX uživatelské účty (1)

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

1. přednáška pro začátečníky

Tomáš Borland Valenta

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

Tahák na UOS 2008/2009

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

Úvod do UNIXu. Jirka Boháč Gymnázium Jaroslava Seiferta 2003/2004

1 ÚVOD DO LINUXU 3 2 MANIUPLACE S DATY A TEXTEM 4 3 EDITORY, ARCHIVACE A PŘESMĚROVÁNÍ 5 4 UŽIVATELSKÉ ÚČTY A OPRÁVNĚNÍ + TEST 6 5 PROCESY A SERVISY 7

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

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

Computer Press Brno 2003

PRACUJEME S SHELLEM Ať žije BASH.

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

Rozdělení operačních systémů

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

Základy programování (IZP)

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

Úvod do Linuxu SŠSI Tábor 1

Identita uživatele (procesu)

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

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

PŘÍKAZY PRÁCE SE SLOŽKAMI

Cvičení 3. Plán. Procesy. procesy, jobs Find Wildcards Příklad uživatelé. ZOS 2005, L. Pešička. eryx4> ps x

Administrace Unixu a sítí

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

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

Architektura systému GNU/Linux. Bohdan Milar

Stručný manuál pro webový editor. Ukládáni základních informací, tvorba menu

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

ABRA Software a.s. ABRA on- line

Zprovoznění nových userů pro pure-ftpd server (s privátními adresáři)

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

PŘÍKAZY PRÁCE SE SOUBORY

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

Skripty - úvod. Linux - skripty 2

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

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

Přednáška 4. Regulární výrazy. Filtry grep, sed a awk. Úvod do Operačních Systémů Přednáška 4

Jak funguje GNU/Linux

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

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

Střední úložiště. Uživatelská dokumentace Zřízení přístupu

DERATIZACE ANEB PROČ PŘÍKAZY ;)

INSTALACE SOFTWARE A AKTIVACE PRODUKTU NÁVOD

APS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze

UŽIVATEL, SKUPINA, PROCES

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

Základní uživatelský manuál služby WMS Drive

Před instalací 25 Minimální požadavky na systém Linux a Windows na jednom disku Zrušení instalace Mandriva Linuxu...

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

Identita uživatele. predn_04.odt :47:03 1

Linux Teorie operačních systémů a realita

Transkript:

Úvod do UNIXu, cvičení 1 Organizační informace Co je vlastně ten UNIX? Jak to chodí v labech

Cvičící Jan Šembera Web: http://www.bofh.cz/ E-mail: jan.sembera@innoxia.cz Konzultace: na základě předchozí dohody mailem nebo na cvičení Na SISALu se vůbec nevyskytuji.

Cvičení Pondělí 12:20 SU2 Oficiálně skupina I/1-Y/39, reálně beru kohokoli, kdo se vejde. Hard limit 25. Pokud nejste I/39, napište mi mail, že sem budete chodit. Ověřte si zhruba do týdne, jestli jste v Grupíčku napsáni tam, kde být chcete.

Za co je zápočet? Prezence není nutná, ale je doporučená. Alternativa 1 (běžná) zápočtová písemka na posledním cvičení semestru, neomezený počet možných opakování při neúspěchu. snadné domácí úkoly alespoň 5 z 12 správně vyřešených a odevzdaných včas. Náhradní možné, ale těžké.

Za co je zápočet? Alternativa 2 (pro hardcore UNIXáře) zápočtový příklad bude značně složitější než písemka a budu přísněji hodnotit. Určeno zejména pro znalé a odvážné. Nutno se dohodnout na tématu včas. Průběžné výsledky domácích úkolů budou v Grupíčku.

Zkouška Písemná Úkol je vypracování netriviálního skriptu řešícího nějakou netriviální úlohu K dispozici počítač s manuálovými stránkami, možnost vzít si s sebou libovolné texty (ne vyřešený příklad!) Poté diskuze nad řešením

Co je to UNIX? Původně jeden operační systém Dnes ochranná známka UNIX vlastněná The Open Group, udílená pouze systémům, které splňují normu Single UNIX Specification (a zaplatí si certifikaci)

Co je to UNIX? V širším smyslu libovolný operační systém, co se dostatečně UNIXu blíží. Často jsou tyto systémy nazývány UNIX-like. Linux, který máme před sebou, je jedním z nich. Občas také systémy splňující normu POSIX. Ano, je to poměrně zmatené...

O čem předmět bude? Naučíme se základní principy, na kterých je UNIX vystavěn. uživatelsky pracovat s běžným UNIXem. programovat v příkazovém interpreteru (tzv. shell), a to včetně pokročilého skriptování (též sed, awk). Budeme se zabývat zejména tím, co funguje všude.

O čem předmět nebude? Nebude o administraci UNIXových systémů SWI106 Administrace UNIXu Nebudeme probírat API systému SWI015 Programování v UNIXu

K čemu (se učit) UNIX? Kvalitní a historicky ověřený systém. Jiná filosofie, jiný přístup k věci. Často využíván na serverech ve firmách a institucích všech velikostí. Moderní UNIXy jsou také kvalitním desktopem.

K čemu (se učit) UNIX? Dobrý síťový subsystém. Běží na všech architekturách. Od embedded zařízení po superpočítače. Některé UNIXy a UNIX-like systémy jsou zcela zdarma včetně userlandu a spousty aplikací

Filosofie UNIXu Skládáme malé funkční celky, které dělají svou práci dobře a nejsou natolik náchylné k chybám, jako velké molochy.

Kde se to naučím? Přednášky Literatura Praxe ze slajdů se na zkoušku nenaučíte, cvičení není tolik... v počítačových laboratořích doma s vhodným LiveCD doma s plnohodnotnou instalací Konzultace

Laby na MS - konta SU1, SU2 a UNIXy v rotundě mají společná konta Dočasně (začátkem semestru) by mělo fungovat lokální konto, ale bez sítě: login: * heslo: * Konto si zřiďte na SISALu do příštího cvičení. Bez netu není zábava. Dr. Matouš, od úterka do pátku 10:30-11:00, 15:30-16:00

Laby na MS - AFS V rotundě stroje nerestartujte na strojích pracují lidé vzdáleně. Pokud vám něco nepůjde, zavolejte službu. Uživatelská data na AFS. Máte je tak k dispozici, ať se přihlásíte kdekoliv. Prý i z Internetu (good luck!) AFS občas chcípne a občas blbne. Trpělivost...

Laby na MS Co tu je? GNU/Linux u-plx.ms.mff.cuni.cz X = 1, 2,..., 32 Solaris u-us.ms.mff.cuni.cz IRIX kappa.ms.mff.cuni.cz MacOS X (?) u-mac.ms.mff.cuni.cz

Uživatelské aplikace (Linux) Webový prohlížeč firefox, opera, konqueror,... elinks, links, lynx Poštovní klient thunderbird, evolution,... mutt, pine Kancelářské balíky openoffice.org, koffice Přehrávač multimedií mplayer, xine,... mplayer s caca výstupem

Laby na MS homes Každý uživatel má svůj domovský adresář. V případě MS rozdělen na dvě části: přímo ~, několik desítek MB podadresář BIG, několik GB Příkaz fs quota zobrazí volnou kapacitu.

Terminálové emulátory Pokud si zvolíte práci v grafickém režimu, budete potřebovat jeden z následujících programů konsole gnome-terminal xterm aterm rxvt

Úvod do UNIXu, cvičení 2 Základní práce s shellem Manipulace se soubory, metaznaky Procesy, přesměrování, roury

Základní ovládání shellu První příkaz: echo Šipka vlevo a vpravo editace příkazu Šipka nahoru a dolu historie (bash) CTRL+C - zruší rozepsaný příkaz CTRL+R - vyhledávání v historii (bash) CTRL+D konec vstupu # - komentář Příkazy logout, exit

Nápověda? V tzv. manuálových stránkách. man <příkaz> man -k <příkaz> Nestandardně také info help

Vzdálený přístup Pomocí protokolu SSH ssh <username>@<machine> ssh <machine> Ve Windows například pomocí PuTTY, nutno nastavit protokol ssh, port 22. Skrz ssh lze pouštět i grafické aplikace

Adresářová struktura Jeden strom, kořenový adresář / Separátor je / Případné další diskové oblasti se prostě připojí do nějakého adresáře (mount). Každý adresář obsahuje. a.. Case-sensitive Téměř libovolné znaky Relativní i absolutní cesty

Pohyb po adresářovém stromě ls [-l] [-a] [-1] [cesta] cd [cesta] pwd

Zajímavé adresáře / - kořenový adresář /bin, /sbin základní utility systému /etc konfigurační soubory systému /usr struktura jako /, programy /home domovské adresáře uživatelů /tmp dočasné soubory /var často se měnící soubory, logy, etc. /root domovský adresář uživatele root... mezi systémy se může ale dost lišit a všude nemusí být vše přítomno...

Druhy souborů - soubory d adresáře b bloková zařízení c znaková zařízení l symbolické odkazy s sockety p roury

Speciální znaky * - libovolný počet libovolných znaků? - právě jeden libovolný znak Úložka: Vypište všechny soubory z /usr/bin, které obsahují v názvu 4 znaky a.

Manipulace se soubory cat [-n] touch [jméno] cp [zdroj] [cíl] mv [zdroj] [cíl] rm [oběť]

Escapování 'blabla' zabrání veškeré expanzi bla bla bla - respektuje mezery, ale expanduje Úložka: Který znak nesmí být v názvu souboru?

Manipulace s adresáři mkdir [-p] rmdir rm [-r] [-f] Opatrně s mazáním!

Méně je někdy více more less wc [-c] [-w] [-l] head -n tail -n

Přesměrování příkaz >soubor příkaz <soubor příkaz >>soubor lze kombinovat

Malé úložky Vytvořte si soubor obsahující aktuální datum, nikoli však čas (hint: příkaz date) Uložte do souboru prvních 8 řádek souboru /etc/passwd Za ně přidejte posledních 5 řádek tohotéž souboru.

Pipe & pipeline příkaz příkaz... prakticky libovolný počet rychlost zpracování se přizpůsobí tomu nejpomalejšímu procesu v pipeline

Úložky Vypište n-tý řádek seznamu skupin. Spočítejte slova v manuálové stránce pro bash. Zkopírujte vše mezi 5. až 15. řádkem z /etc/passwd do vlastního souboru

Úvod do UNIXu, cvičení 3 Více k metaznakům, ls, cp a mv SSH podruhé Hrátky s uživateli

Metaznaky mkdir test cd test touch.a touch b ls -al ls -al * Kde je problém? Jak ho odstranit? Zkuste smazat soubor 'b'. Co se stalo?

Více k ls mkdir b c c/d; touch e ls * ls ls b ls -d b

Více k cp a mv touch soubor1 soubor2 mkdir adresar cp soubor1 soubor3 cp soubor1 adresar cp soubor1 adresar/ cp soubor1.. souborn adresar

Divné znaky v názvech Vytvořte soubor s názvem -f Pokud se vám to povedlo, smažte ho. V čem je problém zde a jak ho řešit? Řešení: rm -- -f

SSH podruhé Úloha: Vymyslete, jak pomocí ssh zkopírovat soubor na jiný počítač (kopírujte například do adresáře /tmp). Hint: ssh může brát jako parametr příkaz, který bude spuštěn na druhé straně.

SCP Bezpečné kopírování souborů mezi počítači. scp filename [username@]box:filename scp [username@]box:filename filename Lze i mezi dvěma vzdálenými stroji... Úloha: Zjistěte z manpage, jak zkopírovat pomocí scp celý strom.

Manipulace s uživateli id who who am i whoami finger (i vzdáleně) last lastlog

Manipulace s uživateli Úloha: napište příkaz, který spočítá počet uživatelů přihlášených na stroji (duplicity klidně započítejte, filtrovat je zatím neumíme).

Povídejme si... Nějak se napárujte talk (lze i vzdáleně) write mesg Úkol: Potěšte kolegu nějakým hezkým dárečkem, například mu zapípejte nebo mu věnujte nějaký soubor. reset

Úvod do UNIXu, cvičení 4 Backticky Velká úloha na dosud probranou látku

Backticky `příkaz` Provede příkaz, jeho výstup dosadí zpět na příkazovou řádku a tu vykoná echo 'ls -l /etc/' > soubor `cat soubor`

Backticky Lze též nahradit $( ), který lze i poměrně rozumně vnořovat. Úloha: Napište příkaz, který spočítá počet znaků v prvních třech souborech v /usr/bin začínajících na písmeno 'c'. Vyhněte se řešení, které by počítalo ve více souborech, než je nezbytně nutné.

Backticky Úloha: Chceme napsat sekvenci příkazů, která v závislosti na datu spuštění spustí předpřipravený příkaz pro tento den. Adresářová struktura 2007-03-12/ 2007-03-12/cmd příkaz ke spuštění 2007-03-12/param parametry 2007-03-12/out jméno výstupu hint: date s vhodným výstupním formátem.

Větší úloha ( Milostné SMS ) Každý večer chcete poslat své drahé polovičce jednu SMS (ideálně jinou). Ale aby se nestalo, že na to někdy zapomeneme, napíšeme si skript, který to bude dělat za nás a SMSky si sepíšeme předem do souboru. wget http://www.bofh.cz/links/sms.txt Napište posloupnost příkazů, která: Odebere jeden řádek ze souboru se zprávami. Zprávu pošle mailem. Uloží SMSku i s datumem odeslání do souboru.

Úvod do UNIXu, cvičení 5 Proměnné Linky sort, uniq, tr, cut

Proměnné Přiřazení NAME=VALUE před rovnítkem nesmí být mezera! Vložení hodnoty $NAME ${NAME}

Proměnné Obdobně jako u backticků je nutno i u proměnných dávat pozor na mezery. A= X Y echo $A echo $A

Proměnná $PATH Úloha: Vytvořte si funkční kopii cp s názvem kopiruj někde ve svém domovském adresáři (například v podadresáři bin/). Proč není dobrý nápad mít v cestě.?

Linky Hardlinky Dnes se už příliš nepoužívá, není přehledné Ztotožnění souboru Nelze na adresáře ln [target] [link] ls -i umožní odhalení (mají stejné # inody) Softlinky / symlinky Jasné a zřejmé Možnost zacyklení Lze i adresáře ln -s [target] [link]

sort, uniq sort -n numerický -r opačně -s stabilní (nestandardní rozšíření) -u unikátní -t separátor -k POS1[,POS2] podle čeho se bude třídit uniq -d pouze duplicitní řádky -u pouze unikátní řádky

cut cut -d separátor -b oddělovat po bajtech -c oddělovat po znacích -f oddělovat po polích

sort, uniq, cut Úloha: Setřiďte /etc/passwd podle skutečného jména uživatele. Úloha: Setřiďte /etc/passwd podle UID uživatele. Úloha: Z deseti posledních přihlášení vypište jména uživatelů. Každého vypište pouze jednou.

sort, uniq Úloha: Vypište (pouze) jméno skupiny s třetím největším GID. Úloha: Vypište, kolik uživatelů používá který login shell (hint: vhodný parametr uniq) Domácí úloha: Vyberte deset naposledy přihlášených uživatelů na daném počítači (a to bez cyklů a podmínek).

tr Úloha: Implementujte šifru ROT13 pomocí příkazu tr.

Úvod do UNIXu, cvičení 6 tr cut, paste, split Úvod do regulárních výrazů grep, sed a ed

tr tr A B Mění n-tý znak z posloupnosti A na n-tý znak z posloupnosti B Možnosti zadání výčtem rozsah A-Z třídy znaků [:alpha:], [:alnum:], [:blank:] Parametry -d maže znaky v množině A -s z opakovaných výskytů znaků z A udělá jeden výskyt

tr Úloha: Upravte svou vlastní kopii /etc/passwd tak, aby bylo vše pouze velkými písmeny.

paste, split paste opak cut, jako parametry se dají názvy souborů. Ty jsou pak chápány jako sloupce, které paste slepí (mezi ně vloží oddělovač) split rozdělí větší soubor na menší kusy podle bajtů (-b) či řádků (-l) split [zdroj] [prefix] generuje pak soubory ve tvaru: prefixaa, prefixab, prefixac,...

cut, paste, split Úloha: Vypište prvních třicet uživatelských jmen z /etc/passwd do pěti sloupečků po šesti řádcích.

cut, paste, split Úloha: Japonská jména zapsaná v latince se obvykle píší ve tvaru PŘÍJMENÍ Jméno. Upravte výstup getent passwd tak, aby položka skutečného jména byla v tomto tvaru. Na vstupu očekávejte Jméno Příjmení. Vstup: jednt7bm:x:31337:0:tomáš Jedno:/:/bin/bash Výstup: jednt7bm:x:31337:0:jedno Tomáš:/:/bin/bash

Regulární výrazy Obyčejné (BRE) vs. rozšířené (ERE) Rozšířené je třeba zvlášť zapnout: sed -r grep -E Rozšířené mohou být pohodlnější, obyčejné budou zase fungovat všude. BRE:. * \{\} \(\) ^ $ [ ] ERE:. * {} () ^ $ [ ] +?

Regulární výrazy Úloha: Vyberte uživatelské řádky, které jsou starými uživateli (tedy formát xxxxnnnn, kde x je libovolné písmeno a N libovolné číslo). Úloha: Totéž pro nové uživatele tam je formát xxxxxnxx. Úloha: Vyberte uživatele, kteří nespadají ani do jedné z těchto kategorií. Vyzkoušejte si BRE i ERE.

Úvod do UNIXu, cvičení 7 grep, sed diff, comm

diff, comm Úloha: Ověřte, zdali je soubor /etc/passwd setříděný podle UID. Úloha: Porovnejte soubor /etc/passwd s výstupem getent passwd a vypište první řádek, který se liší.

grep, sed Úloha: Napište posloupnost příkazů, která odstraní všechny komentáře ze skriptu.

grep, sed Úloha: Vypište seznam všech uživatelů, kteří se jmenují Jan (nikoli však už například Jana). Úloha: Výpis předchozí úlohy naformátujte do podoby: UID = Jméno Tedy například: 43013 = Jan Šembera

Úvod do UNIXu, cvičení 8 grep, sed find

grep, sed Úloha: Nahraďte C++ komentáře C komentáři. Vstup: bla bla bla; // komentar podle C++ Vystup: bla bla bla; /* komentar podle C */

grep, sed Úloha: Vyberte z getent passwd uživatele v novém formátu. V nich najděte ty, jejichž skutečné jméno neodpovídá jejich přihlašovacímu jménu (pokud tací jsou pravděpodobně to budou ti, kteří mají příjmení kratší než čtyři znaky a dále vdané studentky).

grep, sed Úloha: Na vstupu jsou řádky ve formátu uid:username. Vygenerujte z nich soubor ve formátu /etc/passwd, tak, že: místo hesla je 'x' gid = uid prázdné jméno domovský adresář /home/username shell /bin/sh Odvážní zkusí ignorovat uid v souboru, ale vygenerují si ho nějakou posloupností (aby každý měl jiné).

find Úloha: Najděte soubory v adresáři /etc, které byly změněny během posledního týdne.

Úvod do UNIXu, cvičení 9 find, grep, sed, expr...

find Úloha: Najděte všechny soubory v adresáři /usr/lib (včetně podadresářů), které obsahují v názvu dva znaky a. Úloha: Vypište setříděně (nejvíce výskytů na začátku) počet souborů jednotlivých typů v adresáři /usr/bin (opět včetně podadresářů). Pro určení typu použijte příkaz file.

sed Úloha: Sečtěte dohromady všechna UID v /etc/passwd pomocí expr. Úloha: Napište skript, který v nějakém adresáři (opět včetně podadresářů) změní ve všech souborech s příponou.c řetězec 'int' na 'long'.

Struktura e-mailu From <adresa> <datum> Klíč1: Hodnota Klíč2: Hodnota... KlíčN: Hodnota Obsah mailové zprávy

sed Úloha: Vypište soubor od konce (tj. obraťte pořadí řádků, pořadí znaků na řádce zachovejte).

Úvod do UNIXu, cvičení 10 Shell

seq Nestandardní nástroj seq generuje číselné posloupnosti: seq 5 1 2 3 4 5 seq 3 6 3 4 5 6 seq 10 5 30 10 15 20 25 30 Úloha: Napište ve standardním shellu skript, který se bude chovat stejně.

seq Úloha: Nyní použijte váš hotový seq ke stažení obrázkové galerie. Obrázky jsou obvykle pojmenovány za sebou. Ukázková galerie je předpřipravena na http://www.ms.mff.cuni.cz/~sembj3am/g/

Úvod do UNIXu, cvičení 11 Shell

Drobné varování i=1 cat /etc/passwd while read X; do i=`expr $i + 1` done echo $i

Drobné varování while read X < /etc/passwd; do echo $X done while read X; do echo $X done < /etc/passwd

Přesměrování echo a 3>&2 2>&1 1>&3

Přesměrování IFS= : cat /etc/passwd while read Y Y c Y; do... read Z < /dev/tty... done;

Dočasné soubory PID=$$... echo bla > /tmp/lala.$pid...

which Nástroj which vypíše jméno souboru, který se spustí, pokud napíšeme nějaký příkaz (postupně prochází $PATH a hledá ve všech adresářích daný soubor). which cp /usr/bin/cp Úloha: Napište ve standardním shellu (či v awk) skript, který se bude chovat stejně.

Hromadné přejmenování Úloha: Napište skript, který hromadně přejmenuje soubory s příponou.jpg na soubory s příponou.png, tedy například abc.jpg -> abc.png