O Nautilus usa gvfs
para montar locais de armazenamento remotos, como o servidor SFTP em sua pergunta. Isso permite tratar o servidor remoto como se fosse parte do seu sistema de arquivos local. O caminho para o qual é montado geralmente é
/run/user/<your uid>/gvfs/<server specification>/<path>
Tenho quase certeza de que o prefixo é sempre
/run/user/<your uid>
para que você possa encontrar este ponto de montagem por ls
ou Tab -ing por esse diretório.
Depois de encontrar este ponto de montagem, você pode usar tee
como faria normalmente (com quebras de linha para clareza):
tar --exclude='./somefolder' -zc . \
| tee "/run/user/1000/gvfs/sftp:host=mydomain.ending/storage/location/on/server/sth.tar" \
| sha256sum
Como alternativa, você pode evitar uma montagem GVFS e ainda evitar a substituição de processo não portátil usando SSH em vez de SFTP:
tar --exclude='./somefolder' -zc . \
| ssh mydomain.ending 'tee "/storage/location/on/server/sth.tar"' 2>/dev/null \
| sha256sum
Infelizmente, sftp
o programa não permite enviar arquivos para um host remoto através de uma única linha de comando, apenas recuperá-los.
Como aponta @rudimeier, o método ssh
acima carrega e faz o download do arquivo para evitar o armazenamento local. Se você preferir não fazer o download novamente, talvez seja melhor fazer o sha256sum
remotamente:
tar --exclude='./somefolder' -zc . \
| ssh mydomain.ending 'tee "/storage/location/on/server/sth.tar" | sha256sum' 2>/dev/null