I'm using ssh to connect to my remote server. I'm able to do so fine using the regular SSH commands, but using lftp to connect requires prepending sftp:// to the address for it to work. What's the difference between using the address (hostname@domain-name) versus prepending sftp://?
1 Answer
The sftp
command-line utility only supports one file-transfer protocol, SFTP. Similarly, the scp
utility only supports SCP. If you invoke one of those utilities to transfer a file, it's a given that you want the utility to use the one protocol that it supports.
lftp
on the other hand supports half a dozen different file transfer protocols. From the link:
lftp can handle several file access methods - FTP, FTPS, HTTP, HTTPS, HFTP, FISH, SFTP and file ...Besides FTP-like protocols, lftp has support for BitTorrent protocol as `torrent' command. Seeding is also supported.
So if you invoke lftp
to transfer a file, it makes sense that you'd have to tell it somehow what protocol you want to use.
Beyond that, sftp
and lftp
are different programs, with different capabilities, written and maintained by different groups of people. There's no reason to expect them to accept the exact same command-line parameters.