Ad #1:
Podle mě by to mohlo fungovat takto:
find . \! -name "*temp*" - newer "timestamp" | tar cvf - -I - | gzip > uloha16.tar.gz
A ještě k #1: možná je trochu problém, že zatímco find vypíše jeden každý soubor, tar zabaluje celé adresáře, takže vlastně každý soubor v podadresáři zabalí dvakrát (jednou jako součást podadresáře a podruhé jako vlastní soubor), v podpodadresáři třikrát, atd. GNU tar má na to volbu --no-recursion, ale Solaris zřejmě ne. Takže to chce asi přemluvit find, aby nevypisoval samostatné adresáře.
#2
Zde si nejsem jistý tím konečným přesměrováním, je to takhle možné prosím?
ssh sunray1@... -C 'tar -cf - $HOME/uloha16 | gzip' | gunzip | tar xvf - > $HOME/pom16
Nikoli. Program tar rozbaluje do aktuálního adresáře. Přesměrování výstupu akorát způsobí, že nebude vypisovat na konzoli jména souborů, které vytváří ale zapíše je do uvedeného souboru. Pokud chceš změnit adresář, do kterého má tar rozbalovat, je na to volba -C <jméno adresáře>.
Nejak nechapu, co chcete delat. Vy chcete zatarovat, co jiz bylo zatarovano, poslat to to gzipu a hned zase do gunzipu, aby se CPU zahralo a nasledne to zase roztarovat?
Předpokládám, že $HOME/uloha16 je adresář. A pokud se na ten příkazový řádek podíváš pořádně, zjistíš, že gzipování se provádí na vzdálené straně, zatímco gunzipování na lokální – jde tedy o efektivní využití přenosového kanálu.
Btw, zkousel jste se divat na rsync? Pokud vim, existuje i na Solaris a treba by se vam podarilo ho presne napasovat na to, o co se pokousite. Presne zadani znate vy, me porad trochu unika, o co *presne* se pokousite.
Vzhledem k tomu, že jde o školní úlohu s předepsanými nástroji není třeba přemýšlet nad účelností takového řešení