Název školy: | Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 |
Autor: | Ing. Marek Nožka |
Anotace: | Ovládání příkazového interpretu -- samostatná práce |
Vzdělávací oblast: | Informační a komunikační technologie |
Předmět: | Počítačové sítě a komunikační technika (PSK) |
Tematická oblast: | Operační systém Linux/Unix |
Výsledky vzdělávání: | Žák samostatně vytvoří jednoduchý skript pro příkazové prostředí |
Klíčová slova: | Linux, Unix, shell, bash, skript |
Druh učebního materiálu: | Online návod pro samostatné cvičení |
Typ vzdělávání: | Střední vzdělávání, 4. ročník, technické lyceum |
Ověřeno: | VOŠ a SPŠE Olomouc; Třída: 4L |
Zdroj: | Vlastní poznámky, Vilém Vychodil: Linux Příručka českého uživatele |
JMENO
, do které uložíte své jméno a příjmení.DNES
a uložte do ní výstup programu date
.a
nebo b
nebo c
a mají příponu .txt
test
.test
./usr/share/doc/bombardier/
nakopírujte do právě vytvořeného adresáře test
.~/test/bombardier
) soubor README
na CTIME
.copyright
mohl číst a zapisovat jen vlastník.licence
, který bude odkazovat na soubor copyright
.abc
pro soubor copyright
.seznam.txt
.
(Samozřejmě pomocí nástrojů příkazové řádky.)Vytvořte skript, který vás upozorní na změny v rozvrhu. Změny v rozvrhu se nachází na http://www.spseol.cz/data/rozvrhy/suplobec.htm. Dále budete potřebovat:
wget
grep
cmp
nebo comm
nebo diff
at
tee
-- zapíše vstupní proud do souboru a na výstupif ...
1 #!/bin/bash
2
3 TRIDA=4L
4
5 # rolování
6 mv suplovani suplovani-old
7
8 wget -O - http://www.spseol.cz/data/rozvrhy/suplobec.htm |
9 cstocs cp1250 ascii | # zbavím se diakritiky
10 html2text | # vyrendruji HTML
11 egrep -i "$TRIDA|[0-9]+.[0-9]+.[0-9]+" | # zobrazím jen řádek s datem a třídou
12 tee suplovani # zapíšu na výstup a navíc do souboru
13
14
15 if (! cmp suplovani suplovani-old &>/dev/null;)&&(egrep -i $TRIDA suplovani &>/dev/null ;); then
16 # pošlu si výpis na mail
17 # ale jen za předpokladu, že od minulého spuštění se něco změnilo
18 # a zároveň
19 # je moje třída obsažena ve výpisu
20 mail -s suplovani nozka@spseol.cz <suplovani
21 fi
22
23
24 # Tento skript naplánuje spuštění sebe sama za 20 minut
25 at now + 20 minutes <<EOF
26 $0 &>/dev/null
27 EOF
28
29
`--> stáhnout
Vytvořte skript, který přejmenuje soubory tak, aby jejich jméno obsahovalo datum poslední změny souboru:
soubor.txt --> 2012_09_28-soubor.txt
Budeme potřebovat
if
for
$( )
basename
-- jméno souborudirname
-- adresář ve kterém je soubortest
-- porovnávání řetězců, čísel, souborůcut
-- výpis sloupcůls
s parametrem --time-style
date
1 #!/bin/bash
2
3 for soubor in "$@"; do
4 # jestliže soubor existuje
5 if [ -f $soubor ]; then
6 datum=$(ls -l --time-style="+%F" $soubor | cut -d ' ' -f 6 )
7 jmeno=$(basename $soubor)
8 adresar=$(dirname $soubor)
9 mv -v $soubor $adresar/${datum}_${jmeno}
10 fi
11 done
`--> stáhnout