This question already has an answer here:

The fish protocol is a sort of ftp over ssh, that is touted as not needing special software on the server side (unlike scp and sftp).

From a cursory glance it seems like it allows fish commands that fall back to basic shell commands if the server doesn't have the fish software installed. But why not just use the shell commands directly?

(The question linked to above explains the differences between the various protocals, but it doesn't explain the mechanism of fish, or why bother with the protocal if you are sending equivalent shell commands anyway.)

marked as duplicate by Stephen Rauch, user34720, Anthon, Satō Katsura, Archemar Jul 11 '17 at 11:10

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 2
    scp and ssh don't require "special" software; a secure shell server is all that is needed, and is a core package in nearly all Unix-like distributionns. – DopeGhoti Jul 10 '17 at 17:34
  • (fish also needs ssh. I referenced scp and sftp) I mean special as in a separate command, not as in unique or uncommon. See the linked page (in comments) where this is pointed out. – afuna Jul 10 '17 at 17:40
  • @bgvaughan - that is the question I linked to in my own question. This question is specifically about the fish protocal: since it includes basic shell commands running over ssh (and as such is advertised as not needing software on the server), what's the point of the protocal itself? – afuna Jul 10 '17 at 18:19
  • 1
    If SFTP isn't available, fish fails over to other commands. It's explained thoroughly in the answers to that other question. – bgvaughan Jul 10 '17 at 19:04
  • 1
    Is there a specific problem you're trying to solve? Because as far as I know, no one does bother with "fish". It's an obscure, probably obsolete, feature specific to Midnight Commander. – bgvaughan Jul 10 '17 at 22:26

Fish means FIles transferred over SHell protocol. It was designed for the midnight commander file manager and is not specifically bound to ssh. It can also run on rsh.

From the README.fish in the midnight commander package.

This protocol was designed for transferring files over a remote shell connection (rsh and compatibles). It can be as well used for transfers over rsh, and there may be other uses.

Not the answer you're looking for? Browse other questions tagged or ask your own question.