V ZOO se stalo několik politování hodných nedopatření. Dej prosím vše do pořádku a použijte k tomu příkazový řádek — Shell. Při všech operacích (které zrovna nemažou nebo nevytváří), je třeba zachovat původní obsah souborů.

Celou adresářovou strukturu ZOO si můžete stáhout a rozbalit nebo to můžeš udělat jednoduchou kolonou:

1
2
curl  -fSL https://chytrosti.marrek.cz/psk/zoo.tar.gz | tar xz 
cd ZOO

Práce se soubory

  1. Přesuň zvířátka a lidi tam, kam patří:
    • Koza potřebuje ořezat rohy, aby netrkala — přejmenovat soubor.
    • Koza patří na pastvinu — adresář pastvina je třeba vytvořit.
    • Sova potřebuje zastřihnou pírka, aby neuletěla — také přejmenovat.
    • Alice a Bob se zatoulali mezi zvířata — přesuň je zpátky ke vchodu (do kořenového adresáře ZOO).
  2. Nastav přístupová práva tak, aby se k nebezpečným zvířatům dostal jen ošetřovatel — tedy jen vlastník souboru může číst a psát.
  3. Nastav přístupová práva tak, aby se na pastvinu (a ke kozám) dostali všichni a mohli si je pohladit — přidej právo pro zápis.
  4. Zajisti, aby se po ZOO (hlavně na paloučku) neválely odpadky (vymaž je!); dávej ale pozor na broučky a mravenečky, těm nesmíš ublížit.
  5. Vysyp odpadkový koš — tedy vymaž vše, co je v něm; koš samozřejmě nech kde je.
  6. Vytvoř symbolický odkaz cerv, který bude ukazovat na paloucek/zizala.
  7. Pro soubor klec/lev vytvoř další jméno (pevný odkaz) strom/kocicka.
  8. Aby rybička nebyla sama udělej jí do akvária její kopie — např. cejn, okoun.
  9. ZOO spolupracuje na záchraně ohrožených druhů: Zkopíruj klec a akvarium i s jejch obsahem do nového skrytého adresáře partner_zoo. (V tomto skrytém adresáři tedy bude podadresář klec a akvarium.)

Výsledek by měl tedy vypadat takto:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$ tree --dirsfirst -p
[drwxr-xr-x]  .
├── [drwxr-xr-x]  akvarium
│   ├── [-rw-r--r--]  cejn
│   ├── [-rw-r--r--]  okoun
│   └── [-rw-r--r--]  ryba
├── [drwx------]  klec
│   └── [-rw-------]  lev
├── [drwxrwxrwx]  odpadkovy_kos
├── [drwxr-xr-x]  paloucek
│   ├── [-rw-r--r--]  broucek-rNm4pKoWvE
│   ├── [-rw-r--r--]  broucek-tsxbiWCuji7
│   ├── [-rw-r--r--]  broucek-7aQsLfHzXc
│   ├── [-rw-r--r--]  kralik
│   ├── [-rw-r--r--]  mravenec-kPv9eLsGjN
│   ├── [-rw-r--r--]  mravenec-yuewgbco
│   ├── [-rw-r--r--]  mravenec-3BqTxUhYwD
│   └── [-rw-r--r--]  zizala
├── [drwxrwxrwx]  pastvina
│   └── [-rw-rw-rw-]  koza
├── [drwxr-xr-x]  strom
│   ├── [-rw-------]  kocicka
│   ├── [-rw-r--r--]  opice
│   ├── [-rw-r--r--]  papusek
│   └── [-rw-r--r--]  sova
├── [-rw-r--r--]  Alice
├── [-rw-r--r--]  Bob
├── [lrwxrwxrwx]  cerv -> paloucek/zizala
├── [-rw-r--r--]  mapa
└── [-rw-r--r--]  README

Vstupy, výstupy, přesměrování roury

  1. Než Alice a Bob odejdou, ať se zapíšou do knihy návštěv — spojení obou souborů zapiš do souboru kniha_navstev.
  2. Udělej zářez do mapy: výstup příkazu date zapiš na konec souboru mapa.
  3. Spočítej zvířátka na paloučku — kombinace ls a wc -l; výsledek ulož do souboru pocet.
  4. Najdi největší zvíře; tedy soubor, který je největší. Tady je trochu potíž, protože soubor na disku reálně zabírá víc místa (celé sektory) než je v něm uloženo dat. proto si vyzkoušej různé varianty du a sort.
    • du, du -h, du -ah, du -ah -b
    • | sort, sort -n, | sort -h
    • myslím, že je zajímavá i varianta find -type f | xargs du -b, protože ukazuje velikost jen běžných souborů a ne adresářů.

Procesy

  • Spusť program xeyes, pozastav jej, tak abys měl k dispozici terminál a znovu jej uveďte do popředí.
  • Spusť program xeyes na pozadí (bez předchozího pozastavení), poté jej z jiného terminálu pozastav, znovu rozběhni a ukonči.

Na stromě sedí papoušek (strom/papusek) a opice (strom/opice) — jsou to skripty.

  • Spusť skript papousek na pozadí. Možná bude trochu otravný :), takže ho ukončí. Vyzkouše si, že to umíš:
    1. z terminálu, ve kterém jsi ho spustil
    2. z jiného terminálu
  • Spusť skript opice. Opice umí být velmi otravné a není tak jednoduché se jich zbavit. Možná, že to v terminálu, ve kterém jsi ji vypustil bude velmi obtížné.

Související posty