Unixové systémy – úkoly
Cvičení 1
–
V MS Windows případně stáhněte a spusťte program PuTTY (Download
PuTTY, Alternative binary files, putty.exe
, 64-bit x86), připojte (přihlašte)
se pomocí něj pod svým uživatelským jménem na server
phoenix.inf.upol.cz
a odpojte (odhlašte) se z něj.
–
V MS Windows případně stáhněte a spusťte program WinSCP (Download,
other downloads, Portable executables, Download,
WinSCP-x.y.z-Portable.zip
), připojte (přihlašte) se pomocí něj pod
svým uživatelským jménem na server phoenix.inf.upol.cz
, zkopírujte
nějaký soubor nebo adresář z MS Windows na server a zpět a
odpojte (odhlašte) se
ze serveru.
Cvičení 2
–
Přihlašte se v grafické přihlašovací obrazovce (GDM) pod svým
uživatelským jménem do unixového systému (Linux) a následující
provádějte v něm. (V případě Linuxu na učebně je nutné se
před prvním přihlášením zde nejdříve přihlásit pomocí SSH na
server phoenix.inf.upol.cz
! – pomocí PuTTY
v MS Windows nebo programu ssh v Linuxu a macOS)
– V grafickém desktopu (Gnome) spusťte dostupný prohlížeč souborů (Soubory), webový prohlížeč (Firefox) a textový editor (Gnome Text Editor, Gedit), přepínejte mezi jejich okny, okny posunujte, přesuňte je na další plochu desktopu, přepínejte plochy.
– Zkontrolujte v grafickém desktopu (Gnome) dostupnost anglického i českého rozložení klávesnice, pokud některé z nich není, přidejte jej (Nastavení, Region a jazyk/Klávesnice), a přepínejte mezi nimi.
–
Pomocí aplikace Prohlížeč vzdálené plochy (Vinagre) se připojte
(přihlašte) pod svým uživatelským jménem na server 1.
phoenix.inf.upol.cz
(SSH), 2. ts.inf.upol.cz
(RDP) a odpojte
(odhlašte) se z něj.
–
V dostupném prohlížeči souborů (Soubory) si připojte pod svým
uživatelským jménem síťový disk 1. phoenix.inf.upol.cz
(ssh/sftp), 2.
dragon.inf.upol.cz/students-homes/PortalID
(smb, kde PortalID
je
vaše uživatelské jméno), zkopírujte nějaký soubor nebo adresář z Linuxu na disk a zpět a disk odpojte.
– Prohlédněte si nápovědu grafického desktopu (Gnome) a nakonec se ze systému odhlašte.
Cvičení 3
– V grafickém desktopu spusťte aplikaci emulace terminálu (Terminál, Konsole apod.) a následující provádějte v této aplikaci (terminálu).
– Napište do příkazové řádky terminálu (za výzvu, prompt) jakýkoliv text, pohybujte po něm kurzorem (klávesy ← a →, C-← a C-→, M-← a M-→, Home, End, C-a, C-e), editujte jej (klávesy Del, C-d, M-d, Backspace, C-t, M-t, C-u, C-k, C-y, označení textu myší a stisk kolečka, S-C-c, S-C-v) a potvrďte (klávesa Enter).
Zobrazte nápovědu příkazového interpretu (shellu) k příkazu echo. Obrazovku terminálu si případně posuňte zpět (klávesy S-PgUp, S-PgDn, kolečko myši).
Pomocí příkazu echo zobrazte Unicode znak s hodnotou (šestnáctkově) 1F600.
Prohlédněte si manuálovou stránku programu date (po zobrazení klávesy ↑ a ↓, kolečko myši, PgUp, PgDn, h, q).
Pomocí programu date (a jeho manuálové stránky) zobrazte (do terminálu) aktuální datum ve tvaru DD. MM. RRRR (včetně mezer za tečkami).
Pomocí programu ssh se připojte (přihlašte) pod svým uživatelským
jménem na server phoenix.inf.upol.cz
a odhlašte se z něj.
– Listujte historií zadaných příkazů (klávesy ↑ a ↓, M-<, M->), vyhledejte příkaz z historie (klávesa C-r a zadávání textu, zrušení zadávání C-g).
Cvičení 4
Zobrazte cestu k aktuálnímu adresáři.
Zobrazte seznam všech souborů a podadresářů, včetně tzv. skrytých (neviditelných), v aktuálním adresáři (= obsah adresáře) s podrobnějšími informacemi (jméno, velikost, datum, práva aj.) o nich.
Zobrazte velikost aktuálního adresáře (program du).
Vytvořte adresář tmp
, vejděte do něj a vyjděte z
něj do nadřazeného (rodičovského) adresáře.
– Při zadávání příkazů, jmen programů a souborů nebo adresářů stiskněte (opakovaně) klávesu Tab!
–
Pomocí (grafického) programu gedit (Textový editor) upravte obsah
souboru welcome.html
v adresáři
~/public_html
(v domovském adresáři, na serveru
phoenix.inf.upol.cz
je tento soubor interpretován jako webová stránka
na adrese http://phoenix.inf.upol.cz/~login
,
kde login
je vaše uživatelské jméno).
Zobrazte obsah souboru welcome.html
(programy
cat, less, klávesy ↑ a
↓, kolečko myši, PgUp,
PgDn, / text a Enter, ?
text a Enter, n,
N, h, q).
Zkopírujte soubor welcome.html
do souboru index.html
, ten přejmenujte
na main.html
a poté tento smažte (s volbami
postupně -i
a -f
). Zkopírujte
adresář public_html
na adresář web
a poté tento smažte.
Pomocí programu scp zkopírujte soubor
welcome.html
pod svým uživatelským
jménem na server phoenix.inf.upol.cz
do souboru
/tmp/login.html
(kde login
je
vaše uživatelské jméno) a poté tento soubor zkopírujte zpět ze
serveru do adresáže /tmp
na Linuxu.
Vyhledejte (všechny) soubory v domovském adresáři větší než 1 kB a (současně) nemodifikované dříve než jeden den zpět.
Cvičení 5
Vytvořte symbolický odkaz index.html
na kopii souboru welcome.html
,
kopii smažte, opět vytvořte a pak smažte odkaz. Mezi kroky si zobrazte
obsah adresáře s odkazem a soubory s podrobnějšími informacemi (o
odkazu).
Zobrazte skupiny, do kterých (váš
) uživatel patří, a obsah adresáře
s informacemi o vlastnících, skupinách a právech souborů a podadresářů.
Odeberte souboru welcome.html
právo zápisu
(vlastníkovi) a zkuste do něj zapsat
(např. programem gedit), právo čtení a zobrazit jeho obsah, poté práva
souboru vraťte.
Odeberte adresáři public_html
právo vstupu (všem uživatelům) a zkuste
zobrazit jeho obsah a vstoupit do něj, poté právo vraťte a odeberte
právo čtení a opět zkuste zobrazit jeho obsah a vstoupit do něj, pak
opět právo vraťte.
Nastavte všechna práva vlastníkovi a pouze právo vstupu skupině a
ostatním uživatelům adresáři ~/public_html
(v domovském adresáři).
–
Zkuste v adresáři /tmp
vytvořit soubor a smazat cizí soubor.
Připojte USB flash disk, zobrazte informaci o obsazeném a volném místě na něm (program df).
Cvičení 6
Zobrazte výpis všech procesů vašeho
a jiného uživatele, všechny
procesy v systému, dále ve stromové struktuře a nakonec pouze s informací o PID a
příkazu procesu.
Spusťte (grafický) program gnome-calculator, získejte PID jeho procesu a programem kill jej pozastavte (a zkuste jej ovládat), pak rozběhněte a ukončete. Spusťte jej poté znovu, z terminálu, a zavřete okno terminálu.
Spusťte (grafické) programy gnome-calculator a gnome-mines (v terminálu), první tzv. na pozadí a druhý tzv. na popředí. Druhý přesuňte na pozadí a první na popředí. Pak první ukončete (zavřete okno) a ukončete shell v terminálu (korektně, např. příkazem exit).
Zobrazte seznam všech souborů a podadresářů v adresáři /dev
se jménem
začínajícím ttycifracokoliv
, kde cifra
je 0 až 9, a ttynecifracokoliv
, kde necifra
není 0 až 9, a cokoliv je jakýkoliv řetězec.
Vytvořte soubory (např. pomocí programu touch) se jmény
* * *
(včetně obou dvojic mezer mezi *) a "1 & 2"
(včetně obou "
).
Cvičení 7
Zapište do souboru, (pouze) pomocí programu cat, text zadaný na vstupu terminálu a poté ještě přidejte text zapsaný přímo v příkazovém řádku.
Uložte výstup programu date do souboru a pak do něj přidejte výpis všech procesů v systému.
Zobrazte výstup programu date a výpis všech procesů v systému současně v programu less.
Přidejte do seznamu cest v proměnné shellu PATH
aktuální adresář (.
) a proměnnou exportujte.
Zobrazte, s využitím programu date (a jeho manuálové
stránky, konkrétně pak i přepínače -d 12/24
), počet dní
zbývajících do Štědrého dne (24. 12.) aktuálního roku.
Cvičení 8
Změňte kódování textu na vstupu z UTF-8 na cp1250, používaném na MS Windows, včetně správných konců řádků (na unixových systémech a MS Windows), a opačně.
– Vytvořte v textových editorech vim (vi), emacs (jed) a nano (pico) tabulku s několika řádky a sloupci (oddělenými např. tabulátorem) a vyzkoušejte si operace mazání znaků, slov, částí řádku, více řádků, kopírování a vložení částí řádku a několika řádků, undo a redo, vyhledání a náhrady řetězce za jiný a práci s více soubory a okny (otevření, zavření/uložení, přepínání).
– Vyzkoušejte (v příkazové řádce) klávesu C-x C-e a příkaz fc (včetně vyvolání příkazu začínajícího nějakým řetězcem).
Cvičení 9
Zobrazte očíslované řádky vstupu od 10. do 20. řádku včetně v opačném pořadí řádků.
Setřiďte (tabulkový) výstup programu df podle volného místa (čtvrtý sloupec) číselně sestupně.
Setřiďte výstup programu history podle příkazu, s odstraněním duplicitních příkazů (čísla příkazů ponechat).
Pomocí programů cut a paste prohoďte v tabulkovém vstupu (více než dva sloupce oddělené např. tabulátorem) první a druhý sloupec.
Zobrazte počet skupin, do kterých (váš
) uživatel patří.
Zobrazte na jednom řádku seznam všech uživatelů, pod kterými běží v systému alespoň jeden proces.
Cvičení 10
V textových editorech vim (vi), emacs (jed) a nano (pico) vyhledejte na základě regulárního výrazu čísla, i necelá s případně desetinnou čárkou a necelou částí, následovaná mezerami a jednotkou B, kB, MB, GB nebo TB.
Změňte velikosti všech písmen na vstupu z malých na velká.
Zobrazte pouze řádky souboru, které nejsou v jiném souboru, tj.
rozdíl
souborů (jako rozdíl množin).
Zobrazte pouze řádky vstupu obsahující číslo zapsané v šestnáctkové
soustavě začínající 0x
(s malými i velkými písmeny).
Zobrazte seznam pouze souborů a adresářů s letošním datem modifikace.
Zobrazte pouze řádky vstupu, které neobsahují dvě stejná čísla.
Cvičení 11
Odstraňte ze vstupu mezery na koncích řádků.
Zobrazte ze vstupu pouze všechna čísla, i necelá s případně desetinnou čárkou a necelou částí, každé na samostatný řádek.
Pomocí programu sed prohoďte v tabulkovém vstupu (více než dva sloupce oddělené např. tabulátorem) první a druhý sloupec.
Zobrazte ze vstupu, ve kterém některé řádky představují nadpisy uvozené číslováním 1., 1.1, 1.1.1 atd., pouze tyto nadpisy, bez číslování a ve stromové struktuře -- odsazením levého okraje podnadpisů od levého okraje nadřazeného nadpisu mezerou.
Cvičení 12
Pomocí programu awk zobrazte z tabulkového vstupu (sloupce oddělené např. tabulátorem) pouze dva sloupce specifikované v proměnných předaných awk při jeho spuštění.
Zobrazte, ze souboru /etc/passwd
, seznam
uživatelů ve tvaru login tabulátor plné jméno uživatele.
Z čísel ve sloupci v tabulkovém vstupu (sloupce oddělené např. tabulátorem) spočítejte jejich průměr.
Zobrazte ze vstupu obsahujícího (i vnořené) bloky textu začínající řádkem obsahujícím pouze slovo START a končící řádkem obsahujícím pouze slovo END pouze text bloků první úrovně (tj. není mimo bloky ani ve vnořených blocích).