Примерно так:
tar --create --file=- --directory=/dir1 ./ | gzip -c |
curl -T- tftp://192.168.20.10/gzipimage.tar.gz
(разделены на две строки для удобства чтения)
curl's -T
позволяет читать загруженный файл из stdin, когда вместо файла используется '-' имя. Но когда это так, у него нет имени файла для добавления к URL-адресу, поэтому лучше указать полное имя в URL-адресе, на который вы загружаете.