8. Cvičení z Úvodu do UNIXu (13. 4. 2017)


Obsah

Funkce a odkazy

Pro přehlednost kódu je dobré si jej členit (podobně jako v jiných programovacích jazycích) do samostatných funkcí. (Poznámka bokem: to se bude hodit i při zkoušce, když budete na jedno místo potřebovat zapsat víc příkazů a už se vám tam na papír nevejdou.)

  plus() {
  	      echo $(($1+$2))
  }
  plus 29 13
  

symlinky (někdy se jim říká také také softlinky) vytvoříme příkazem ln -s [odkud] [kam]

hardlinky vytvoříme příkazem ln [odkud] [kam]

Příklady

  1. Vytvořte si soubor a, a na něj hardlink b a symlink c. Podívejte se, co v souborech je. Jeden ze souborů změňte a znovu se podívejte.
  2. Napište rekurzivní funkci počítající faktoriál.
  3. Napište rekurzivní funkci počítající n-té Fibonacciho číslo.
  4. Vyzkoušejte si příkaz find. Vytvořte si složitější adresářovou strukturu (více vnořených adresářů, symlinky, a hardlinky). Nyní pomocí find vypište adresy všech:
    1. symlinků
    2. prázdných adresářů
    3. počet hardlinků na všechny soubory
    4. vyzkoušejte si také -exec echo "{}" ";"
    5. vyzkoušejte si také -exec rm "{}" ";" -- POZOR tohle bude pouštět rm na mnoho souborů!, nesmažte si nic důležítého!
    6. -print0 | xargs -0 echo
  5. Vyzkoušejte si sed 's/\([^ ]*\) \([^ ]*\)/\2 \1/'