Úkol Vytvořit soubor – touch file Zpřístupnit ho ostatním studentům, ale ne mě (uživatel tupost) – lze to? Na čem to závisí? – závisí to na tom, zda jsou.

Slides:



Advertisements
Podobné prezentace
Pro začátek něco lehčího
Advertisements

Úvod do programování Malá kouzla s příkazovým řádkem
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
ŘÍDÍCÍ STRUKTURY - PODMÍNKY
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
MATLAB vytváření funkcí, grafika
Operační systém UNIX Soubory a adresářová struktura Roman Danel
Vytváření, použití dávkových souborů
VISUAL BASIC Práce se soubory.
ALGO – Algoritmizace 1. cvičení
Algoritmy I. Cvičení č. 10.
Příkazový řádek Windows
Shell jako programovací jazyk Příkazy větvení Dva operátory pro tvorbu podmíněných příkazů if, case Obecný formát: if podmínka then příkaz1 [else příkaz2]
UŽITEČNÉ PROGRAMY – MŮJ PRVNÍ SKRIPT Spustíme více prográmků najednou. SPŠ Teplice - 3.V.
Algoritmy I Cvičení č. 3.
Příklady z Matlabu 4 Příklady na řídící příkazy , IF , SWITCH , FOR , WHILE , příkazy vstupu a výstupu INPUT a DISP.
MATLAB® ( část 3 - scripty).
Vzdělávací materiál / DUMVY_32_INOVACE_02B14 Příkazový řádek: obsah souborů PŘÍKLADY AutorIng. Petr Haman Období vytvořeníLeden 2013 Ročník / věková kategorie3.
Vzdělávací materiál / DUMVY_32_INOVACE_02B10 Příkazový řádek: úvod AutorIng. Petr Haman Období vytvořeníListopad 2012 Ročník / věková kategorie3. ročník.
Vzdělávací materiál / DUMVY_32_INOVACE_02B15 Příkazový řádek: uživatelské účty AutorIng. Petr Haman Období vytvořeníLeden 2013 Ročník / věková kategorie3.
Vzdělávací materiál / DUMVY_32_INOVACE_02B16 Příkazový řádek: uživatelské účty PŘÍKLADY AutorIng. Petr Haman Období vytvořeníLeden 2013 Ročník / věková.
Přístupová práva, maska přístupových práv Jiří Hořejší.
Internetové technologie Informatika pro ekonomy II přednáška 8.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
MATLAB LEKCE 1.
Shell Team Jan Kupka Petr Kykal Tomáš Paríšek si Vám dovoluje představit
Operační systém UNIX - vznik v roce 1969, Bell Laboratories (AT&T), Denis Ritchie, Ken Thompson (důraz na souborový systém) - reakce na krachující MULTICS,
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
JavaScript Podmínky, cykly a pole.
3. Příkazy  Příkazy dělíme na jednoduché a strukturované.  Jednoduché příkazy - žádnou jejich dílčí částí neni příkaz - přiřazovací, vstupu a výstupu,
Výpočetní technika a algoritmizace I
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost Číslo projektu: CZ.1.07/1.5.00/ Číslo materiálu: VY_32_INOVACE_PSK-4-09.
Dynamické dokumenty na straně serveru Informatika pro ekonomy II přednáška 8.
UNIX — doplňky Informatika pro ekonomy II přednáška 9.
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Napište program v C pro výpočet plochy obdélníka se stranami A=3 a B=2. Výsledek vytiskněte s patřičným komentářem na obrazovku formátovým příkazem printf.
UNIX Shell skripty Roman Danel VŠB TU Ostrava, Hornicko – geologická fakulta.
Základy syntaxe jazyka PHP PHP JE TECHNOLOGIE BĚŽÍCÍ NA SERVERU. PHP JE TECHNOLOGIE BĚŽÍCÍ NA SERVERU. Typický PHP skript obsahuje: Typický PHP skript.
Databázové systémy 2 Zkouška – 8:00. Příklad I – Procedura – 5 bodů Vytvořte proceduru P_ZK2(p_table_name VARCHAR2, p_min_nuls NUMBER, p_drop.
Problémy s češtinou České znaky se standardně nepovažují za alfanumerické znaky (\w) Vadí to při třídění vyhodnocování regulárních výrazů Je třeba použít.
Úvod do UNIXu (4 th round) David Hoksza (většina sekce o vi a obrázek na slidu 7 převzat od Libora Forsta –
Operační systém GNU Linux Příkazy pro správu procesů.
PV175 SPRÁVA MS WINDOWS I Podzim 2008 Skriptování.
Operační systém GNU Linux
JUI přednáška Vstup a výstup, cykly RNDr. Jiří Dvořák, CSc.
Martin Štulc Jan Šváb Jan Kolena Simulace operačního systému Katedra informatiky a výpočetní techniky Západočeská univerzita v Plzni.
Úvod do UNIXu (5th round)
ZÁKLADNÍ POJMY. ZDROJOVÝ TEXT PROGRAMU Tvoří: klíčová slova komentáře identifikátory.
Pascal – strukturované příkazy
Úvod do UNIXu (6th round)
Operační systém GNU Linux Příkazy pro práci se soubory.
Úvod do UNIXu (6 th round) David Hoksza
Úvod do UNIXu (2 nd round) David Hoksza (obrázky na slidech 9, 12, 15 převzaty od Libora Forsta –
Úvod do UNIXu (4 th round) David Hoksza (většina sekce o vi a obrázek na slidu 7 převzat od Libora Forsta –
Operační systém UNIX Příkazové prostředí UNIXu: příkaz [argumenty] [jméno] Ve jménech příkazů a parametrech se rozlišují malá a velká písmena.
Úvod do UNIXu (6 th round) David Hoksza
Operační systém GNU Linux
Výpočetní technika a algoritmizace I Základní příkazy příkazového řádku v systému Windows a unixových systémech.
Batové dávky Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Vojtěch Mrózek. Dostupné z Metodického portálu ISSN: ,
Moduly.
CHOICE příkaz slouží k ovládání dávkového souboru, pomocí toho příkazu, můžete povolit provedeni jen určité části kódu dávkového souboru, ten to kód musí.
Linux - skripty Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Vzorové řešení zápočtového testu
Algoritmizace a programování
Dávkové soubory Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Programujeme lépe a radostněji
Linux-příkazový řádek
Podprogramy.
Základní příkazy OS UNIX (1)
Command line nástroje Jednoúčelové, ale mocné nástroje pro transformace textu Jak získat: Linux (a Mac) – součást operačního systému Windows – musí se.
Transkript prezentace:

Úkol Vytvořit soubor – touch file Zpřístupnit ho ostatním studentům, ale ne mě (uživatel tupost) – lze to? Na čem to závisí? – závisí to na tom, zda jsou ostatní studenti ve stejné uživatelské skupině – chmod g+rwx file Vytvořit adresář a v něm soubory tak, že půjde číst pouze daný soubor (pro skupinu a ostatní uživatele) – mkdir dir; touch dir/file1; touch dir/file2; – chmod 711 dir; – nalogovat jako jiný uživatel – cat ~user/dir/file1; Přesvědčit se, že zkopírováním souboru se mění vlastník – cp ~jiny_user/file1 ~/file2 – ls –l file2 Nalézt příkaz, který vylistuje skupiny ve kterých jste (pouze a jenom skupiny) – apropos group – groups

Úkol vypište loginy všech uživatelů systému – cut /etc/passwd -d: -f1 vypište UID a domovské adresáře všech uživatelů – cut /etc/passwd -d: -f1,6 nahraďte oddělovače v /etc/passwd za tabulátory a uložte do nového souboru (použijte | pro přesměrování příkazu cat) – cat /etc/passwd | tr ":" "\t" vyberte soubor a změnte ho tak, aby obsahoval pouze velká písmena – cat /etc/passwd | tr “[:lower:]" " [:upper:] “ – cat /etc/passwd | tr “a-z" " A-Z" setřiďte /etc/passwd podle loginů – login je první – sort /etc/passwd Jak smazat zvolené soubory bez použití přepínače –delete v find? – find. –maxdepth 1 –name “*.c” –exec rm {} \;

Úkol 1.Jaký je rozdíl mezi: cat file >log 2>&1 cat file 2>&1 >log Nevíte-li – vyzkoušejte. 2.Vypište do souboru všechny uživatele systému setříděné podle abecedy odzadu a k nim jejich skupiny oddělené od sebe tabulátorem (asi budete potřebovat alespoň jeden mezisoubor) cat /etc/passwd | cut -d: -f1 > ~/p1; cat /etc/passwd | cut -d: -f4 | sort -r > ~/p2; paste ~/p1 ~/p2; rm ~/p1 ~/p2 3.Setřiďte na obrazovku soubory v /etc (ne v podadresářích) od souboru s největším počtem řádku k souboru s nejmenším počtem řádků a na výstup vydejte dvojici s informací o jméně a počtu řádek 4.Viz. předchozí, ale vypište pouze jména souborů 5.Viz. předchozí, ale vypište pouze první tři 1.find /etc –maxdepth 1 –name “*” –type f –exec wc –l {} \; 2>/dev/null | sort –n –r | cut –d\ -f2 | head –n 3 6.Vypište všechny uživatele systému velkými písmeny do souboru a obsahuje-li název písmena, tak je nahraďte za tečky a vypisujte pouze neduplicitní řádky (napověda – mrkněte do helpu k sortu) 1.cat /etc/passwd | cut –d: -f1 | tr “[:lower:][:digit:]” “[:upper:].” | sort –u > xxx

Úkol 1.vytvořte textový soubor kde v obsahu bude mimo jiné “x+y=(23*5)” a vytvořte regulární výraz, který najde právě tento výraz 1.x\+y=\(23\*5\) 2.Co je nalezeno výrazem [[]] ? 1.[], ale ne pouze jeden z nich 3.Vyhledejte všechny čísla v textu 1.\b\d+\b 4.Vyhledejte v textu všechna rodná čísla. 1.\d{6}/\d{3,4} 5.Vyhledejte v textu všechny výskyty IP adres. 1.\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b

Úkol 1.Nahraďte všechný výskyty slova black za white 1.sed "s/black/white/g" file 2.Smažte první 2 řádky souboru 1.sed “1,2 d" file 3.Smažte jednořádkové C komentáře (začínají // a pokračují do konce řádku) 1. sed "s/\/\/.*//" tests 4.Viz. předchozí, ale pokud komentář začína na začátku řádky, tak také smazat danou řádku (tj. po minulém příkladě můžou zbýt prázdné řádky a tyto odstranit) 1. sed "s/\/\/.*//" tests | sed "/^$/ d" 5.Vypište do souboru even řádky souboru začínající na sudé číslo 1.sed -n "/^[0-9]*[02468][^0-9]/ p" file > even

Úkol 1.Vytvořte skript, který najde všechny céčkovské zdrojáky v aktuálním adresáři a jejich název uloží do proměnné definované jako argument skriptu. Zde by se mohlo zdát, že řešení spočívá ve vyexportování proměnné a její název předat do skriptu (bez vyexportování nebude v subshellu vidět!!!). Problémem je, že jediná komunikace od potomka k rodiči je přes návratovou hodnotu!!! Návratová hodnota je ovšem pouze číslo!!! Jediným řešením, které je přibližné zadání je napsat skript, který bude požadovanou informaci dávat na výstup a tuto informaci uložit do chtěné proměnné “zvenku”: script.sh: ls *.c x=`sh script.sh` echo $x 2.Spusťte najednou výpis dvou souborů (pomocí 2 příkazů cat) a výstup obou zapište do jednoho výstupního souboru. (cat file1; cat file2) > file12 3.Napište skript, který pro zadaného uživatele vypíše počet jeho procesů. ps -u $1 | wc -l

Úkol 1.Zkraťte následující kód na jednořádkový zápis (myslí se na 1 příkaz): if [ -n "$1" ] ; then param1=$1 ; else param1=20; fi param1=${1:-20} 2.Vytvořte skript, který dostane jako vstup soubor a na výstup dá pouze řádky s délkou vetší než konstanta. width=72 if [ ! -r "$1" ] ; then echo "Usage: $0 filename" >&2; exit 1 fi while read input; do if [ ${#input} -gt $width ] ; then echo "$input" | fmt else echo "$input" fi done < $1 exit 0

Úkol 3.Spočítejte průměr čísel, které jsou argumentem vstupu. for i in $* ; do temp_total=`expr $temp_total + $i` done avg=`expr $temp_total / $number_of_args` echo "Average of all number is $avg" 4.Spočítejte faktoriál čísla zadaného ze standardního vstupu n=0; nconst=0; fact=1 echo -n "Enter number to find factorial : " read n nconst=$n while [ $n -ge 1 ]; do fact=`expr $fact \* $n` n=`expr $n - 1` done echo "Factorial for $nconst is $fact" 5.Najděte způsob, jak zjistit, kolik instancí shellu běží pod daným uživatelem. ps | grep "bash" | wc –l